More useful is to print the frame within the pd code where the crash occurred.
In this case, try the following in lldb: f 6 f That should print the section of code with the crashing function and/or variable underlined. The stuff below in the kernel is no so useful to see. > On Oct 2, 2017, at 5:49 PM, Roman Haefeli <[email protected]> wrote: > > 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 -------- Dan Wilcox @danomatika <http://twitter.com/danomatika> danomatika.com <http://danomatika.com/> robotcowboy.com <http://robotcowboy.com/>
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
