Hi all,

So I'm trying to write a new loadable module. From a combination of
example modules I thought I was set, but I have this frustrating
roadblock I can't figure out.

As soon as I have a Tcl_CreateCommand in my code, the server startup
crashes with alloc: invalid block. I have attached my .c and Makefile
if anyone has time to cast their eye over it? I think I'm missing some
difference with Aolserver 4 since Vlad's nsfortune shows the same
issue and I assume that used to work once! Unless I have a problem
with my aolserver still, but nslog works fine and that obviously does
Tcl_CreateCommand...

Here is my log output:

...snip...
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: nslog: opened
'/opt/aolserver/servers/server1/modules/nslog/access.log'
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: modload:
loading '/opt/aolserver/bin/nscp.so'
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: nscp:
listening on 127.0.0.1:8003
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: nscp: added user:
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: modload:
loading '/opt/aolserver/bin/nsperl2.so'
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: nsperl2: loaded
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: before
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: after
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: conf:
[ns/server/server1]enabletclpages = 0
[23/Mar/2008:19:31:28][79157.2691797108][-main-] Notice: default
thread pool: minthreads 5 maxthreads 20 idle 0 current 0 maxconns 20
queued 0 timeout 1
alloc: invalid block: 0x207740: 0 0 0

Abort trap


The before, after shows the Tcl_CreateCommand returns. The stack on
exit looks something like:

#0  0x93ef6cb8 in __kill ()
#1  0x93f9b7c8 in abort ()
#2  0x0a05b428 in Tcl_PanicVA ()
#3  0x0a05b460 in Tcl_Panic ()
#4  0x0a0697a8 in TclpFree ()
#5  0x0a0105b0 in Tcl_DeleteCommandFromToken ()
#6  0x0a055c38 in TclTeardownNamespace ()
#7  0x0a010d94 in DeleteInterpProc ()
#8  0x000cfe4c in Ns_TclDestroyInterp (interp=0x38410) at tclinit.c:521
#9  0x000d1be8 in PushInterp (itPtr=0x48810) at tclinit.c:1625
#10 0x000cfc9c in Ns_TclDeAllocateInterp (interp=0x38410) at tclinit.c:402
#11 0x000d17c0 in NsTclInitServer (server=0x4c0d0 "server1") at tclinit.c:1405
#12 0x000c1d20 in NsInitServer (server=0x4c0d0 "server1",
initProc=0x3f38 <ServerInit>) at server.c:219
#13 0x000b7ba0 in Ns_Main (argc=3, argv=0xbffffa4c, initProc=0x3f38
<ServerInit>) at nsmain.c:524
#14 0x00003f1c in main (argc=3, argv=0xbffffa4c) at main.c:64


Unfortunately as I mentioned in my compile issue email I have not been
able to compile against a debug-symbol Tcl so I can't trace past
Ns_TclDestroyInterp.

Thanks for your time - I'm going nuts here!

Mark.

-- 
Mark Aufflick
 contact info at http://mark.aufflick.com/about/contact


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Attachment: nsperl2.c
Description: Binary data

Attachment: Makefile
Description: Binary data

Reply via email to