From: Jeff H. <je...@ac...> - 2009-11-12 00:54:23
|
Could you do an innocuous operation on the interp ip, like Tcl_GetResult or similar, that would indicate it is a valid interp *? Also, the macdnd doesn't seem to be built with symbols enabled, which might help. Jeff On 11/11/2009 4:16 PM, Kevin Walzer wrote: > After doing additional digging, I've narrowed down the crashing code to > this function call: > > Tk_Window path; > path = Tk_NameToWindow(ip, Tcl_GetString(objv[1]), Tk_MainWindow(ip)); > if (path == NULL) { > return TCL_ERROR; > } > > This is baffling. These calls are very basic. I think it would be hard > to write any kind of Tk extension without them. I can't figure out what > in the above is causing Wish to crash. Running gdb and setting the > libraries to debug returns this output: > > #0 0x00000001163842eb in RegisterDragTypes () > #1 0x0000000100243aeb in TclEvalObjvInternal (interp=0x1007fb010, > objc=3, objv=0x100a0a088, command=0xffffffffffffffff<Address > 0xffffffffffffffff out of bounds>, length=-1, flags=0) at > /Users/kevin/tk85-patched/tcl/unix/../generic/tclBasic.c:3688 .... > /Users/kevin/tk85-patched/tcl/unix/../generic/tclHistory.c:161 > #7 0x00000001002bf4f7 in Tcl_RecordAndEval (interp=0x1007fb010, > cmd=0x100a1ee28 "macdnd::registerdragtypes . {}\n", flags=131072) at .... |