]
Jean-Frederic Clere updated MODCLUSTER-622:
-------------------------------------------
    Fix Version/s: 1.3.8.Final
                   2.0.0.Alpha1
 segfault in process_info
 ------------------------
                 Key: MODCLUSTER-622
                 URL: 
https://issues.jboss.org/browse/MODCLUSTER-622
             Project: mod_cluster
          Issue Type: Bug
          Components: Native (httpd modules)
    Affects Versions: 1.2.13.Final
         Environment: see the private comment
            Reporter: Hisanobu Okuda
            Assignee: Jean-Frederic Clere
             Fix For: 1.3.8.Final, 2.0.0.Alpha1
 Segfault occured at process_info.
 {code}
 (gdb) bt
 #0  process_info (r=0x7f01039b7088, errtype=<value optimized out>) at
mod_manager.c:1150
 #1  0x00007f00fd15b44a in manager_handler (r=0x7f01039b7088) at mod_manager.c:2705
 #2  0x00007f0102927640 in ap_run_handler (r=0x7f01039b7088) at
/usr/src/debug/httpd-2.2.15/server/config.c:158
 #3  0x00007f010292aefe in ap_invoke_handler (r=0x7f01039b7088) at
/usr/src/debug/httpd-2.2.15/server/config.c:376
 #4  0x00007f0102936300 in ap_process_request (r=0x7f01039b7088) at
/usr/src/debug/httpd-2.2.15/modules/http/http_request.c:282
 #5  0x00007f0102933178 in ap_process_http_connection (c=0x7f00f00ebba0) at
/usr/src/debug/httpd-2.2.15/modules/http/http_core.c:190
 #6  0x00007f010292f148 in ap_run_process_connection (c=0x7f00f00ebba0) at
/usr/src/debug/httpd-2.2.15/server/connection.c:43
 #7  0x00007f010293c052 in process_socket (thd=0x7f010393a1b0, dummy=<value optimized
out>) at /usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:544
 #8  worker_thread (thd=0x7f010393a1b0, dummy=<value optimized out>) at
/usr/src/debug/httpd-2.2.15/server/mpm/worker/worker.c:894
 #9  0x00007f01011d19d1 in ?? ()
 #10 0x00007f00d8dda700 in ?? ()
 #11 0x0000000000000000 in ?? ()
 {code}
 {code}
 (gdb) disassemble
     ...
    0x00007f00fd1558f4 <+452>:   mov    0x58(%rsp),%rax                             
                          
    0x00007f00fd1558f9 <+457>:   lea    0x82f0(%rip),%rsi        # 0x7f00fd15dbf0   
                                                     
    0x00007f00fd155900 <+464>:   mov    %r13,%rdi                                   
                                          
    0x00007f00fd155903 <+467>:   add    0x138(%rax),%rax                            
                                                     
 => 0x00007f00fd15590a <+474>:   mov    0xc0(%rax),%r9                           
                                           
 {code}
 {code}
 (gdb) x/gx $rsp+0x58                                                                     
                                               
 0x7f00d8dd9b98: 0x00007f01028d4e60                                  
 (gdb) x/gx 0x00007f01028d4e60+0x138                                 
 0x7f01028d4f98: 0x0000000000000140                                  
 (gdb) print/x 0x00007f01028d4e60+0x140                                                   
                                               
 $1 = 0x7f01028d4fa0
 (gdb) # therefore, rax should be 0x7f01028d4fa0, but in fact:
 (gdb) info registers rax
 rax            0xfe01a299c750   279282976409424
 (gdb) 
 {code}
 It looks occurring under race condition.