Hi Gerald - My segfaults happen in production even with perl back to 5.8.3. I must be a configuration problem. Here is what I' getting:
-------------8<---------- Start Bug Report ------------8<---------- 1. Problem Description: segfaults on embperl pages. Content is transfered to the browser. Using Embperl cvs. 1a. Test page <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>Embperl test</title> </head> <body> <h1>Embperl test</h1> <p>2 + 2 = [+ 4 +].</p> </body> </html> 1b. httpd.conf [...] LoadModule embperl_module \ /usr/perl/db-apache2.1/lib/site_perl/5.8.4/i686-linux-thread-multi/auto/Embperl/Embperl.so [...] <VirtualHost xxx.xxx.xxx.xxx:80> ServerName xxxxx.xxxxx.com DocumentRoot "/srv/www/htdocs/embtest" <Directory "/srv/www/htdocs/embtest"> Embperl_AppName my_embtest_app <FilesMatch "\.html$"> SetHandler perl-script PerlHandler Embperl Options ExecCGI </FilesMatch> </Directory> </VirtualHost> 2. Used Components and their Configuration: *** mod_perl version 1.9914 *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_APXS => /usr/apache2.1/sbin/apxs MP_COMPAT_1X => 1 MP_DEBUG => 1 MP_GENERATE_XS => 1 MP_LIBNAME => mod_perl MP_TRACE => 1 MP_USE_DSO => 1 MP_USE_STATIC => 1 *** /usr/apache2.1/sbin/httpd -V Server version: Apache/2.1.0-dev Server built: Apr 24 2004 23:26:12 Server's Module Magic Number: 20030821:3 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/usr/apache2.1" -D SUEXEC_BIN="/usr/apache2.1/bin/suexec" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/httpd/mime.types" -D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf" *** /usr/perl/db-apache2.1/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 4) configuration: Platform: osname=linux, osvers=2.6.6-rc2, archname=i686-linux-thread-multi uname='linux cathy.beaucox.com 2.6.6-rc2 #1 sat apr 24 13:43:16 hst 2004 i686 unknown unknown gnulinux ' config_args='-Dprefix=/usr/perl/db-apache2.1 -d -e -Dusethreads -Duseshrplib -Doptimize='-g'' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='3.3.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/perl/db-apache2.1/lib/5.8.4/i686-linux-thread-multi/CORE' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Apr 24 2004 22:45:51 %ENV: PERL_LWP_USE_HTTP_10="1" @INC: /usr/perl/db-apache2.1/lib/5.8.4/i686-linux-thread-multi /usr/perl/db-apache2.1/lib/5.8.4 /usr/perl/db-apache2.1/lib/site_perl/5.8.4/i686-linux-thread-multi /usr/perl/db-apache2.1/lib/site_perl/5.8.4 /usr/perl/db-apache2.1/lib/site_perl . *** Packages of interest status: Apache::Request: 2.03-dev CGI : 3.05 LWP : 5.79 mod_perl : 1.9914 3. This is the core dump trace: (if you get a core dump): Starting program: /usr/apache2.1/sbin/httpd -X -DPRODUCTION -DAPACHE_2.1 [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 5447)] Detaching after fork from child process 5450. Detaching after fork from child process 5451. Detaching after fork from child process 5452. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 5447)] 0x40575711 in S_hv_fetch_common (my_perl=0x84bc198, hv=0x88dade8, keysv=0x0, key=0x4070dbc6 "EMBPERL_ALLOW", klen=13, flags=0, action=8, val=0x0, hash=138139023) at hv.c:631 631 if (HeHASH(entry) != hash) /* strings can't be equal */ (gdb) bt #0 0x40575711 in S_hv_fetch_common (my_perl=0x84bc198, hv=0x88dade8, keysv=0x0, key=0x4070dbc6 "EMBPERL_ALLOW", klen=13, flags=0, action=8, val=0x0, hash=138139023) at hv.c:631 #1 0x40574d53 in Perl_hv_fetch (my_perl=0x84bc198, hv=0x88dade8, key=0x4070dbc6 "EMBPERL_ALLOW", klen_i32=13, lval=0) at hv.c:323 #2 0x406a3644 in EMBPERL2_GetHashValueStr (my_perl=0x84bc198, pHash=0x88dade8, sKey=0x4070dbc6 "EMBPERL_ALLOW", sDefault=0x0) at eputil.c:760 #3 0x406b2bf4 in embperl_GetCGIReqConfig (pApp=0x8b98ad4, pPool=0x8b9aabc, pConfig=0x8b9aafc, bUseEnv=1 '\001', bUseRedirectEnv=0 '\0', bSetDefault=0 '\0') at epcfg.h:36 #4 0x406d5ae7 in embperl_GetApacheReqConfig (pApp=0x8b98ad4, pPool=0x8b9aabc, pDirCfg=0x8ab1f28, pConfig=0x8b9aafc) at mod_embperl.c:879 #5 0x406ae9c7 in embperl_SetupRequest (my_perl=0x84bc198, pApacheReqSV=0x8c52558, pApp=0x8b98ad4, pApacheCfg=0x8ab1f28, pPerlParam=0x0, ppReq=0xbfffeea4) at epinit.c:1394 #6 0x406b0e43 in embperl_InitRequest (my_perl=0x84bc198, pApacheReqSV=0x8c52558, pPerlParam=0x0, ppReq=0xbfffef0c) at epinit.c:2121 #7 0x406b1319 in embperl_InitRequestComponent (my_perl=0x84bc198, pApacheReqSV=0x8c52558, pPerlParam=0x0, ppReq=0xbfffef0c) at epinit.c:2189 #8 0x4069fe5d in embperl_ExecuteRequest (my_perl=0x84bc198, pApacheReqSV=0x8c52558, pPerlParam=0x0) at epmain.c:1417 #9 0x40693498 in XS_Embperl__Req_ExecuteRequest (my_perl=0x84bc198, cv=0x8ab83a0) at Embperl.xs:85 #10 0x405883ad in Perl_pp_entersub (my_perl=0x84bc198) at pp_hot.c:2854 #11 0x40561e72 in Perl_runops_debug (my_perl=0x84bc198) at dump.c:1442 #12 0x40500dd6 in S_call_body (my_perl=0x84bc198, myop=0xbffff180, is_eval=0) at perl.c:2285 #13 0x405008fc in Perl_call_sv (my_perl=0x84bc198, sv=0x8ad0084, flags=4) at perl.c:2203 #14 0x404b30c1 in modperl_callback (my_perl=0x84bc198, handler=0x8ab6148, p=0x8ab06a0, r=0x8ab06d8, s=0x81a1c70, args=0x8c5254c) at modperl_callback.c:99 #15 0x404b39b7 in modperl_callback_run_handlers (idx=6, type=4, r=0x8ab06d8, c=0x0, s=0x81a1c70, pconf=0x0, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:262 #16 0x404b3c8f in modperl_callback_per_dir (idx=6, r=0x8ab06d8, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:350 #17 0x404abb81 in modperl_response_handler_run (r=0x8ab06d8, finish=0) at mod_perl.c:865 ---Type <return> to continue, or q <return> to quit--- #18 0x404abf22 in modperl_response_handler_cgi (r=0x8ab06d8) at mod_perl.c:960 #19 0x080a297f in ap_run_handler (r=0x8ab06d8) at config.c:151 #20 0x080a310d in ap_invoke_handler (r=0x8ab06d8) at config.c:363 #21 0x0808e7b3 in ap_process_request (r=0x8ab06d8) at http_request.c:246 #22 0x0808850a in ap_process_http_connection (c=0x8aa3db8) at http_core.c:253 #23 0x080b0504 in ap_run_process_connection (c=0x8aa3db8) at connection.c:42 #24 0x080b08fe in ap_process_connection (c=0x8aa3db8, csd=0x8aa3c20) at connection.c:175 #25 0x080a0eeb in child_main (child_num_arg=0) at prefork.c:625 #26 0x080a0fce in make_child (s=0x8131478, slot=0) at prefork.c:665 #27 0x080a1599 in ap_mpm_run (_pconf=0x80f40f0, plog=0x812c1d0, s=0x8131478) at prefork.c:941 #28 0x080a9229 in main (argc=4, argv=0xbffff644) at main.c:665 (gdb) This report was generated by t/REPORT on Sun Apr 25 10:01:45 2004 GMT. -------------8<---------- End Bug Report --------------8<---------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]