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

Charles E. Rolke commented on DISPATCH-1927:
--------------------------------------------

backtrace

{code:java}
Core was generated by `qdrouterd -c A.conf'.
Program terminated with signal SIGABRT, Aborted.

warning: Unexpected size of section `.reg-xstate/3544196' in core file.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50        return ret;
[Current thread is 1 (Thread 0x7f7fa3f4d2c0 (LWP 3544196))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f7fa47558d9 in __GI_abort () at abort.c:79
#2  0x00007f7fa47557a9 in __assert_fail_base (fmt=0x7f7fa48c0af8 "%s%s%s:%u: 
%s%sAssertion `%s' failed.\n%n", assertion=0x7f7fa4ea43ab 
"(link->undelivered).head", 
    file=0x7f7fa4ea3fc8 
"/home/chug/git/qpid-dispatch/src/router_core/transfer.c", line=231, 
function=<optimized out>) at assert.c:92
#3  0x00007f7fa4764a66 in __GI___assert_fail (assertion=0x7f7fa4ea43ab 
"(link->undelivered).head", file=0x7f7fa4ea3fc8 
"/home/chug/git/qpid-dispatch/src/router_core/transfer.c", line=231, 
    function=0x7f7fa4ea4bc0 <__PRETTY_FUNCTION__.9815> 
"qdr_link_process_deliveries") at assert.c:101
#4  0x00007f7fa4e616aa in qdr_link_process_deliveries (core=0x1cd4360, 
link=0x1da5ad0, credit=2637) at 
/home/chug/git/qpid-dispatch/src/router_core/transfer.c:231
#5  0x00007f7fa4e03a97 in qdr_tcp_push (context=0x1d65310, link=0x1da5ad0, 
limit=2637) at /home/chug/git/qpid-dispatch/src/adaptors/tcp_adaptor.c:1056
#6  0x00007f7fa4e3e475 in qdr_connection_process (conn=0x1d92050) at 
/home/chug/git/qpid-dispatch/src/router_core/connections.c:412
#7  0x00007f7fa4dffb24 in on_activate (context=0x1d7c7a0) at 
/home/chug/git/qpid-dispatch/src/adaptors/tcp_adaptor.c:112
#8  0x00007f7fa4e7ee62 in qd_timer_visit () at 
/home/chug/git/qpid-dispatch/src/timer.c:201
#9  0x00007f7fa4e7b9c7 in handle (qd_server=0x1ad9040, e=0x7f7f8008dd50, 
pn_conn=0x0, ctx=0x0) at /home/chug/git/qpid-dispatch/src/server.c:1008
#10 0x00007f7fa4e7c026 in thread_run (arg=0x1ad9040) at 
/home/chug/git/qpid-dispatch/src/server.c:1122
#11 0x00007f7fa4e7d3a4 in qd_server_run (qd=0x1abc650) at 
/home/chug/git/qpid-dispatch/src/server.c:1484
#12 0x0000000000402604 in main_process (config_path=0x7ffc59461679 "A.conf", 
python_pkgdir=0x404290 "/opt/local/lib/qpid-dispatch/python", test_hooks=false, 
fd=2)
    at /home/chug/git/qpid-dispatch/router/src/main.c:113
#13 0x00000000004030d5 in main (argc=3, argv=0x7ffc5945fa38) at 
/home/chug/git/qpid-dispatch/router/src/main.c:367

(gdb) up 4
#4  0x00007f7fa4e616aa in qdr_link_process_deliveries (core=0x1cd4360, 
link=0x1da5ad0, credit=2637) at 
      /home/chug/git/qpid-dispatch/src/router_core/transfer.c:231
231                         DEQ_REMOVE_HEAD(link->undelivered);

$4 = {prev = 0x0, next = 0x7f7f8809b010, core = 0x1cd4360, identity = 1, 
user_context = 0x1d7c7a0, 
  edge_context = 0x0, conn = 0x1d92050, link_type = QD_LINK_ENDPOINT, 
link_direction = QD_OUTGOING, 
  work_list = {head = 0x7f7f90162590, tail = 0x7f7f90162590, scratch = 
0x7f7f90047990, size = 1}, 
  name = 0x1d7c1a0 "tcp.egress.out", disambiguated_name = 0x0, terminus_addr = 
0x0, attach_count = 1, 
  detach_count = 0, owning_addr = 0x7f7f90014d90, phase = 0, connected_link = 
0x0, core_endpoint = 0x0, ref = {
    0x7f7f9002a2d0, 0x0, 0x7f7f9002a410, 0x7f7f900e4d10}, auto_link = 0x0, 
undelivered = {head = 0x0, 
    tail = 0x0, scratch = 0x7f7f880d4350, size = 0}, unsettled = {head = 0x0, 
tail = 0x0, scratch = 0x0, 
    size = 0}, settled = {head = 0x0, tail = 0x0, scratch = 0x0, size = 0}, 
updated_deliveries = {head = 0x0, 
    tail = 0x0, scratch = 0x0, size = 0}, oper_status = QDR_LINK_OPER_UP, 
capacity = 250, credit_to_core = 3, 
  credit_pending = 250, credit_stored = 10, credit_reported = 10, 
zero_credit_time = 0, 
  reported_as_blocked = false, admin_enabled = true, strip_annotations_in = 
false, 
  strip_annotations_out = false, drain_mode = false, stalled_outbound = false, 
detach_received = false, 
  detach_send_done = false, edge = false, processing = true, ready_to_free = 
false, fallback = false, 
  streaming = false, in_streaming_pool = false, terminus_survives_disconnect = 
false, no_route = false, 
  strip_prefix = 0x0, insert_prefix = 0x0, total_deliveries = 7, 
presettled_deliveries = 0, 
  dropped_presettled_deliveries = 0, accepted_deliveries = 0, 
rejected_deliveries = 0, 
  released_deliveries = 0, modified_deliveries = 0, deliveries_delayed_1sec = 
0, deliveries_delayed_10sec = 0, 
  deliveries_stuck = 0, settled_deliveries = {0, 0, 0, 0, 0}, ingress_histogram 
= 0x1ba88d0, 
  priority = 0 '\000', rate_cursor = 0 '\000', core_ticks = 0, conn_id = 1, 
prevSTREAMING_POOL = 0x0, 
  nextSTREAMING_POOL = 0x0}
(gdb) 


{code}

> TCP adaptor Assertion `(link->undelivered).head' failed.
> --------------------------------------------------------
>
>                 Key: DISPATCH-1927
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1927
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Protocol Adaptors, Router Node
>         Environment: Fedora 31
>            Reporter: Charles E. Rolke
>            Priority: Major
>
> Test setup:
>  * Proton git: branch master @ 5e7d7af8f
>  * Dispatch git: branch master @ ec39e5e
>  * Debug build
>  * Running the configuration described in DISPATCH-1777
> Seven clients run TCP_echo_client continuously against the server:
>  * Four run  --size 0
>  * One runs --size 100
>  * One runs --size 100000
>  * One runs --size 1000000
> Eventually the router running the tcpConnector fails with the assertion.
> Tail of the router log:
> {code:java}
> Two router setup with a TCP listener on one router and a TCP connector on the 
> other router.
>  This is the log from the second tcpConnector router
>      Here comes a message from core to TCP needing a new connection to egress 
> server
> 2021-01-22 09:37:57.979054 -0500 TCP_ADAPTOR (debug) [C1] on_activate
> 2021-01-22 09:37:57.979594 -0500 TCP_ADAPTOR (debug) [C1][L1] qdr_tcp_push
> 2021-01-22 09:37:57.979619 -0500 TCP_ADAPTOR (debug) [C1][L1][D46793] 
> qdr_tcp_deliver Delivery event
> 2021-01-22 09:37:57.979641 -0500 TCP_ADAPTOR (debug) [C1][L1][D46793] 
> tcp_adaptor initiating egress connection
> 2021-01-22 09:37:57.979671 -0500 TCP_ADAPTOR (info) [C11768] Connecting to: 
> 127.0.0.1:9090
> 2021-01-22 09:37:57.979789 -0500 TCP_ADAPTOR (debug) [C11767] 
> qdr_tcp_activate: waking raw connection
> 2021-01-22 09:37:57.979974 -0500 TCP_ADAPTOR (info) [C11768] 
> PN_RAW_CONNECTION_CONNECTED Egress connected to 127.0.0.1:9090
> 2021-01-22 09:37:57.980003 -0500 TCP_ADAPTOR (info) [C11768] Opening 
> server-side core connection 127.0.0.1:9090
> 2021-01-22 09:37:57.980057 -0500 ROUTER_CORE (info) [C11768] Connection 
> Opened: dir=out host=127.0.0.1:9090 vhost= encrypted=no auth=no user= 
> container_id=TcpAdaptor props=
>      Delivery is handed off to new connection/link
> 2021-01-22 09:37:57.980153 -0500 TCP_ADAPTOR (debug) [C1][L1][D46793] 
> initial_delivery ownership passed to [C11768][L23564][D46793]
> 2021-01-22 09:37:57.980191 -0500 TCP_ADAPTOR (debug) [C11768] 
> PN_RAW_CONNECTION_NEED_WRITE_BUFFERS
> 2021-01-22 09:37:57.980215 -0500 TCP_ADAPTOR (debug) [C11768] 
> PN_RAW_CONNECTION_NEED_READ_BUFFERS
> 2021-01-22 09:37:57.980243 -0500 TCP_ADAPTOR (debug) [C11768][L23564] Waiting 
> for credit to initiate message
>      POOF! link_process_delivery has no deliveries yet.
>      This is happening too soon. Probably.
> qdrouterd: /home/chug/git/qpid-dispatch/src/router_core/transfer.c:231: 
> qdr_link_process_deliveries: Assertion `(link->undelivered).head' failed.
>      from gdb: delivery_id = 46793, link_id = 23564, conn_id = 11768 or: 
> [C11768][L23564][D46793] for failed process
>      Moments later the rest of the connection/link setup happens
> 2021-01-22 09:37:57.980312 -0500 ROUTER_CORE (info) [C11768][L23564] Link 
> attached: dir=out source={foo expire:link} target={<none> expire:link}
> 2021-01-22 09:37:57.980332 -0500 TCP_ADAPTOR (debug) [C11768] 
> qdr_tcp_activate: waking raw connection
> 2021-01-22 09:37:57.980356 -0500 TCP_ADAPTOR (debug) [C11767] 
> qdr_tcp_activate: waking raw connection
> 2021-01-22 09:37:57.980386 -0500 TCP_ADAPTOR (debug) [C11768] 
> PN_RAW_CONNECTION_WAKE
> 2021-01-22 09:37:57.980404 -0500 TCP_ADAPTOR (debug) [C11768][L23564] 
> qdr_tcp_second_attach
> 2021-01-22 09:37:57.980430 -0500 TCP_ADAPTOR (debug) [C11768][L23564] 
> qdr_tcp_get_credit: NOOP
> 2021-01-22 09:37:57.980453 -0500 TCP_ADAPTOR (debug) [C11768][L23564] 
> qdr_tcp_push
> 2021-01-22 09:37:57.980471 -0500 TCP_ADAPTOR (debug) [C11768][L23564][D46793] 
> qdr_tcp_deliver Delivery event
> 2021-01-22 09:37:57.980563 -0500 TCP_ADAPTOR (debug) [C11768][L23565] Create 
> Link to amqp:/_topo/0/router-b/temp.tsMXbvjL9M01_l8
> 2021-01-22 09:37:57.980591 -0500 TCP_ADAPTOR (debug) [C11768][L23564] Waiting 
> for credit to initiate message
> 2021-01-22 09:37:57.980621 -0500 TCP_ADAPTOR (debug) [C11768] Writing 2040 
> bytes
> 2021-01-22 09:37:57.980640 -0500 TCP_ADAPTOR (debug) [C11768] Writing 2048 
> bytes
> 2021-01-22 09:37:57.980657 -0500 TCP_ADAPTOR (debug) [C11768] Writing 2048 
> bytes
> 2021-01-22 09:37:57.980674 -0500 TCP_ADAPTOR (debug) [C11768] Writing 1104 
> bytes
> 2021-01-22 09:37:57.980691 -0500 TCP_ADAPTOR (debug) [C11768][L23564] 
> qdr_tcp_get_credit: NOOP
> Aborted (core dumped){code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to