tcl-rivet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Welton" <dav...@apache.org>
Subject Re: apache child process crashes
Date Tue, 18 Jul 2006 21:30:08 GMT
> Here is what I found (I hope I don't get too specific)
> The line that screws everything up is in a method where various
> parts of a page are dynamically generated. The 'modules'
> that generate these sections of the page are implemented through
> classes which in turn are sourced by a method invoked by the
> main template.
>
> I verified that the 'sourcing' of these classes' files
> breaks the rivet process (although the code 'per se'
> is functioning!).

So if you don't source them, no crash?

> Let me show you the code snippet.
> Commenting out the whole code block makes the child
> processes robust as they can get. Commenting the instantiation,
> execution and destruction lines breaks apache again.
>
>     source        [file join $::request::site_root
> ${fun(filename)}.tcl]
>     set module  [$fun(function_class) #auto $dioObject $sessionStatus]
>     $module      displayModule
>     $module      destroy
>
> It seems that Itcl classes namespace definitions are not properly cleaned up
> in this case. I'm trying to see what happens if I force the class definition
> to happen in the ::request namespace, not in my class' namespace.

Hrm...  is it possible to replicate the crash in a 'clean' environment
that is as simple as possible?

> >> Should the following line imply that Itcl stuff is involved
> >> (but I could not figure out where...)
> >>
> >> #9  0x422a4bb3 in Itcl_DeleteClass () from /usr/lib/libitcl3.2.so.1
> >
> >
> > Could well be...  What OS and version are you running on?  Debian stable?
>
> yes, precisely.
>
> >
> >> > One thing you could do to help track this down is check this out of
> >> > subversion and use it to create your Apache module:
> >> >
> >> > https://svn.apache.org/repos/asf/tcl/rivet/branches/1_0
> >> >
> >>
> >> I'm afraid that my knowledge of svn goes as far as its commands
> >> have the same switches and syntax as cvs. Using cvs syntax for
> >> svn would do the work in this case? And Rivet doesn't compile
> >> on Debian using the autotools because of a macro problem...(I know
> >> you are laden by this task too, I'm sorry, I did not intend
> >> to overload you with too many things to think of)
> >
> >
> > You want to do:
> >
> > svn checkout https......   local-rivet-directory-name
> >
> > Is this Debian unstable/testing then?
>
>
> no, it's stable. The problem is similar on the laptop running
> 'testing' but the messages in the log complain about the
> child exiting upon a segfault.

It should be possible to build the '1.0' branch on debian stable, I think.

-- 
David N. Welton
 - http://www.dedasys.com/davidw/

Linux, Open Source Consulting
 - http://www.dedasys.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Mime
View raw message