perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Clouse <steph...@theiqgroup.com>
Subject [mp2.0] Several problems with threads
Date Fri, 08 Nov 2002 00:45:07 GMT
-----BEGIN PGP SIGNED MESSAGE-----
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
modperl_interp.c:326
326             interp = scfg->mip->parent;
(gdb) bt
#0  0x40272126 in modperl_interp_pool_select (p=0x80d58f0, s=0x91d4020) at
    modperl_interp.c:326
#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/libc.so.6

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 <stephenc@theiqgroup.com>
Senior Programmer, IQ Coordinator Project Lead
The IQ Group, Inc. <http://www.theiqgroup.com/>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9ywkTA4aoazQ9p2cRAleVAKCXow6Z+gjS9x4nlu6P6jS9mc++XQCfUUgt
yLtdVdijdK6ztAra32zjSoM=
=Z3TA
-----END PGP SIGNATURE-----

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


Mime
View raw message