Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-2165

Assert in qd_message_free: stream_data_list is not empty

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 1.16.0
    • 1.17.0
    • Router Node
    • None

    Description

      Running TCP half-closed tests on a two router setup with tcpListener on one node and tcpConnector on the other.

      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x00007f0c683cb895 in __GI_abort () at abort.c:79
      #2  0x00007f0c683cb769 in __assert_fail_base (fmt=0x7f0c685390d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f0c68b02778 "DEQ_IS_EMPTY(msg->stream_data_list)", 
          file=0x7f0c68b026d8 "/home/chug/git/qpid-dispatch/src/message.c", line=1041, function=<optimized out>) at assert.c:92
      #3  0x00007f0c683dae86 in __GI___assert_fail (assertion=0x7f0c68b02778 "DEQ_IS_EMPTY(msg->stream_data_list)", file=0x7f0c68b026d8 "/home/chug/git/qpid-dispatch/src/message.c", line=1041, 
          function=0x7f0c68b02b90 <__PRETTY_FUNCTION__.11> "qd_message_free") at assert.c:101
      #4  0x00007f0c68a86591 in qd_message_free (in_msg=0x7f0c540d1dd0) at /home/chug/git/qpid-dispatch/src/message.c:1041
      #5  0x00007f0c68ac49f4 in qdr_do_message_to_addr_free (core=0xe68f60, work=0x7f0c5407e750) at /home/chug/git/qpid-dispatch/src/router_core/router_core_thread.c:102
      #6  0x00007f0c68ac38cd in qdr_general_handler (context=0xe68f60) at /home/chug/git/qpid-dispatch/src/router_core/router_core.c:942
      #7  0x00007f0c68ae89e7 in qd_timer_visit () at /home/chug/git/qpid-dispatch/src/timer.c:317
      #8  0x00007f0c68ae5535 in handle (qd_server=0xd58150, e=0x7f0c4406df50, pn_conn=0x0, ctx=0x0) at /home/chug/git/qpid-dispatch/src/server.c:1006
      #9  0x00007f0c68ae5b94 in thread_run (arg=0xd58150) at /home/chug/git/qpid-dispatch/src/server.c:1121
      #10 0x00007f0c68a97747 in _thread_init (arg=0xf3d8d0) at /home/chug/git/qpid-dispatch/src/posix/threading.c:172
      #11 0x00007f0c68963432 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #12 0x00007f0c684a76d3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      (gdb) up 4
      #4  0x00007f0c68a86591 in qd_message_free (in_msg=0x7f0c540d1dd0) at /home/chug/git/qpid-dispatch/src/message.c:1041
      1041	        assert(DEQ_IS_EMPTY(msg->stream_data_list));
      (gdb) list
      1036	        LOCK(content->lock);
      1037	
      1038	        // DISPATCH-2099: ensure all outstanding stream_data items associated
      1039	        // with this message have been returned since the underlying buffers
      1040	        // may be released
      1041	        assert(DEQ_IS_EMPTY(msg->stream_data_list));
      1042	
      1043	        const bool was_blocked = !qd_message_Q2_holdoff_should_unblock(in_msg);
      1044	        qd_buffer_t *buf = msg->cursor.buffer;
      1045	        while (buf) {
      

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            chug Charles E. Rolke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: