In tclvar.c::TclLookupSimpleVar(), I am getting a crash:
Unhandled exception at 0x100a8526 (tcl84g.dll) in
PBX.exe: 0xC0000005:
Access violation reading location 0xfeeeffd6.
It looks like the cxtNsPtr has a value of 0xfeeefeee that
it gets from
<globalNsPtr>. Why would this variable have this
question? I am not using
namespaces, at least I am not knowingly doing anything
with them or messing
with them. I am using 8.4.9, Windows XP SP-2, MS
VisualC++.net (2003)
if ((cxtNsPtr->varResProc != NULL || iPtr-
>resolverPtr != NULL) &&
!(flags & LOOKUP_FOR_UPVAR))
cxtNsPtr = 0xfeeefeee, cxtNsPtr->varResProc = ????
Flags = 0x00000001
iPtr->resolverPtr is not null)
Here is the stack:
> tcl84g.dll!TclLookupSimpleVar(Tcl_Interp *
interp=0x00e80b90, const char *
> varName=0x00e80f00, int flags=0x00000001, const int
create=0x00000001,
> const char * * errMsgPtr=0x0012f3c8, int *
indexPtr=0x0012f3c4) Line 710 +
> 0x3 C
tcl84g.dll!TclLookupVar(Tcl_Interp *
interp=0x00e80b90, const char *
part1=0x00e80f00, const char * part2=0x00000000, int
flags=0x00000001, const
char * msg=0x100e6874, int createPart1=0x00000001,
int
createPart2=0x00000001, Var * *
arrayPtrPtr=0x0012f3fc) Line 270 + 0x1d C
tcl84g.dll!Tcl_SetVar2Ex(Tcl_Interp *
interp=0x00e80b90, const char *
part1=0x00e80f00, const char * part2=0x00000000,
Tcl_Obj *
newValuePtr=0x00e96838, int flags=0x00000001) Line
1462 + 0x22 C
tcl84g.dll!Tcl_SetVar2(Tcl_Interp *
interp=0x00e80b90, const char *
part1=0x00e80f00, const char * part2=0x00000000,
const char *
newValue=0x0012f57c, int flags=0x00000001) Line 1398
+ 0x19 C
tcl84g.dll!Tcl_SetVar(Tcl_Interp * interp=0x00e80b90,
const char *
varName=0x00e80f00, const char *
newValue=0x0012f57c, int flags=0x00000001)
Line 1342 + 0x17 C
PBX.exe!tclBase::setVar
(std::basic_string<char,std::char_traits<char>,std::alloc
ator<char>
> varName={...},
std::basic_string<char,std::char_traits<char>,std::alloca
tor<char> >
value={...}) Line 90 + 0x2c C++
The last call of mine was to Tcl_SetVar( theTcl,
varName.c_str(),
value.c_str(), TCL_GLOBAL_ONLY ); both varName and
value are both populated
so it is getting <const char *> with actual values (not
null) and theTcl is
a result of Tcl_CreateInterp() followed by Tcl_Init().
For reference, I am calling Tcl_FindExecutable(),
Tcl_CreateInterp(), and Tcl_Init(), in that order.
Any ideas?
Thanks
---Brian
Logged In: YES
user_id=1198298
I was the poster... didn't sign in initially.
This was posted in comp.lang.tcl, was advised to open bug
report here.
---Brian
Logged In: YES
user_id=1198298
This one looks like my fault... D'OH!
Close this one out :)
Thanks!
---Brian
Logged In: YES
user_id=148712
ok