On 05.03.12 16:27, Maurizio Martignano wrote:

Dear Gustav,

I believe you should also comment Jim's writing:

Anyway, as I could never really get Tcl cleanup to operate in a reliable way and because it didn't really matter to Aolserver, the call to Tcl_Finalize had been commented out for years. As this has become a recurring problem, I'd suggest now it should be a config option, default off.


The case for windows is special, since the crash happens there during the unload of the dll's, which is highly platform specific. The situation on unixes is different. In our configurations (mostly linux with 32bit and 64 bit, rhel/fedora/ubuntu, as well some mac os x), the shutdown works fine since many years (although we do not call it normally from the control port).

It is not the case, that Tcl_Finalize() in recent Tcl versions is inherently broken and "needs to be fixed". It is the situation as Jim points out, that some modules/packages might register handlers that have some bugs, or - which would be my primary suspect - some loaded module/package has a bug (overwritten some memory, double frees, ...) which manifests during cleanup. Cleanup is highly sensitive to bugs in the memory management.

The source of the problem should be fixed, not the symptom. It is not unlikely that the same bug will hit you in some other cases as well...

-gustaf

In the off-chance someone really needs Tcl_Finalize, they could set the option on.

All the best,

Maurizio

*From:*Gustaf Neumann [mailto:neum...@wu.ac.at]
*Sent:* 05 March 2012 11:29
*To:* aolserver-talk@lists.sourceforge.net
*Subject:* Re: [AOLSERVER] Problem with ns_shutdown

Dear Caroline,

We had a long discussion here in the list whether or not one should call Tcl_Finalize() during cleanup. While i am not in favor of commenting Tcl_Finalize() out on a unix-like os, i think that the possible harm of doing so is limited. A crash during finalize can hint to a problem sitting some else.

Concerning your crash-case: do you experience crashes on every ns_shutdown?

i would recommend to upgrade to tcl 8.5.11 if possible.

best regards
-gustaf neumann

On 02.03.12 05:49, Maurizio Martignano wrote:

Dear Caroline,

                I use Aolserver on Windows Environments.

There the shutdown is always a problem if nsmain.c calls Tcl_Finalize.

To avoid any problem I had to comment out this call:

*#ifndef*_WIN32

    Tcl_Finalize();

*#endif*

I believe that if you do the same, that is you comment out this call, you may avoid all race conditions you are experiencing.

Please do notice that not calling Tcl_Finalize is not an issue, cause the Aolserver process is anyhow about to die and the proper cleaning of all allocated resources is performed by the operating system.

Hope it helps,

Maurizio

*From:*Porter, Caroline [mailto:cpor...@bna.com]
*Sent:* 01 March 2012 19:43
*To:* Victor Guerra
*Cc:* aolserver-talk@lists.sourceforge.net <mailto:aolserver-talk@lists.sourceforge.net>
*Subject:* Re: [AOLSERVER] Problem with ns_shutdown

tcl 8.5.9

Caroline

*From:*vgue...@gmail.com <mailto:vgue...@gmail.com> [mailto:vgue...@gmail.com] <mailto:[mailto:vgue...@gmail.com]> *On Behalf Of *Victor Guerra
*Sent:* Thursday, March 01, 2012 10:36 AM
*To:* Porter, Caroline
*Cc:* aolserver-talk@lists.sourceforge.net <mailto:aolserver-talk@lists.sourceforge.net>
*Subject:* Re: [AOLSERVER] Problem with ns_shutdown

Which version of tcl are you running?

On Thu, Mar 1, 2012 at 3:08 PM, Porter, Caroline <cpor...@bna.com <mailto:cpor...@bna.com>> wrote:

We are shutting down aolserver via the control port using the ns_shutdown command. We are getting intermittent coredumps during the shutdown process. Does anyone have any ideas as to how to resolve this?

Here's some more info...

webserver log:

[29/Feb/2012:08:20:02][30350.82082672][-nscp:1-] Notice: nscp: 127.0.0.1 connected

[29/Feb/2012:08:20:03][30350.82082672][-nscp:1-] Notice: nscp: nsadmin logged in

[29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: nsmain: AOLserver/4.5.1 stopping

[29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: driver: stopping: nssock

[29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: sched: shutdown pending

[29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: socks: shutdown pending

[29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: shutdown started

[29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: waiting for event threads...

[29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: nscp: shutdown

[29/Feb/2012:08:20:04][30350.66386800][-sched:idle1-] Notice: exiting

[29/Feb/2012:08:20:04][30350.148007792][-sched:idle0-] Notice: exiting

[29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: socks: shutdown complete

[29/Feb/2012:08:20:04][30350.56376176][-nssock:driver-] Notice: exiting

[29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: shutdown complete

[29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: driver: stopped: nssock

[29/Feb/2012:08:20:05][30350.82082672][-nscp:1-] Notice: nscp: 127.0.0.1 disconnected

[29/Feb/2012:08:20:05][30350.56376176][-shutdown-] Notice: Shutdown called for server bwd

[29/Feb/2012:08:20:05][30350.56376176][-shutdown-] Notice: nslog: closing '/data/bwd/logs/httpd_access_stg_delray.bna.com_5000.log'

[29/Feb/2012:08:20:05][30350.4151592640][-main-] Notice: nsmain: AOLserver/4.5.1 exiting

called Tcl_FindHashEntry on deleted table

Here's what is in the coredump...

Program terminated with signal 6, Aborted.

#0  0x0071d430 in __kernel_vsyscall ()

#0  0x0071d430 in __kernel_vsyscall ()

#1 0x0036ab71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64

#2  0x0036c44a in abort () at abort.c:92

#3 0x002e8ddf in Tcl_PanicVA () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#4 0x002e8e04 in Tcl_Panic () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#5 0x002bccea in BogusFind () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#6 0x00304de1 in ThreadStorageGetHashTable () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#7 0x00304f0c in TclpThreadDataKeyGet () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#8 0x00303d28 in Tcl_GetThreadData () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#9 0x002e8545 in TclFreeObj () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#10 0x0030f8b0 in FreeVarEntry () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#11 0x002bc845 in Tcl_DeleteHashTable () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#12 0x0031052e in UnsetVarStruct () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#13 0x0031080f in TclDeleteNamespaceVars () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#14 0x002dfda8 in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#15 0x002e0045 in Tcl_DeleteNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#16 0x002dfeab in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#17 0x002e0045 in Tcl_DeleteNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#18 0x002dfeab in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#19 0x002647a7 in DeleteInterpProc () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#20 0x002f47a4 in Tcl_EventuallyFree () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#21 0x00264702 in Tcl_DeleteInterp () from /apps/bos-dev/bwd/lib/libtcl8.5.so <http://libtcl8.5.so>

#22 0x0014dd2f in Ns_TclDestroyInterp () from /apps/bos-dev/bwd/lib/libnsd.so

#23 0x0014e508 in DeleteData () from /apps/bos-dev/bwd/lib/libnsd.so

#24 0x00ca6479 in NsCleanupTls () from /apps/bos-dev/bwd/lib/libnsthread.so

#25 0x00ca81e2 in FreeThread () from /apps/bos-dev/bwd/lib/libnsthread.so

#26 0x00174a8a in __nptl_deallocate_tsd (arg=0x4e47b70) at pthread_create.c:154

#27 start_thread (arg=0x4e47b70) at pthread_create.c:308

#28 0x0041cc2e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net <mailto:aolserver-talk@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/aolserver-talk



--
-vg




------------------------------------------------------------------------------
Virtualization&  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/




_______________________________________________
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net  
<mailto:aolserver-talk@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/aolserver-talk


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk

Reply via email to