[PD] Crasher bug

Roman Haefeli reduzent at gmail.com
Mon Oct 2 17:49:58 CEST 2017


On Mon, 2017-10-02 at 13:14 +0200, Dan Wilcox wrote:
> If you want more info, you can compile pd with debugging symbols
> added via:
> 
> ./configure --enable-debug CFLAGS="-g"
> 
> I'm going to add the "-g" back to the default debug settings as it's
> needed for useful stack frame info, etc.
> 
> If you have the Xcode command line tools installed (not the Xcode
> app!), you can use lldb for similar info: http://lldb.llvm.org/lldb-
> gdb.html. It can give you the exact location in the code where the
> crash occurred.

Thanks, Dan. 

Just in case this is useful to anyone, here is the backtrace on macOS:

$ lldb -- pd -stderr -rt -jack -jackname tpf-client-1 -nojackconnect -inchannels 8 -outchannels 64 -open /Users/itz/pd-src/tpf/pd-tools/tpf-client.pd 
(lldb) target create "pd"
Current executable set to 'pd' (x86_64).
(lldb) settings set -- target.run-args  "-stderr" "-rt" "-jack" "-jackname" "tpf-client-1" "-nojackconnect" "-inchannels" "8" "-outchannels" "64" "-open" "/Users/itz/pd-src/tpf/pd-tools/tpf-client.pd"
(lldb) run
Process 28469 launched: '/usr/local/bin/pd' (x86_64)
Pt_Start() called
slipenc: maximum packet length is 16384
iemnet - networking with Pd: [tcpclient]
        compiled on Dec 14 2015 at 14:29:01
        copyright © 2010-2015 IOhannes m zmoelnig, IEM
        based on mrpeach/net, based on maxlib
slipdec: maximum packet length is 16384
iemnet - networking with Pd: [udpclient]
        compiled on Dec 14 2015 at 14:29:01
        copyright © 2010-2015 IOhannes m zmoelnig, IEM
        based on mrpeach/net, based on maxlib
pd(28469,0x7fff79118000) malloc: *** error for object 0x1020f0c08: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Process 28469 stopped
* thread #1: tid = 0x1c38a, 0x00007fff97b02f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff97b02f06 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff97b02f06 <+10>: jae    0x7fff97b02f10            ; <+20>
    0x7fff97b02f08 <+12>: movq   %rax, %rdi
    0x7fff97b02f0b <+15>: jmp    0x7fff97afd7cd            ; cerror_nocancel
    0x7fff97b02f10 <+20>: retq   
(lldb) bt
* thread #1: tid = 0x1c38a, 0x00007fff97b02f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff97b02f06 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff8eb604ec libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fff99dee6df libsystem_c.dylib`abort + 129
    frame #3: 0x00007fff8909b396 libsystem_malloc.dylib`szone_error + 626
    frame #4: 0x00007fff89091373 libsystem_malloc.dylib`small_free_list_remove_ptr + 152
    frame #5: 0x00007fff8908fa7c libsystem_malloc.dylib`szone_free_definite_size + 1790
    frame #6: 0x000000010007f28c pd`freebytes(fatso=0x00000001020cae00, nbytes=2048) + 44 at m_memory.c:79
    frame #7: 0x000000010001f069 pd`signal_cleanup + 105 at d_ugen.c:398
    frame #8: 0x000000010001f669 pd`ugen_stop + 89 at d_ugen.c:597
    frame #9: 0x000000010002d62e pd`canvas_stop_dsp + 30 at g_canvas.c:1165
    frame #10: 0x000000010002cad8 pd`canvas_suspend_dsp + 40 at g_canvas.c:1181
    frame #11: 0x000000010001eaf0 pd`block_set(x=0x000000010041bd40, fcalcsize=384, foverlap=1, fupsample=1) + 48 at d_ugen.c:175
    frame #12: 0x000000010007d671 pd`pd_typedmess(x=0x000000010041bd40, s=0x000000010030bc60, argc=0, argv=0x00007fff5fbedcf0) + 1425 at m_class.c:960
    frame #13: 0x00000001000805bf pd`outlet_anything(x=0x000000010041c470, s=0x000000010030bc60, argc=3, argv=0x00007fff5fbedcc0) + 111 at m_obj.c:422
    frame #14: 0x00000001000620bf pd`messresponder_anything(x=0x000000010041c7d0, s=0x000000010030bc60, argc=3, argv=0x00007fff5fbedcc0) + 47 at g_text.c:339
    frame #15: 0x000000010007d832 pd`pd_typedmess(x=0x000000010041c7d0, s=0x000000010030bc60, argc=3, argv=0x00007fff5fbedcc0) + 1874 at m_class.c:981
    frame #16: 0x000000010007696f pd`binbuf_eval(x=0x000000010041c680, target=0x000000010041c7d0, argc=1, argv=0x00007fff5fbee820) + 2079 at m_binbuf.c:773
    frame #17: 0x0000000100061c4e pd`message_list(x=0x000000010041c7a0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 62 at g_text.c:363
    frame #18: 0x000000010008221d pd`pd_list(x=0x000000010041c7a0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #19: 0x000000010008051f pd`outlet_list(x=0x000000010041c740, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:411
    frame #20: 0x00000001000a143d pd`trigger_list(x=0x000000010041c6d0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 413 at x_connective.c:1033
    frame #21: 0x000000010008221d pd`pd_list(x=0x000000010041c6d0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #22: 0x000000010008051f pd`outlet_list(x=0x000000010041c600, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:411
    frame #23: 0x000000010004862f pd`vinlet_list(x=0x000000010041c510, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 47 at g_io.c:76
    frame #24: 0x000000010008221d pd`pd_list(x=0x000000010041c510, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #25: 0x000000010007fee3 pd`inlet_list(x=0x000000010041c5d0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 179 at m_obj.c:142
    frame #26: 0x000000010008221d pd`pd_list(x=0x000000010041c5d0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #27: 0x000000010008051f pd`outlet_list(x=0x000000010041d8f0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:411
    frame #28: 0x00000001000a143d pd`trigger_list(x=0x000000010041d870, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 413 at x_connective.c:1033
    frame #29: 0x000000010008221d pd`pd_list(x=0x000000010041d870, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #30: 0x000000010008051f pd`outlet_list(x=0x000000010041d600, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:411
    frame #31: 0x000000010004862f pd`vinlet_list(x=0x000000010041d510, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 47 at g_io.c:76
    frame #32: 0x000000010008221d pd`pd_list(x=0x000000010041d510, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #33: 0x000000010007fee3 pd`inlet_list(x=0x000000010041d5d0, s=0x00000001001221b0, argc=1, argv=0x00007fff5fbee820) + 179 at m_obj.c:142
    frame #34: 0x000000010008221d pd`pd_list(x=0x000000010041d5d0, s=0x0000000000000000, argc=1, argv=0x00007fff5fbee820) + 77 at m_pd.c:288
    frame #35: 0x000000010008051f pd`outlet_list(x=0x000000010041e380, s=0x0000000000000000, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:411
    frame #36: 0x000000010009f11f pd`route_anything(x=0x000000010041e2f0, sel=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 191 at x_connective.c:529
    frame #37: 0x000000010007d832 pd`pd_typedmess(x=0x000000010041e2f0, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 1874 at m_class.c:981
    frame #38: 0x00000001000805bf pd`outlet_anything(x=0x000000010041a220, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:422
    frame #39: 0x000000010004866f pd`vinlet_anything(x=0x000000010041a130, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 47 at g_io.c:81
    frame #40: 0x000000010007d832 pd`pd_typedmess(x=0x000000010041a130, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 1874 at m_class.c:981
    frame #41: 0x0000000100080011 pd`inlet_anything(x=0x000000010041a1f0, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 113 at m_obj.c:157
    frame #42: 0x000000010007d832 pd`pd_typedmess(x=0x000000010041a1f0, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 1874 at m_class.c:981
    frame #43: 0x00000001000805bf pd`outlet_anything(x=0x0000000100427850, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 111 at m_obj.c:422
    frame #44: 0x00000001000620bf pd`messresponder_anything(x=0x00000001004278e0, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 47 at g_text.c:339
    frame #45: 0x000000010007d832 pd`pd_typedmess(x=0x00000001004278e0, s=0x000000010032fc50, argc=1, argv=0x00007fff5fbee820) + 1874 at m_class.c:981
    frame #46: 0x000000010007696f pd`binbuf_eval(x=0x0000000100427840, target=0x00000001004278e0, argc=1, argv=0x00007fff5fbee880) + 2079 at m_binbuf.c:773
    frame #47: 0x0000000100061bb3 pd`message_float(x=0x00000001004278b0, f=384) + 67 at g_text.c:351
    frame #48: 0x0000000100082142 pd`pd_float(x=0x00000001004278b0, f=384) + 50 at m_pd.c:273
    frame #49: 0x00000001000803f2 pd`outlet_float(x=0x0000000100427df0, f=384) + 98 at m_obj.c:389
    frame #50: 0x0000000100048a33 pd`voutlet_float(x=0x0000000100427d30, f=384) + 35 at g_io.c:334
    frame #51: 0x0000000100082142 pd`pd_float(x=0x0000000100427d30, f=384) + 50 at m_pd.c:273
    frame #52: 0x000000010007fcd7 pd`inlet_float(x=0x0000000100427e10, f=384) + 151 at m_obj.c:112
    frame #53: 0x0000000100082142 pd`pd_float(x=0x0000000100427e10, f=384) + 50 at m_pd.c:273
    frame #54: 0x00000001000803f2 pd`outlet_float(x=0x0000000100427cc0, f=384) + 98 at m_obj.c:389
    frame #55: 0x000000010009919b pd`binop1_times_bang(x=0x0000000100427c80) + 43 at x_arithmetic.c:81
    frame #56: 0x0000000100082108 pd`pd_bang(x=0x0000000100427c80) + 40 at m_pd.c:268
    frame #57: 0x0000000100080278 pd`outlet_bang(x=0x0000000100427c30) + 88 at m_obj.c:363
    frame #58: 0x00000001000a136b pd`trigger_list(x=0x0000000100427bd0, s=0x0000000000000000, argc=1, argv=0x00007fff5fbeeab0) + 203 at x_connective.c:1023
    frame #59: 0x00000001000a1518 pd`trigger_float(x=0x0000000100427bd0, f=3) + 56 at x_connective.c:1067
    frame #60: 0x0000000100082142 pd`pd_float(x=0x0000000100427bd0, f=3) + 50 at m_pd.c:273
    frame #61: 0x00000001000803f2 pd`outlet_float(x=0x0000000100427ec0, f=3) + 98 at m_obj.c:389
    frame #62: 0x00000001000a0223 pd`receive_float(x=0x0000000100427e80, f=3) + 35 at x_connective.c:305
    frame #63: 0x0000000100082142 pd`pd_float(x=0x0000000100427e80, f=3) + 50 at m_pd.c:273
    frame #64: 0x00000001000819a9 pd`bindlist_float(x=0x00000001004229d0, f=3) + 57 at m_pd.c:80
    frame #65: 0x0000000100082142 pd`pd_float(x=0x00000001004229d0, f=3) + 50 at m_pd.c:273
    frame #66: 0x00000001000a002a pd`send_float(x=0x00000001004114e0, f=3) + 58 at x_connective.c:244
    frame #67: 0x0000000100082142 pd`pd_float(x=0x00000001004114e0, f=3) + 50 at m_pd.c:273
    frame #68: 0x00000001000803f2 pd`outlet_float(x=0x0000000100411490, f=3) + 98 at m_obj.c:389
    frame #69: 0x000000010009f4a3 pd`change_float(x=0x0000000100411450, f=3) + 83 at x_connective.c:1415
    frame #70: 0x0000000100082142 pd`pd_float(x=0x0000000100411450, f=3) + 50 at m_pd.c:273
    frame #71: 0x00000001000803f2 pd`outlet_float(x=0x000000010035a620, f=3) + 98 at m_obj.c:389
    frame #72: 0x0000000100048a33 pd`voutlet_float(x=0x000000010035a560, f=3) + 35 at g_io.c:334
    frame #73: 0x0000000100082142 pd`pd_float(x=0x000000010035a560, f=3) + 50 at m_pd.c:273
    frame #74: 0x000000010007fcd7 pd`inlet_float(x=0x000000010035a640, f=3) + 151 at m_obj.c:112
    frame #75: 0x0000000100082142 pd`pd_float(x=0x000000010035a640, f=3) + 50 at m_pd.c:273
    frame #76: 0x00000001000803f2 pd`outlet_float(x=0x000000010035a430, f=3) + 98 at m_obj.c:389
    frame #77: 0x00000001000a195a pd`moses_float(x=0x000000010035a3c0, f=3) + 58 at x_connective.c:1177
    frame #78: 0x0000000100082142 pd`pd_float(x=0x000000010035a3c0, f=3) + 50 at m_pd.c:273
    frame #79: 0x00000001000803f2 pd`outlet_float(x=0x000000010035a010, f=3) + 98 at m_obj.c:389
    frame #80: 0x0000000100062013 pd`messresponder_float(x=0x000000010035a170, f=3) + 35 at g_text.c:322
    frame #81: 0x0000000100082142 pd`pd_float(x=0x000000010035a170, f=3) + 50 at m_pd.c:273
    frame #82: 0x0000000100076996 pd`binbuf_eval(x=0x000000010035a190, target=0x000000010035a170, argc=16, argv=0x0000000101811400) + 2118 at m_binbuf.c:776
    frame #83: 0x0000000100061c4e pd`message_list(x=0x000000010035a140, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 62 at g_text.c:363
    frame #84: 0x000000010008221d pd`pd_list(x=0x000000010035a140, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #85: 0x000000010008051f pd`outlet_list(x=0x0000000100359f30, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #86: 0x000000010004862f pd`vinlet_list(x=0x0000000100359e40, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 47 at g_io.c:76
    frame #87: 0x000000010008221d pd`pd_list(x=0x0000000100359e40, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #88: 0x000000010007fee3 pd`inlet_list(x=0x0000000100359f00, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 179 at m_obj.c:142
    frame #89: 0x000000010008221d pd`pd_list(x=0x0000000100359f00, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #90: 0x000000010008051f pd`outlet_list(x=0x0000000100411380, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #91: 0x00000001000a143d pd`trigger_list(x=0x0000000100411290, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 413 at x_connective.c:1033
    frame #92: 0x000000010008221d pd`pd_list(x=0x0000000100411290, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #93: 0x000000010008051f pd`outlet_list(x=0x0000000100356dc0, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #94: 0x000000010004862f pd`vinlet_list(x=0x0000000100356cd0, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 47 at g_io.c:76
    frame #95: 0x000000010008221d pd`pd_list(x=0x0000000100356cd0, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #96: 0x000000010007fee3 pd`inlet_list(x=0x0000000100356d90, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 179 at m_obj.c:142
    frame #97: 0x000000010008221d pd`pd_list(x=0x0000000100356d90, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #98: 0x000000010008051f pd`outlet_list(x=0x0000000100504940, s=0x00000001001221b0, argc=16, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #99: 0x00000001000a54a9 pd`list_split_list(x=0x00000001005048f0, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 137 at x_list.c:577
    frame #100: 0x000000010008221d pd`pd_list(x=0x00000001005048f0, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #101: 0x000000010008051f pd`outlet_list(x=0x0000000100504890, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #102: 0x00000001000a143d pd`trigger_list(x=0x0000000100504810, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 413 at x_connective.c:1033
    frame #103: 0x000000010008221d pd`pd_list(x=0x0000000100504810, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #104: 0x000000010008051f pd`outlet_list(x=0x00000001003556c0, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #105: 0x00000001000a182f pd`spigot_list(x=0x0000000100355650, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 79 at x_connective.c:1135
    frame #106: 0x000000010008221d pd`pd_list(x=0x0000000100355650, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #107: 0x000000010008051f pd`outlet_list(x=0x0000000100352dc0, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #108: 0x00000001000a02bf pd`receive_list(x=0x0000000100352d80, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 47 at x_connective.c:320
    frame #109: 0x000000010008221d pd`pd_list(x=0x0000000100352d80, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #110: 0x00000001000a00f6 pd`send_list(x=0x0000000103006f10, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 70 at x_connective.c:259
    frame #111: 0x000000010008221d pd`pd_list(x=0x0000000103006f10, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 77 at m_pd.c:288
    frame #112: 0x000000010008051f pd`outlet_list(x=0x0000000103006bf0, s=0x00000001001221b0, argc=784, argv=0x0000000101811400) + 111 at m_obj.c:411
    frame #113: 0x0000000109cc2e3b libiemnet.dylib`pollfun + 139
    frame #114: 0x00000001000892a3 pd`sys_domicrosleep(microsec=0, pollem=1) + 579 at s_inter.c:230
    frame #115: 0x000000010008a934 pd`sys_pollgui + 20 at s_inter.c:902
    frame #116: 0x000000010008358e pd`m_pollingscheduler + 462 at m_sched.c:523
    frame #117: 0x00000001000832e2 pd`m_mainloop + 50 at m_sched.c:596
    frame #118: 0x000000010008dcc6 pd`sys_main(argc=13, argv=0x00007fff5fbffa98) + 678 at s_main.c:385
    frame #119: 0x0000000100086a02 pd`main(argc=13, argv=0x00007fff5fbffa98) + 34 at s_entry.c:32
    frame #120: 0x00007fff9c4e85ad libdyld.dylib`start + 1
    frame #121: 0x00007fff9c4e85ad libdyld.dylib`start + 1



Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20171002/5759616f/attachment-0001.sig>


More information about the Pd-list mailing list