Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.14.0
-
None
Description
When a router that has been built for Debug exits the pool allocator will dump stack tracebacks for all leaked pool objects.
This results in a lot of extra information appearing in the output.
To lessen the noise somewhat I propose avoiding printing the traceback for those alloc pooled items that are suppressed. Keep printing the leak of the suppressed item, just avoid the extra stack dump. For example:
alloc.c: Items of type 'qd_buffer_t' remain allocated at shutdown: 16
Leak: 2020-10-08 10:33:29.819821 -0400 type: qd_buffer_t address: 0x239ea10 (suppressed)
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(qd_alloc+0x20c) [0x7f2b9e0742b6]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(new_qd_buffer_t+0x26) [0x7f2b9e075fb2]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(qd_buffer+0x17) [0x7f2b9e0760d0]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(qda_raw_conn_grant_read_buffers+0x67) [0x7f2b9e056e83]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(qdr_http1_server_core_link_flow+0x12a) [0x7f2b9e06df02]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(+0x461d6) [0x7f2b9e0661d6]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(qdr_connection_process+0x817) [0x7f2b9e0ab853]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(+0x4c337) [0x7f2b9e06c337]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(+0xc649e) [0x7f2b9e0e649e]
/home/kgiusti/work/dispatch/qpid-dispatch/BUILD/src/libqpid-dispatch.so(+0xc64db) [0x7f2b9e0e64db]
Would now just print:
alloc.c: Items of type 'qd_buffer_t' remain allocated at shutdown: 16
Leak: 2020-10-08 10:33:29.819821 -0400 type: qd_buffer_t address: 0x239ea10 (suppressed)
Non-suppressed items would include the backtrace of course.