axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Uthaiyashankar <shan...@wso2.com>
Subject Re: segfault in apr_rmm_free after installing 1.4.0
Date Thu, 08 May 2008 17:28:59 GMT
Hi,

It looks like, it is a bug. It is calling AXIS2_FREE() from 
om_stax_builder.c:481 with NULL pointer.
(This can be seen from
#1  0xb7743296 in axis2_module_free (allocator=0xb39b8028, ptr=0x0) at 
mod_axis2.c:430
)

Ideally, it if the pointer is NULL, AXIS2_FREE should not be called. Can 
you create a jira for this?

Why that pointer becomes NULL should be checked. It might be valid, so 
can you apply following patch from <Axis2C location>\axiom\src\om and 
try? (or you can comment om_stax_builder.c:481 , but it will be a memory 
leak).

Regards,
Shankar

Index: om_stax_builder.c
===================================================================
--- om_stax_builder.c    (revision 653833)
+++ om_stax_builder.c    (working copy)
@@ -474,12 +474,14 @@
                             AXIS2_FAILURE);
             return AXIS2_FAILURE;
         }
+
+        #ifdef AXIS2_LIBXML2_ENABLED
+            axiom_xml_reader_xml_free(om_builder->parser, env, 
temp_prefix);
+        #else
+            AXIS2_FREE(env->allocator,temp_prefix);
+        #endif
     }
-#ifdef AXIS2_LIBXML2_ENABLED
-    axiom_xml_reader_xml_free(om_builder->parser, env, temp_prefix);
-#else
-    AXIS2_FREE(env->allocator,temp_prefix);
-#endif
+
     return status;
 }


Michael Ryan wrote:
>
>  
>
> This occurs during apache start-up is after an upgrade from 1.3.0 to 
> 1.4.0 (apache 2.2.3) rampart/c installed.
>
>  
>
> s100:/usr/lib/apache2 # gdb httpd2
>
> GNU gdb 6.6
>
> Copyright (C) 2006 Free Software Foundation, Inc.
>
> Using host libthread_db library "/lib/libthread_db.so.1".
>
> (gdb) set pag off
>
> (gdb) set args -X -k start
>
> (gdb) run
>
> Starting program: /usr/sbin/httpd2 -X -k start
>
> (no debugging symbols found)
>
> (no debugging symbols found)
>
> [Thread debugging using libthread_db enabled]
>
> [New Thread -1213916384 (LWP 32270)]
>
> (no debugging symbols found)
>
> (no debugging symbols found)
>
>  
>
> Program received signal SIGSEGV, Segmentation fault.
>
> [Switching to Thread -1213916384 (LWP 32270)]
>
> 0xb7ed338e in apr_rmm_free () from /usr/lib/libaprutil-1.so.0
>
> (gdb) backtrace
>
> #0  0xb7ed338e in apr_rmm_free () from /usr/lib/libaprutil-1.so.0
>
> #1  0xb7743296 in axis2_module_free (allocator=0xb39b8028, ptr=0x0) at 
> mod_axis2.c:430
>
> #2  0xb75630f2 in axiom_stax_builder_process_namespaces 
> (om_builder=0xb39b9c28, env=0xb39b82f8, node=0xb39be0d0, 
> is_soap_element=0) at om_stax_builder.c:481
>
> #3  0xb756397c in axiom_stax_builder_create_om_element 
> (om_builder=0xb39b9c28, env=0xb39b82f8, is_empty=0) at 
> om_stax_builder.c:579
>
> #4  0xb7563c6b in axiom_stax_builder_next (om_builder=0xb39b9c28, 
> env=0xb39b82f8) at om_stax_builder.c:822
>
> #5  0xb755a589 in axiom_document_build_next (document=0xb39b9ce8, 
> env=0xb39b82f8) at om_document.c:118
>
> #6  0xb755a621 in axiom_document_get_root_element 
> (document=0xb39b9ce8, env=0xb39b82f8) at om_document.c:151
>
> #7  0xb755a749 in axiom_document_build_all (document=0xb39b9ce8, 
> env=0xb39b82f8) at om_document.c:197
>
> #8  0xb75a6a83 in axis2_desc_builder_build_om 
> (desc_builder=0xb39b97b8, env=0xb39b82f8) at desc_builder.c:206
>
> #9  0xb75b1063 in axis2_conf_builder_populate_conf 
> (conf_builder=0xb39b97a0, env=0xb39b82f8) at conf_builder.c:157
>
> #10 0xb75a9ed3 in axis2_dep_engine_load (dep_engine=0xb39b8338, 
> env=0xb39b82f8) at dep_engine.c:747
>
> #11 0xb75b388c in axis2_build_conf_ctx (env=0xb39b82f8, 
> repo_name=0x80145e38 "/usr/local/axis2c") at conf_init.c:61
>
> #12 0xb7745bdf in axis2_apache2_worker_create (env=0xb39b82f8, 
> repo_path=0x80145e38 "/usr/local/axis2c") at apache2_worker.c:65
>
> #13 0xb7743036 in axis2_post_config (pconf=0x8005b0a8, 
> plog=0x80089160, ptemp=0x8005f0b8, svr_rec=0x8005cf48) at mod_axis2.c:567
>
> #14 0x8002f603 in ap_run_post_config () from /usr/sbin/httpd2
>
> #15 0x8001af4d in main () from /usr/sbin/httpd2
>
> (gdb)
>
> (gdb) i r
>
> eax            0x8015c3e8     -2146057240
>
> ecx            0xb39b8008     -1281654776
>
> edx            0x4c647fe8     1281654760
>
> ebx            0xb7ed8368     -1209171096
>
> esp            0xbfe162d0     0xbfe162d0
>
> ebp            0xbfe162e8     0xbfe162e8
>
> esi            0xfffffff0     -16
>
> edi            0x8015c3e8     -2146057240
>
> eip            0xb7ed338e     0xb7ed338e <apr_rmm_free+62>
>
> eflags         0x10296  [ PF AF SF IF RF ]
>
> cs             0x73     115
>
> ss             0x7b     123
>
> ds             0x7b     123
>
> es             0x7b     123
>
> fs             0x0      0
>
> gs             0x33     51
>
>  
>
>  
>
> (gdb) x /20i $eip
>
> 0xb7ed338e <apr_rmm_free+62>: mov    0x4(%esi),%eax
>
> 0xb7ed3391 <apr_rmm_free+65>: test   %eax,%eax
>
> 0xb7ed3393 <apr_rmm_free+67>: je     0xb7ed3420 <apr_rmm_free+208>
>
> 0xb7ed3399 <apr_rmm_free+73>: cmp    0x8(%ecx,%eax,1),%edx
>
> 0xb7ed339d <apr_rmm_free+77>: je     0xb7ed3429 <apr_rmm_free+217>
>
> 0xb7ed33a3 <apr_rmm_free+83>: mov    0xc(%edi),%eax
>
> 0xb7ed33a6 <apr_rmm_free+86>: test   %eax,%eax
>
> 0xb7ed33a8 <apr_rmm_free+88>: je     0xb7ed3480 <apr_rmm_free+304>
>
> 0xb7ed33ae <apr_rmm_free+94>: cmp    $0x2,%eax
>
> 0xb7ed33b1 <apr_rmm_free+97>: jne    0xb7ed348a <apr_rmm_free+314>
>
> 0xb7ed33b7 <apr_rmm_free+103>:      mov    0x10(%edi),%eax
>
> 0xb7ed33ba <apr_rmm_free+106>:      mov    %eax,(%esp)
>
> 0xb7ed33bd <apr_rmm_free+109>:      call   0xb7ec74fc 
> <apr_thread_mutex_unlock@plt>
>
> 0xb7ed33c2 <apr_rmm_free+114>:      mov    $0x16,%eax
>
> 0xb7ed33c7 <apr_rmm_free+119>:      mov    0xfffffff4(%ebp),%ebx
>
> 0xb7ed33ca <apr_rmm_free+122>:      mov    0xfffffff8(%ebp),%esi
>
> 0xb7ed33cd <apr_rmm_free+125>:      mov    0xfffffffc(%ebp),%edi
>
> 0xb7ed33d0 <apr_rmm_free+128>:      mov    %ebp,%esp
>
> 0xb7ed33d2 <apr_rmm_free+130>:      pop    %ebp
>
> 0xb7ed33d3 <apr_rmm_free+131>:      ret 
>
>  
>
> Linux s100 2.6.16.54-0.2.5-smp #1 SMP Mon Jan 21 13:29:51 UTC 2008 
> i686 i686 i386 GNU/Linux
>
> s100:/usr/lib/apache2 #
>
>  
>
> httpd2 -v
>
> Server version: Apache/2.2.3
>
> Server built:   Mar 26 2008 12:23:18
>
> s100:/usr/lib/apache2 #
>
>  
>
> I see this also using 5/7/08  CVN tree builds of apache, axis2c, apr, 
> rampartc.
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Mime
View raw message