From: SourceForge.net <no...@so...> - 2004-12-29 23:10:32
|
Bugs item #1091431, was opened at 2004-12-26 15:12 Message generated for change (Settings changed) made by kennykb You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1091431&group_id=10894 Category: 39. Dynamic Loading Group: None Status: Open Resolution: None Priority: 8 Submitted By: Joe English (jenglish) >Assigned to: Joe English (jenglish) Summary: Tcl_InitStubs failure crashes wish Initial Comment: On Linux and possibly other ELF-based systems, the global variable "tclStubsPtr" defined in tclStubLib.c may be shared by all extensions. That is, even though each shared library includes its own copy of the variable, the runtime loader will merge all copies into a single location. This causes serious problems if Tcl_InitStubs() ever fails. For example, if an extension that calls Tcl_InitStubs(..., "8.5", ...) is loaded into an 8.4 wish, then Tcl_InitStubs() sets tclStubsPtr to NULL, causing wish to immediately crash (if, as is the usual case, Tk was compiled with -DUSE_TCL_STUBS). ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2004-12-28 21:21 Message: Logged In: YES user_id=80530 Is Feature Request 540378 relevant here? ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2004-12-26 15:37 Message: Logged In: YES user_id=68433 Attached patch to generic/tclStubLib.c attempts to fix the problem. Unfortunately it can't really work without retroactively patching all the existing copies of wish8.4; when an extension that calls Tcl_InitStubs() is loaded into wish8.4, the runtime loader will use the copy of Tcl_InitStubs from libtk8.4.so, not the one from the extensions' library. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1091431&group_id=10894 |