From: SourceForge.net <no...@so...> - 2004-01-07 13:07:17
|
Bugs item #872299, was opened at 2004-01-07 12:26 Message generated for change (Comment added) made by traum You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=872299&group_id=12997 Category: 18. [text] Group: develop: 8.5a0 Status: Open Resolution: None Priority: 5 Submitted By: Uwe Traum (traum) Assigned to: Vince Darley (vincentdarley) Summary: Access violation in tkBTreeFindPixelLine Initial Comment: I got an access violation in tkTextBTree.c Line 1013 tkBTreeFindPixelLine (nodePtr == NULL) after playing around in the debugger I recognized that nodePtr->numPixels == 0. so 'pixelsLef't is not decremented this code is called quit often until it crashes. But never nodePtr->numPixels was 0. The application is quit complex - so I did not know what tcl-code is actually called at this time. Here is the call-stack: TkBTreeFindPixelLine(TkTextBTree_ * 0x0c69ad48, int 0, int * 0x04252c80) line 1013 + 23 bytes TkTextMakePixelIndex(TkText * 0x0c69a8c0, int 0, TkTextIndex * 0x04252cac) line 323 + 20 bytes TkTextYviewCmd(TkText * 0x0c69a8c0, Tcl_Interp * 0x04877c70, int 4, Tcl_Obj * const * 0x042530e0) line 5211 + 28 bytes TextWidgetObjCmd(void * 0x0c69a8c0, Tcl_Interp * 0x04877c70, int 4, Tcl_Obj * const * 0x042530e0) line 1309 + 21 bytes TclEvalObjvInternal(Tcl_Interp * 0x04877c70, int 4, Tcl_Obj * const * 0x042530e0, const char * 0x0c5a71d0, int 57, int 0) line 3143 + 25 bytes Tcl_EvalEx(Tcl_Interp * 0x04877c70, const char * 0x0c5a71d0, int 57, int 262144) line 3639 + 39 bytes Tcl_EvalObjEx(Tcl_Interp * 0x04877c70, Tcl_Obj * 0x0c2e9c50, int 262144) line 3872 + 21 bytes Tcl_EvalObjCmd(void * 0x00000000, Tcl_Interp * 0x04877c70, int 4, Tcl_Obj * const * 0x0487b59c) line 681 + 18 bytes TclEvalObjvInternal(Tcl_Interp * 0x04877c70, int 4, Tcl_Obj * const * 0x0487b59c, const char * 0x00000000, int 0, int 0) line 3143 + 25 bytes TclExecuteByteCode(Tcl_Interp * 0x04877c70, ByteCode * 0x0c514b40) line 1537 + 27 bytes TclCompEvalObj(Tcl_Interp * 0x04877c70, Tcl_Obj * 0x053c8b50) line 1005 + 13 bytes Tcl_EvalObjEx(Tcl_Interp * 0x04877c70, Tcl_Obj * 0x053c8b50, int 0) line 3884 + 13 bytes ---------------------------------------------------------------------- >Comment By: Uwe Traum (traum) Date: 2004-01-07 14:07 Message: Logged In: YES user_id=770325 Here is a short example to reproduce the error: (Windows or Solaris) text .t pack .t while {1} { puts "insert" .t insert end "blabla\n" .t yview moveto 1 } -------- after 12 inserts I got an "segmentation fault" ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-01-07 13:02 Message: Logged In: YES user_id=32170 Without a reproducible example in Tcl code, there's very little chance I'll be able to fix this... So, I think you'll have to either generate such an example, or debug it further yourself... There's nothing obvious wrong with the lines of code in question. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=872299&group_id=12997 |