#1810 TclInterp crashed in Tcl_DeleteInterp

obsolete: 8.3.3
closed-fixed
miguel sofer
5
2002-03-25
2002-03-14
Anonymous
No

Hallo all,

i have build an windows (vc6.0) application, which
starts an internel Tcl_Interp. From the
windows application i start myApp_Init generated from
swig. I tested only a single function wrapped by swig
and this function works. I now close the sub window
from tk and got the following messages in my
debugger:

abort() line 44 + 7 bytes
Tcl_PanicVA(char * 0x002de23c, char * 0x00b9ff18) line
95
Tcl_Panic(char * 0x002de23c) line 121 + 13 bytes
Tcl_GetStringFromObj(Tcl_Obj * 0x00ba54a8, int *
0x00b9ff18) line 741 + 19 bytes
TclReleaseLiteral(Tcl_Interp * 0x00150d78, Tcl_Obj *
0x00ba54a8) line 683 + 13 bytes
TclDeleteLiteralTable(Tcl_Interp * 0x00150d78,
LiteralTable * 0x00150e3c) line 123 + 16 bytes
DeleteInterpProc(Tcl_Interp * 0x00150d78) line 1075 +
18 bytes
Tcl_EventuallyFree(int * 0x00150d78, void (char *)*
0x002466fb DeleteInterpProc(Tcl_Interp *)) line 313 +
7 bytes
Tcl_DeleteInterp(Tcl_Interp * 0x00150d78) line 901 +
14 bytes
TkInterpMain(void * 0x00000000) line 445 + 13 bytes
KERNEL32! 77e837cd()
*********************************************
In the source of Tcl I found:
*********************************************
char *
Tcl_GetStringFromObj(objPtr, lengthPtr)
[SNIP]

if (objPtr->typePtr->updateStringProc == NULL) {
panic("UpdateStringProc should not be invoked
for type %s",
objPtr->typePtr->name);
}

where the variable is:
*********************************************
objPtr->typePtr->name 0x002da04c "cmdName"
*********************************************

I use tcl/tk 8.3.3 on win2k, also compiled by vc6.0
and the version swigwin 1.3.11.

I hope this helps.

Can you send me a short message what your opinion for
that problem is?

Regards
Klaus

Discussion

  • miguel sofer
    miguel sofer
    2002-03-14

    • assigned_to: hobbs --> msofer
     
  • miguel sofer
    miguel sofer
    2002-03-14

    Logged In: YES
    user_id=148712

    Mhhh ... looks like bug #467523 to me. That bug has been
    fixed last october, I would imagine that your problems will
    disppear if you upgrade to Tcl8.3.4 (or apply the patch
    enclosed in the bug report).

    Please do notify us here of the result.

     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2002-03-23

    • status: open --> pending-fixed
     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2002-03-23

    Logged In: YES
    user_id=72656

    moving this to pending fixed, as per miguel's note. It may
    also be that Tcl_FindExecutable needs to be called, but I
    don't see any more code sample.

     
  • Logged In: NO

    Found my problem now,

    during script execution a pointer to Tcl_Obj
    was killed by my! application. By cleaning the
    memmory the tcl_interp crashes. After debugging and
    correction of my bug the interpreter leaves fine.

    Sorry for the bug report, and thanks for your help, it was
    "only" a memory leak in my application. :-(

    To find this terrible bug i moved the program to
    linux and use a special malloc-lib to control the
    memory usage and found that terrible crasher feature.
    So lets thank also Tux for help.

    Thanks
    Klaus

     
  • miguel sofer
    miguel sofer
    2002-03-25

    • status: pending-fixed --> closed-fixed