Skip to content

segfaults on mac #1

Description

@Lord-Kamina

I found this by accident and wanted to try it, but am experiencing crashes.

I've noticed it faults on one of two lines, depending (I think, although might be a confounder) on whether the input is a wav or an mp3.

memset(test.fitness, 0, test.numIntervals * sizeof(real_t));

For an mp3:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               FindTempo [11297]
Path:                  /Users/USER/*/FindTempo
Identifier:            FindTempo
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        bash5 [553]
Responsible:           Terminal [498]
User ID:               501

Date/Time:             2023-05-10 21:32:47.6077 -0400
OS Version:            macOS 12.6.2 (21G320)
Report Version:        12
Bridge OS Version:     3.0 (14Y910)
Anonymous UUID:        EA9784FA-1965-044C-73CA-79464B4271C5

Sleep/Wake UUID:       4528D446-E1FE-43B3-B1F2-2DC7A1258820

Time Awake Since Boot: 4500 seconds
Time Since Wake:       4163 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [11297]

VM Region Info: 0 is not in any region.  Bytes before following region: 4559155200
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      10fbf3000-10fc1b000    [  160K] r-x/r-x SM=COW  ...R/*/FindTempo

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_platform.dylib      	    0x7ff81e870629 _platform_bzero$VARIANT$Haswell + 41
1   FindTempo                     	       0x10fbf84af vortex::find_tempo_cpp::CalculateBPM(vortex::find_tempo_cpp::SerializedTempo*, vortex::Onset*, int) + 287 (FindTempo_standalone.cpp:435)
2   FindTempo                     	       0x10fbf823e vortex::find_tempo_cpp::TempoDetector::exec() + 366 (FindTempo_standalone.cpp:734)
3   FindTempo                     	       0x10fbfa54b main + 5435 (FindTempo_standalone.cpp:883)
4   dyld                          	       0x11f12552e start + 462


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000010fcbf060  rcx: 0x0000000000020db8  rdx: 0x0000000000000000
  rdi: 0x0000000000000000  rsi: 0x0000000000000000  rbp: 0x00007ff7b030b700  rsp: 0x00007ff7b030b700
   r8: 0x0000000000000000   r9: 0x0000000000000003  r10: 0x0000000000000003  r11: 0x0000000000000007
  r12: 0x000000011f1a03a0  r13: 0x00007ff7b030c738  r14: 0x000000010fbf9010  r15: 0x000000011f18c010
  rip: 0x00007ff81e870629  rfl: 0x0000000000010206  cr2: 0x0000000000000000
  
Logical CPU:     0
Error Code:      0x00000006 (no mapping for user data write)
Trap Number:     14

Thread 0 instruction stream:
  00 00 48 0f af 35 55 6e-00 00 66 48 0f 6e c6 48  ..H..5Un..fH.n.H
  89 f8 48 83 fa 40 0f 82-92 00 00 00 48 81 fa 00  ..H..@......H...
  80 00 00 0f 82 3e 00 00-00 e9 28 00 00 00 66 0f  .....>....(...f.
  1f 84 00 00 00 00 00 55-48 89 e5 48 89 f2 48 31  .......UH..H..H1
  f6 0f 57 c0 48 89 f8 48-83 fa 40 72 61 48 81 fa  ..W.H..H..@raH..
  00 80 00 00 72 11 48 89-d1 48 89 f0 48 89 fa fc  ....r.H..H..H...
 [f3]aa 48 89 d0 5d c3 c4-e2 7d 18 c0 c5 fc 11 07  ..H..]...}......	<==
  48 83 c7 20 48 83 e7 e0-48 89 f9 48 29 c1 48 29  H.. H...H..H).H)
  ca 48 83 ea 40 76 13 c5-fc 29 07 c5 fc 29 47 20  .H..@v...)...)G 
  48 83 c7 40 48 83 ea 40-77 ed c5 fc 11 04 17 c5  H..@H..@w.......
  fc 11 44 17 20 c5 f8 77-5d c3 48 89 34 17 48 83  ..D. ..w].H.4.H.
  ea 08 73 f6 48 83 c2 08-74 0b 40 88 74 17 ff 48  ..s.H...t.@.t..H

and,

left[total+i] = (short)(buf->data[leftchan][i] * 32767); // float -> short, may have to change based on what the actual range is
for a wav:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               FindTempo [8719]
Path:                  /Users/USER/*/FindTempo
Identifier:            FindTempo
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        bash5 [553]
Responsible:           Terminal [498]
User ID:               501

Date/Time:             2023-05-10 21:06:33.1664 -0400
OS Version:            macOS 12.6.2 (21G320)
Report Version:        12
Bridge OS Version:     3.0 (14Y910)
Anonymous UUID:        EA9784FA-1965-044C-73CA-79464B4271C5

Sleep/Wake UUID:       4528D446-E1FE-43B3-B1F2-2DC7A1258820

Time Awake Since Boot: 2900 seconds
Time Since Wake:       2589 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [8719]

VM Region Info: 0 is not in any region.  Bytes before following region: 4320485376
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      101856000-10187e000    [  160K] r-x/r-x SM=COW  ...R/*/FindTempo

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   FindTempo                     	       0x10185bf63 vortex::Samples::Samples(_aubio_source_t*, int) + 259 (FindTempo_standalone.cpp:767)
1   FindTempo                     	       0x10185bff3 vortex::Samples::Samples(_aubio_source_t*, int) + 35 (FindTempo_standalone.cpp:745)
2   FindTempo                     	       0x10185d466 main + 5206 (FindTempo_standalone.cpp:878)
3   dyld                          	       0x10f9cd52e start + 462


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00007ff7be6a8c48  rbx: 0x0000000101922060  rcx: 0x0000000000000000  rdx: 0x0000000000000000
  rdi: 0x0000000000000000  rsi: 0x0000000000000001  rbp: 0x00007ff7be6a89e0  rsp: 0x00007ff7be6a89a0
   r8: 0x0000000000000100   r9: 0x0000000000000100  r10: 0x0000000000000002  r11: 0x00007ff5e5a00000
  r12: 0x000000010fa483a0  r13: 0x00007ff7be6a9748  r14: 0x000000010185c010  r15: 0x000000010fa34010
  rip: 0x000000010185bf63  rfl: 0x0000000000010246  cr2: 0x0000000000000000
  
Logical CPU:     4
Error Code:      0x00000006 (no mapping for user data write)
Trap Number:     14

Thread 0 instruction stream:
  00 00 48 8b 7d f0 48 8b-75 e0 48 8d 55 dc e8 4c  ..H.}.H.u.H.U..L
  f7 01 00 c7 45 cc 00 00-00 00 8b 45 cc 3b 45 dc  ....E......E.;E.
  0f 83 80 00 00 00 48 8b-45 c0 48 8b 4d e0 48 8b  ......H.E.H.M.H.
  49 08 48 63 55 d4 48 8b-0c d1 48 63 55 cc 89 d7  I.HcU.H...HcU...
  f3 0f 10 04 91 f3 0f 10-0d e8 fb 01 00 f3 0f 59  ...............Y
  c1 f3 0f 2c c8 66 89 ce-48 8b 08 8b 55 d8 01 fa  ...,.f..H...U...
 [66]89 34 51 48 8b 4d e0-48 8b 49 08 48 63 55 d0  f.4QH.M.H.I.HcU.	<==
  48 8b 0c d1 48 63 55 cc-f3 0f 10 04 91 f3 0f 59  H...HcU........Y
  c1 f3 0f 2c c8 66 89 ca-48 8b 40 08 8b 4d d8 03  ...,.f..H.@..M..
  4d cc 89 c9 66 89 14 48-8b 45 cc 83 c0 01 89 45  M...f..H.E.....E
  cc e9 74 ff ff ff 8b 45-dc 03 45 d8 89 45 d8 8b  ..t....E..E..E..
  45 dc 3b 45 ec 0f 84 47-ff ff ff 48 8b 7d e0 e8  E.;E...G...H.}..

I realize this code is not maintained and was meant to exemplify your paper, but is there any chance you could help me find out why this is happening?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions