Hi,

I'm getting segmentation faults on a Redhat 7.2 machine with Apache 1.3.27 (Redhat rpm apache-1.3.27-2.7.2), mod_perl 1.26 (Redhat rpm mod_perl-1.26-2) and HTML::Embperl 1.3.6 (from CPAN). I compiled Embperl with debug enabled which produced the attached backtrace (hope it's not too much). I've also attached a snippet of the .htmpl file which seems to cause the segfault, I can reproduce the error by posting the form and filling out the field "directorfirst" but not "starfirst", then pressing back on the browser and posting again with the field "starfirst" filled out but not "directorfirst" (dunno if that's any help).

Embperl builds without errors, tests run through without errors as well until the point where they try to start apache which doesn't work cause this is a production machine which runs a server I can't take down for testing.

I'd be happy if you could give me any pointers as to what I can do next, I'm kinda stuck at this point.

Thanks,

Marc
(gdb) run
Starting program: /usr/sbin/httpd-debug -DHAVE_ACCESS -DHAVE_PROXY -DHAVE_AUTH_ANON 
-DHAVE_ACTIONS -DHAVE_ALIAS -DHAVE_ASIS -DHAVE_AUTH -DHAVE_AUTOINDEX -DHAVE_AUTH_DB 
-DHAVE_AUTH_DBM -DHAVE_CERN_META -DHAVE_CGI -DHAVE_DIGEST -DHAVE_DIR -DHAVE_ENV 
-DHAVE_EXAMPLE -DHAVE_EXPIRES -DHAVE_HEADERS -DHAVE_IMAP -DHAVE_INCLUDE -DHAVE_INFO 
-DHAVE_LOG_AGENT -DHAVE_LOG_CONFIG -DHAVE_LOG_REFERER -DHAVE_MIME -DHAVE_MIME_MAGIC 
-DHAVE_MMAP_STATIC -DHAVE_NEGOTIATION -DHAVE_REWRITE -DHAVE_SETENVIF -DHAVE_SPELING 
-DHAVE_STATUS -DHAVE_UNIQUE_ID -DHAVE_USERDIR -DHAVE_USERTRACK -DHAVE_VHOST_ALIAS 
-DHAVE_DAV -DHAVE_PERL -DHAVE_SSL -DHAVE_PHP4 -DHAVE_AUTH_ANY -DHAVE_AUTH_PGSQL 
-DHAVE_BANDWIDTH -DHAVE_PUT -DHAVE_PYTHON -DHAVE_ROAMING -DHAVE_THROTTLE 
-DHAVE_AUTH_MYSQL  -X -f /etc/apache-debug/conf/httpd.conf
[New Thread 1024 (LWP 12443)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 12443)]
0x404a69fa in Perl_av_fetch () from /etc/apache-debug/modules/libperl.so
(gdb) bt
#0  0x404a69fa in Perl_av_fetch () from /etc/apache-debug/modules/libperl.so
#1  0x40483f68 in S_pad_findlex () from /etc/apache-debug/modules/libperl.so
#2  0x40484523 in Perl_pad_findmy () from /etc/apache-debug/modules/libperl.so
#3  0x40470fcb in Perl_yylex () from /etc/apache-debug/modules/libperl.so
#4  0x40481953 in Perl_yyparse () from /etc/apache-debug/modules/libperl.so
#5  0x404cf569 in S_doeval () from /etc/apache-debug/modules/libperl.so
#6  0x404d0b3f in Perl_pp_entereval () from /etc/apache-debug/modules/libperl.so
#7  0x40467abc in S_call_body () from /etc/apache-debug/modules/libperl.so
#8  0x40467c31 in perl_eval_sv () from /etc/apache-debug/modules/libperl.so
#9  0x42d5310e in EvalAll (r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
flags=0, sName=0x89ffe28 "$�\224\b\001", 
    pRet=0xbfffcca8) at epeval.c:218
#10 0x42d53c3a in EMBPERL_EvalOnly (r=0x894a488, sArg=0x8951e80 
"�A\232\b\230A\232\b_IMGDIR} || a", ppSV=0x89f23b4, flags=0, 
    sName=0x89a4060 "��\237\b") at epeval.c:574
#11 0x42d53d53 in EvalAndCall (r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} 
", ppSV=0x89f23b4, flags=0, pRet=0xbfffcdb4)
    at epeval.c:643
#12 0x42d53fcd in EMBPERL_EvalTransFlags (r=0x894a488, sArg=0x89f6e83 " 
$$searchdata{starfirst} ", nFilepos=1251, flags=0, pRet=0xbfffcdb4)
    at epeval.c:978
#13 0x42d54029 in EMBPERL_EvalTrans (r=0x894a488, sArg=0x89f6e83 " 
$$searchdata{starfirst} ", nFilepos=1251, pRet=0xbfffcdb4)
    at epeval.c:993
#14 0x42d4b625 in ScanCmdEvals (r=0x894a488, 
    p=0x89f6e9e "</p></font></td>\n    </tr>\n[* } *]\n[* if($$searchdata{starlast}){ 
*]    \n    <tr>\n        <td colspan=\"9\"><font face=\"Arial\" size=\"2\"><p>Star 
last name contains: [+ $$searchdata{starlast} +]</p></font"...) at epmain.c:911
#15 0x42d4fba3 in EMBPERL_ProcessBlock (r=0x894a488, nBlockStart=1163, nBlockSize=1, 
nBlockNo=143990400) at epmain.c:3486
#16 0x42d466d8 in XS_HTML__Embperl__Req_ProcessBlock (cv=0x8843f6c) at Embperl.xs:593
#17 0x404adedc in Perl_pp_entersub () from /etc/apache-debug/modules/libperl.so
#18 0x404a8328 in Perl_runops_standard () from /etc/apache-debug/modules/libperl.so
#19 0x40467ad4 in S_call_body () from /etc/apache-debug/modules/libperl.so
#20 0x404678b1 in perl_call_sv () from /etc/apache-debug/modules/libperl.so
#21 0x42d53857 in EMBPERL_CallCV (r=0x894a488, sArg=0x42d58dc0 "", pSub=0x89a4114, 
flags=12, pRet=0xbfffd098) at epeval.c:434
#22 0x42d548cc in EMBPERL_EvalMain (r=0x894a488) at epeval.c:1352
#23 0x42d4f7de in ProcessFile (r=0x894a488, nFileSize=1) at epmain.c:3357
#24 0x42d500ab in EMBPERL_ExecuteReq (r=0x894a488, pReqSV=0x87dfeac) at epmain.c:3791
#25 0x42d4757d in XS_HTML__Embperl__Req_ExecuteReq (cv=0x882e288) at Embperl.xs:742
#26 0x404adedc in Perl_pp_entersub () from /etc/apache-debug/modules/libperl.so
#27 0x404a8328 in Perl_runops_standard () from /etc/apache-debug/modules/libperl.so
#28 0x40467ad4 in S_call_body () from /etc/apache-debug/modules/libperl.so
#29 0x404678b1 in perl_call_sv () from /etc/apache-debug/modules/libperl.so
#30 0x404490e5 in perl_call_handler () from /etc/apache-debug/modules/libperl.so
#31 0x4044891b in perl_run_stacked_handlers () from 
/etc/apache-debug/modules/libperl.so
#32 0x40447048 in perl_handler () from /etc/apache-debug/modules/libperl.so
#33 0x08054b3d in ap_invoke_handler () at eval.c:41
#34 0x08067e3c in process_request_internal () at eval.c:41
#35 0x08067eb3 in ap_process_request () at eval.c:41
#36 0x0805ffc7 in child_main () at eval.c:41
#37 0x0806016a in make_child () at eval.c:41
#38 0x080602ad in startup_children () at eval.c:41
#39 0x08060900 in standalone_main () at eval.c:41
#40 0x08061203 in main () at eval.c:41
#41 0x40170507 in __libc_start_main (main=0x8060d70 <main>, argc=52, 
ubp_av=0xbffff744, init=0x804f448 <_init>, fini=0x8075cc0 <_fini>, 
    rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffff73c) at 
../sysdeps/generic/libc-start.c:129
(gdb) f 9
#9  0x42d5310e in EvalAll (r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
flags=0, sName=0x89ffe28 "$�\224\b\001", 
    pRet=0xbfffcca8) at epeval.c:218
218         n = perl_eval_sv(pSVCmd, G_SCALAR | G_KEEPERR);
(gdb) info f
Stack level 9, frame at 0xbfffcc78:
 eip = 0x42d5310e in EvalAll (epeval.c:218); saved eip 0x42d53c3a
 called by frame at 0xbfffccb8, caller of frame at 0xbfffcc38
 source language c.
 Arglist at 0xbfffcc78, args: r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
flags=0, sName=0x89ffe28 "$�\224\b\001", 
    pRet=0xbfffcca8
 Locals at 0xbfffcc78, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffcc6c, ebp at 0xbfffcc78, esi at 0xbfffcc70, edi at 0xbfffcc74, eip at 
0xbfffcc7c
(gdb) f 10
#10 0x42d53c3a in EMBPERL_EvalOnly (r=0x894a488, sArg=0x8951e80 
"�A\232\b\230A\232\b_IMGDIR} || a", ppSV=0x89f23b4, flags=0, 
    sName=0x89a4060 "��\237\b") at epeval.c:574
574         rc = EvalAll (r, sArg, flags, sName, &pSub) ;
(gdb) info f
Stack level 10, frame at 0xbfffccb8:
 eip = 0x42d53c3a in EMBPERL_EvalOnly (epeval.c:574); saved eip 0x42d53d53
 called by frame at 0xbfffccf8, caller of frame at 0xbfffcc78
 source language c.
 Arglist at 0xbfffccb8, args: r=0x894a488, sArg=0x8951e80 "�A\232\b\230A\232\b_IMGDIR} 
|| a", ppSV=0x89f23b4, flags=0, 
    sName=0x89a4060 "��\237\b"
 Locals at 0xbfffccb8, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffccac, ebp at 0xbfffccb8, esi at 0xbfffccb0, edi at 0xbfffccb4, eip at 
0xbfffccbc
(gdb) f 11
#11 0x42d53d53 in EvalAndCall (r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} 
", ppSV=0x89f23b4, flags=0, pRet=0xbfffcdb4)
    at epeval.c:643
643         if ((rc = EvalOnly (r, sArg, ppSV, flags, "")) != ok)
(gdb) info f
Stack level 11, frame at 0xbfffccf8:
 eip = 0x42d53d53 in EvalAndCall (epeval.c:643); saved eip 0x42d53fcd
 called by frame at 0xbfffcd38, caller of frame at 0xbfffccb8
 source language c.
 Arglist at 0xbfffccf8, args: r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
ppSV=0x89f23b4, flags=0, pRet=0xbfffcdb4
 Locals at 0xbfffccf8, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffccec, ebp at 0xbfffccf8, esi at 0xbfffccf0, edi at 0xbfffccf4, eip at 
0xbfffccfc
(gdb) f 12
#12 0x42d53fcd in EMBPERL_EvalTransFlags (r=0x894a488, sArg=0x89f6e83 " 
$$searchdata{starfirst} ", nFilepos=1251, flags=0, pRet=0xbfffcdb4)
    at epeval.c:978
978             return EvalAndCall (r, sArg, ppSV, flags, pRet) ;
(gdb) info f
Stack level 12, frame at 0xbfffcd38:
 eip = 0x42d53fcd in EMBPERL_EvalTransFlags (epeval.c:978); saved eip 0x42d54029
 called by frame at 0xbfffcd68, caller of frame at 0xbfffccf8
 source language c.
 Arglist at 0xbfffcd38, args: r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
nFilepos=1251, flags=0, pRet=0xbfffcdb4
 Locals at 0xbfffcd38, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffcd2c, ebp at 0xbfffcd38, esi at 0xbfffcd30, edi at 0xbfffcd34, eip at 
0xbfffcd3c
(gdb) f 13
#13 0x42d54029 in EMBPERL_EvalTrans (r=0x894a488, sArg=0x89f6e83 " 
$$searchdata{starfirst} ", nFilepos=1251, pRet=0xbfffcdb4)
    at epeval.c:993
993         return EvalTransFlags (r, sArg, nFilepos, G_SCALAR, pRet) ;
(gdb) info f
Stack level 13, frame at 0xbfffcd68:
 eip = 0x42d54029 in EMBPERL_EvalTrans (epeval.c:993); saved eip 0x42d4b625
 called by frame at 0xbfffcdc8, caller of frame at 0xbfffcd38
 source language c.
 Arglist at 0xbfffcd68, args: r=0x894a488, sArg=0x89f6e83 " $$searchdata{starfirst} ", 
nFilepos=1251, pRet=0xbfffcdb4
 Locals at 0xbfffcd68, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffcd64, ebp at 0xbfffcd68, eip at 0xbfffcd6c
(gdb) f 14
#14 0x42d4b625 in ScanCmdEvals (r=0x894a488, 
    p=0x89f6e9e "</p></font></td>\n    </tr>\n[* } *]\n[* if($$searchdata{starlast}){ 
*]    \n    <tr>\n        <td colspan=\"9\"><font face=\"Arial\" size=\"2\"><p>Star 
last name contains: [+ $$searchdata{starlast} +]</p></font"...) at epmain.c:911
911                     rc = EvalTrans (r, r -> Buf.pCurrPos, (r -> Buf.pCurrPos - r 
-> Buf.pBuf), &pRet) ;
(gdb) info f
Stack level 14, frame at 0xbfffcdc8:
 eip = 0x42d4b625 in ScanCmdEvals (epmain.c:911); saved eip 0x42d4fba3
 called by frame at 0xbfffcdf8, caller of frame at 0xbfffcd68
 source language c.
 Arglist at 0xbfffcdc8, args: r=0x894a488, 
    p=0x89f6e9e "</p></font></td>\n    </tr>\n[* } *]\n[* if($$searchdata{starlast}){ 
*]    \n    <tr>\n        <td colspan=\"9\"><font face=\"Arial\" size=\"2\"><p>Star 
last name contains: [+ $$searchdata{starlast} +]</p></font"...
 Locals at 0xbfffcdc8, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffcdbc, ebp at 0xbfffcdc8, esi at 0xbfffcdc0, edi at 0xbfffcdc4, eip at 
0xbfffcdcc
(gdb) f 15
#15 0x42d4fba3 in EMBPERL_ProcessBlock (r=0x894a488, nBlockStart=1163, nBlockSize=1, 
nBlockNo=143990400) at epmain.c:3486
3486                rc = ScanCmdEvals (r, p) ;
(gdb) info f
Stack level 15, frame at 0xbfffcdf8:
 eip = 0x42d4fba3 in EMBPERL_ProcessBlock (epmain.c:3486); saved eip 0x42d466d8
 called by frame at 0xbfffce38, caller of frame at 0xbfffcdc8
 source language c.
 Arglist at 0xbfffcdf8, args: r=0x894a488, nBlockStart=1163, nBlockSize=1, 
nBlockNo=143990400
 Locals at 0xbfffcdf8, Previous frame's sp is 0x0
 Saved registers:
  ebx at 0xbfffcdec, ebp at 0xbfffcdf8, esi at 0xbfffcdf0, edi at 0xbfffcdf4, eip at 
0xbfffcdfc
(gdb) 
[* if($$searchdata{starfirst}){ *]
    <tr>
        <td colspan="9"><font face="Arial" size="2"><p>Star first name contains: [+ 
$$searchdata{starfirst} +]</p></font></td>
    </tr>
[* } *]
[* if($$searchdata{starlast}){ *]
    <tr>
        <td colspan="9"><font face="Arial" size="2"><p>Star last name contains: [+ 
$$searchdata{starlast} +]</p></font></td>
    </tr>
[* } *]
[* if($$searchdata{directorfirst}){ *]
    <tr>
        <td colspan="9"><font face="Arial" size="2"><p>Director first name contains: 
[+ $$searchdata{directorfirst} +]</p></font></td>
    </tr>
[* } *]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to