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

Ted Ross resolved DISPATCH-1198.
--------------------------------
    Resolution: Fixed

> An early query of 'org.apache.qpid.dispatch.router.node' can crash the router
> -----------------------------------------------------------------------------
>
>                 Key: DISPATCH-1198
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1198
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>    Affects Versions: 1.4.1
>            Reporter: Ken Giusti
>            Assignee: Ted Ross
>            Priority: Major
>             Fix For: 1.5.0
>
>
> During a debug session I modified the test script system_test.py in the 
> following way (don't ask why - it's irrelevant):
> diff --git a/tests/system_test.py b/tests/system_test.py
> index d268671b..c007b3d3 100755
> --- a/tests/system_test.py
> +++ b/tests/system_test.py
> @@ -486,7 +486,8 @@ class Qdrouterd(Process):
>  
>      def is_router_connected(self, router_id, **retry_kwargs):
>          try:
> -            self.management.read(identity="router.node/%s" % router_id)
> +            
> self.management.query(type='org.apache.qpid.dispatch.router.node')
> +            #self.management.read(identity="router.node/%s" % router_id)
>              # TODO aconway 2015-01-29: The above check should be enough, we
>              # should not advertise a remote router in managment till it is 
> fully
>              # connected. However we still get a race where the router is not
> This change resulted in an assert being hit in the forwarder (note: build 
> with -DCMAKE_BUILD_TYPE=Debug) when running the system_tests_two_routers test 
> (possibly others).
> Analysis:
> The query is causing a qdr_address_t entry for 
> amqp:/_topo/0/<router>/qdrouterd to be added to the routing table with 
> treatment QD_TREATMENT_ANYCAST_BALANCED.  Control messages must not use this 
> treatment and the assert tests for it.
> Hypothesis:
> The query causes the 'R<router>' to be looked up before the other router has 
> been established.  This causes a new address entry with the default treatment 
> to be created.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to