[ 
https://issues.apache.org/jira/browse/DISPATCH-40?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Richardson updated DISPATCH-40:
-------------------------------------

    Description: 
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 dereference the "ref_list" pointer, which 
appears to be uninitialised or dangling.

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


  was:
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!



> 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
>            Assignee: Ted Ross
>
> 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 dereference the "ref_list" pointer, 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