[ 
https://issues.apache.org/jira/browse/DISPATCH-994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16470560#comment-16470560
 ] 

ASF GitHub Bot commented on DISPATCH-994:
-----------------------------------------

Github user grs commented on a diff in the pull request:

    https://github.com/apache/qpid-dispatch/pull/303#discussion_r187367734
  
    --- Diff: src/router_core/connections.c ---
    @@ -473,7 +474,8 @@ void qdr_link_second_attach(qdr_link_t *link, 
qdr_terminus_t *source, qdr_termin
         action->args.connection.link   = link;
         action->args.connection.source = source;
         action->args.connection.target = target;
    -    qdr_action_enqueue(link->core, action);
    +    if (link)
    --- End diff --
    
    I wonder if the test might be better done in AMQP_link_attach_handler in 
router_node.c? That is the only place that calls the method, and is the one 
that retrieves the null context.


> segfault in qdr_link_second_attach
> ----------------------------------
>
>                 Key: DISPATCH-994
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-994
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Gordon Sim
>            Priority: Major
>         Attachments: router-a.conf, router-b.conf, router-c.conf, 
> topic_test.py
>
>
> Link routing from router A through router B to a 'broker', and closing and 
> opening two receivers causes a segfault.
> {noformat}
> ==25674== Thread 4:
> ==25674== Invalid read of size 8
> ==25674==    at 0x4E77EEF: qdr_link_second_attach (connections.c:474)
> ==25674==    by 0x4E87142: AMQP_link_attach_handler (router_node.c:680)
> ==25674==    by 0x4E8BF2B: handle (server.c:940)
> ==25674==    by 0x4E8CBA7: thread_run (server.c:958)
> ==25674==    by 0x54FA739: start_thread (in /usr/lib64/libpthread-2.24.so)
> ==25674==    by 0x6288E7E: clone (in /usr/lib64/libc-2.24.so)
> ==25674==  Address 0x10 is not stack'd, malloc'd or (recently) free'd
> ==25674== 
> ==25674== 
> ==25674== Process terminating with default action of signal 11 (SIGSEGV): 
> dumping core
> ==25674==  Access not within mapped region at address 0x10
> ==25674==    at 0x4E77EEF: qdr_link_second_attach (connections.c:474)
> ==25674==    by 0x4E87142: AMQP_link_attach_handler (router_node.c:680)
> ==25674==    by 0x4E8BF2B: handle (server.c:940)
> ==25674==    by 0x4E8CBA7: thread_run (server.c:958)
> ==25674==    by 0x54FA739: start_thread (in /usr/lib64/libpthread-2.24.so)
> ==25674==    by 0x6288E7E: clone (in /usr/lib64/libc-2.24.so)
> ==25674==  If you believe this happened as a result of a stack
> ==25674==  overflow in your program's main thread (unlikely but
> ==25674==  possible), you can try to increase the size of the
> ==25674==  main thread stack using the --main-stacksize= flag.
> ==25674==  The main thread stack size used in this run was 8388608
> {noformat}
> To reproduce, start three routers with the attached config files, then run 
> the attached python test program.



--
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