Chris Richardson created DISPATCH-40:
----------------------------------------

             Summary: Qdrouterd segfaults while connecting to neighbour router
                 Key: DISPATCH-40
                 URL: https://issues.apache.org/jira/browse/DISPATCH-40
             Project: Qpid Dispatch
          Issue Type: Bug
          Components: Container
    Affects Versions: 0.1
         Environment: Ubuntu 12.04 LTS x86_64, Gentoo 32 and 64 bit
            Reporter: Chris Richardson


Using the following configuration on two nodes (designated "client" and 
"server"), the client will segfault while connecting the server:

{code}
# Server config
container {                                                                     
                                                                                
                                                                                
                               
    worker-threads: 4                                                           
                                                                                
                                                                                
                               
    container-name: Qpid.Dispatch.Router.Server                                 
                                                                                
                                                                                
                               
}                                                                               
                                                                                
                                                                                
                               
                                                                                
                                                                                
                                                                                
                               
ssl-profile {                                                                   
                                                                                
                                                                                
                               
    name: ssl-profile-name                                                      
                                                                                
                                                                                
                               
}                                                                               
                                                                                
                                                                                
                               
                                                                                
                                                                                
                                                                                
                               
listener {                                                                      
                                                                                
                                                                                
                               
    addr: 0.0.0.0                                                               
                                                                                
                                                                                
                               
    port: amqp                                                                  
                                                                                
                                                                                
                               
    sasl-mechanisms: ANONYMOUS                                                  
                                                                                
                                                                                
                               
}                                                                               
                                                                                
                                                                                
                               
                                                                                
                                                                                
                                                                                
                               
listener {                                                                      
                                                                                
                                                                                
                               
      role: inter-router                                                        
                                                                                
                                                                                
                               
      addr: 0.0.0.0                                                             
                                                                                
                                                                                
                               
      port: 20000                                                               
                                                                                
                                                                                
                               
      sasl-mechanisms: ANONYMOUS                                                
                                                                                
                                                                                
                               
}                                                                               
                                                                                
                                                                                
                               
                                                                                
                                                                                
                                                                                
                               
router {
    mode: interior
    router-id: Router.Server
}
{code}

{code}
# Client config
container {
    worker-threads: 4
    container-name: Qpid.Dispatch.Router.A
}

ssl-profile {
    name: ssl-profile-name
}

listener {
    addr: 0.0.0.0
    port: amqp
    sasl-mechanisms: ANONYMOUS
}

connector {
      role: inter-router
      addr: 192.168.0.12 # Address of server node
      port: 20000
      sasl-mechanisms: ANONYMOUS
}

router {
    mode: standalone
    router-id: Router.A
}
{code}

Note the the client router mode is standalone. Changing this to "interior" 
fixes the problem.

The segfault takes place at router_node.c:70,
{code}
    DEQ_INSERT_TAIL(*ref_list, ref);
{code}

and is caused by the attempt to de-reference the "ref_list" variable, which 
appears to be uninitialised or dangling.

The router mode "standalone" may be invalid in this configuration (?), the 
process should not segfault!




--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to