[mp2]Perl_parse free some resources
am 05.06.2008 21:55:39 von Dinesh Premalal------=_Part_9441_21395361.1212695739632
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi All,
I'm using modperl2 with PerlRun to invoke my cgi script. My server
configuration is as follows
Apache/2.2.6 (Unix) Axis2C/1.3.1 mod_perl/2.0.4 Perl/v5.10.0
script I invoke via mod_perl2 (say echo_service.pl) call to some other C
program. In that c program going to invoke a perl function. However when I
call perl function from C ,perl_parse method seems freeing some resources
that mod_perl2 using.
Here is the valgrind trace.
-----------------------------------------
==21847== Invalid read of size 4
==21847== at 0x4A0A7C8: Perl_save_clearsv (scope.c:490)
==21847== by 0x4975B53: Perl_pp_padsv (pp_hot.c:309)
==21847== by 0x492DB39: Perl_runops_debug (dump.c:1931)
==21847== by 0x4969A2B: Perl_call_sv (perl.c:2646)
==21847== by 0x481A593: modperl_callback (modperl_callback.c:101)
==21847== by 0x481B8C4: modperl_callback_run_handlers
(modperl_callback.c:262)
==21847== by 0x481C458: modperl_callback_per_dir (modperl_callback.c:369)
==21847== by 0x4814668: modperl_response_handler_run (mod_perl.c:1000)
==21847== by 0x4814940: modperl_response_handler_cgi (mod_perl.c:1100)
==21847== by 0x807D864: ap_run_handler (in /usr/local/apache2/bin/httpd)
==21847== by 0x807DFB4: ap_invoke_handler (in
/usr/local/apache2/bin/httpd)
==21847== by 0x809BC1F: ap_process_request (in
/usr/local/apache2/bin/httpd)
==21847== Address 0x51cf5cc is 8 bytes after a block of size 28 free'd
==21847== at 0x402265C: free (vg_replace_malloc.c:323)
==21847== by 0x48CCD1D: S_op_destroy (op.c:417)
==21847== by 0x48D2EBC: Perl_append_list (op.c:2588)
==21847== by 0x48C98BC: Perl_yyparse (perly.y:189)
==21847== by 0x4967A5D: S_parse_body (perl.c:2230)
==21847== by 0x4965FD3: perl_parse (perl.c:1650)
==21847== by 0x4CFDA29: wsf_xml_msg_recv_invoke_other
(wsf_xml_msg_recv.c:429)
==21847== by 0x4CFD329: wsf_xml_msg_recv_invoke_business_logic_sync
(wsf_xml_msg_recv.c:207)
==21847== by 0x46F899E: axis2_msg_recv_invoke_business_logic
(msg_recv.c:392)
==21847== by 0x46F877C: axis2_msg_recv_receive_impl (msg_recv.c:319)
==21847== by 0x46F89FA: axis2_msg_recv_receive (msg_recv.c:431)
==21847== by 0x46E9F34: axis2_engine_receive (engine.c:315)
Any idea on fixing this segmentation fault would be a great help.
thanks,
Dinesh
--
http://nethu.org/
------=_Part_9441_21395361.1212695739632
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi All,
I'm using modperl2 with PerlRun to invoke my cgi script. My server configuration is as follows
Apache/2.2.6 (Unix) Axis2C/1.3.1 mod_perl/2.0.4 Perl/v5.10.0
script I invoke via mod_perl2 (say echo_service.pl) call to some other C program. In that c program going to invoke a perl function. However when I call perl function from C ,perl_parse method seems freeing some resources that mod_perl2 using.
Here is the valgrind trace.
-----------------------------------------
==21847== Invalid read of size 4
==21847== at 0x4A0A7C8: Perl_save_clearsv (scope.c:490)
==21847== by 0x4975B53: Perl_pp_padsv (pp_hot.c:309)
==21847== by 0x492DB39: Perl_runops_debug (dump.c:1931)
==21847== by 0x4969A2B: Perl_call_sv (perl.c:2646)
==21847== by 0x481A593: modperl_callback (modperl_callback.c:101)
==21847== by 0x481B8C4: modperl_callback_run_handlers (modperl_callback.c:262)
==21847== by 0x481C458: modperl_callback_per_dir (modperl_callback.c:369)
==21847== by 0x4814668: modperl_response_handler_run (mod_perl.c:1000)
==21847== by 0x4814940: modperl_response_handler_cgi (mod_perl.c:1100)
==21847== by 0x807D864: ap_run_handler (in /usr/local/apache2/bin/httpd)
==21847== by 0x807DFB4: ap_invoke_handler (in /usr/local/apache2/bin/httpd)
==21847== by 0x809BC1F: ap_process_request (in /usr/local/apache2/bin/httpd)
==21847== Address 0x51cf5cc is 8 bytes after a block of size 28 free'd
==21847== at 0x402265C: free (vg_replace_malloc.c:323)
==21847== by 0x48CCD1D: S_op_destroy (op.c:417)
==21847== by 0x48D2EBC: Perl_append_list (op.c:2588)
==21847== by 0x48C98BC: Perl_yyparse (perly.y:189)
==21847== by 0x4967A5D: S_parse_body (perl.c:2230)
==21847== by 0x4965FD3: perl_parse (perl.c:1650)
==21847== by 0x4CFDA29: wsf_xml_msg_recv_invoke_other (wsf_xml_msg_recv.c:429)
==21847== by 0x4CFD329: wsf_xml_msg_recv_invoke_business_logic_sync (wsf_xml_msg_recv.c:207)
==21847== by 0x46F899E: axis2_msg_recv_invoke_business_logic (msg_recv.c:392)
==21847== by 0x46F877C: axis2_msg_recv_receive_impl (msg_recv.c:319)
==21847== by 0x46F89FA: axis2_msg_recv_receive (msg_recv.c:431)
==21847== by 0x46E9F34: axis2_engine_receive (engine.c:315)
Any idea on fixing this segmentation fault would be a great help.
thanks,
Dinesh
--
------=_Part_9441_21395361.1212695739632--