perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Clouse <>
Subject [mp2.0] Several problems with threads
Date Fri, 08 Nov 2002 00:45:07 GMT
Hash: SHA1

I'm starting to get daring now, and playing with mp2.0 and the worker MPM.  I've
hit a number of snags.

The first is a segfault involving directive handlers:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 8192 (LWP 2210)]
0x40272126 in modperl_interp_pool_select (p=0x80d58f0, s=0x91d4020) at
326             interp = scfg->mip->parent;
(gdb) bt
#0  0x40272126 in modperl_interp_pool_select (p=0x80d58f0, s=0x91d4020) at
#1  0x4027d14c in modperl_module_cmd_take123 (parms=0xbffff7b0,
    mconfig=0x91d4e38, one=0x91d4e48 "foo", two=0x91d4e58 "bar",
    three=0x91d4e68 "baz") at modperl_module.c:331
#2  0x080938c2 in invoke_cmd (cmd=0x8125288, parms=0xbffff7b0,
    mconfig=0x91d4e38, args=0x811b3e2 "") at config.c:796
#3  0x08093f75 in ap_walk_config_sub (current=0x811b398, parms=0xbffff7b0,
    section_vector=0x91d4258) at config.c:1082
#4  0x08093ffc in ap_walk_config (current=0x811b398, parms=0xbffff7b0,
    section_vector=0x91d4258) at config.c:1121
#5  0x080a205a in virtualhost_section (cmd=0xbffff7b0, dummy=0x8113758,
    arg=0x8123588 "*:8080") at core.c:1940
#6  0x080935b6 in invoke_cmd (cmd=0x80c4370, parms=0xbffff7b0,
    mconfig=0x8113758, args=0x811b2a0 "*:8080>") at config.c:713
#7  0x08093f75 in ap_walk_config_sub (current=0x811b280, parms=0xbffff7b0,
    section_vector=0x81128f0) at config.c:1082
#8  0x08093ffc in ap_walk_config (current=0x811b280, parms=0xbffff7b0,
    section_vector=0x81128f0) at config.c:1121
#9  0x080948c3 in ap_process_config_tree (s=0x91d4e68, conftree=0x8114ae0,
    p=0x80d58f0, ptemp=0x0) at config.c:1583
#10 0x08096ac1 in main (argc=1, argv=0xbffff8b4) at main.c:572
#11 0x420158d4 in __libc_start_main () from /lib/i686/

The segfault is caused by scfg->mip being null at this point (had to step 
through it to discover that).

The second problem is the loading time.  This one directive (to load up our
application module):

	PerlModule IQGroup::IQCoordinator

increases the server's startup time from roughly 3 seconds to 45 seconds.  This
does not appear to be related to our code or Perl itself; a syntax check of the
application from the command line completes in less than a second.  We have also
been running this same code with non-threaded Perl/Apache/mp2 for several weeks
now, and it did not exhibit this behavior.  It seems to be limited to mod_perl
with threads enabled.  I don't even know where to begin hunting this down....

- -- 
Stephen Clouse <>
Senior Programmer, IQ Coordinator Project Lead
The IQ Group, Inc. <>
Version: GnuPG v1.0.7 (GNU/Linux)


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message