You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (Jira)" <ji...@apache.org> on 2020/10/22 19:38:00 UTC

[jira] [Issue Comment Deleted] (DISPATCH-1740) system_tests_policy_oversize_compound fails due to an unsuppressed leak

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

Ken Giusti updated DISPATCH-1740:
---------------------------------
    Comment: was deleted

(was: Root cause is a timing bug in the test.

The test waits for the link route address to propagate before it runs traffic.  The issue is that for every link route there are TWO addresses that get propagated - one for IN and one for OUT.  The test does not wait for both addresses to appear, but instead starts the traffic as soon as one of the two addresses is propagated.

Here is the flawed code:
{quote}fs = FakeService(self.EB1.route_container)
 self.INT_A.wait_address("*.cfg.pattern.#")


{quote}
The call to wait_address will return immediately as soon as one address is propagated.  Instead the test must wait until both addresses has propagated:
{quote}fs = FakeService(self.EB1.route_container)
 self.INT_A.wait_address("E*.cfg.pattern.#")
 self.INT_A.wait_address("F*.cfg.pattern.#")
{quote}
 

This incorrect technique is used throughout the link route tests and will need to be updated in several places.

 )

> system_tests_policy_oversize_compound fails due to an unsuppressed leak
> -----------------------------------------------------------------------
>
>                 Key: DISPATCH-1740
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1740
>             Project: Qpid Dispatch
>          Issue Type: Bug
>         Environment: Current master (at 97ac13417d77cd2f8a90acb837747abee438ed20) with some commits on top which should in no way affect the result of the test.
>            Reporter: Jiri Daněk
>            Priority: Major
>              Labels: asan, leak
>
> Happens rarely. I saw this failure only once out of about 10 retries.
> https://travis-ci.com/github/jiridanek/qpid-dispatch/jobs/367554003#L5724
> {noformat}
> 26: ======================================================================
> 26: ERROR: tearDownClass (system_tests_policy_oversize_compound.MaxMessageSizeLinkRouteOversize)
> 26: ----------------------------------------------------------------------
> 26: Traceback (most recent call last):
> 26:   File "/home/travis/build/jiridanek/qpid-dispatch/tests/system_tests_policy_oversize_compound.py", line 1202, in tearDownClass
> 26:     super(MaxMessageSizeLinkRouteOversize, cls).tearDownClass()
> 26:   File "/home/travis/build/jiridanek/qpid-dispatch/tests/system_test.py", line 773, in tearDownClass
> 26:     cls.tester.teardown()
> 26:   File "/home/travis/build/jiridanek/qpid-dispatch/tests/system_test.py", line 719, in teardown
> 26:     raise RuntimeError("Errors during teardown: \n\n%s" % "\n\n".join([str(e) for e in errors]))
> 26: RuntimeError: Errors during teardown: 
> 26: 
> 26: Process 12094 error: exit code 23, expected 0
> 26: qdrouterd -c INT.B.conf -I /home/travis/build/jiridanek/qpid-dispatch/python
> 26: /home/travis/build/jiridanek/qpid-dispatch/build/tests/system_test.dir/system_tests_policy_oversize_compound/MaxMessageSizeLinkRouteOversize/setUpClass/INT.B-6.cmd
> 26: >>>>
> 26: 
> 26: =================================================================
> 26: ==12094==ERROR: LeakSanitizer: detected memory leaks
> 26: 
> 26: Direct leak of 64 byte(s) in 1 object(s) allocated from:
> 26:     #0 0x7f830b739076 in __interceptor_posix_memalign (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x99076)
> 26:     #1 0x7f830b015119 in sys_mutex /home/travis/build/jiridanek/qpid-dispatch/src/posix/threading.c:41
> 26:     #2 0x7f830afe1ac5 in qd_message /home/travis/build/jiridanek/qpid-dispatch/src/message.c:942
> 26:     #3 0x7f830b10176d in qcm_mobile_sync_compose_differential_mau /home/travis/build/jiridanek/qpid-dispatch/src/router_core/modules/mobile_sync/mobile.c:209
> 26:     #4 0x7f830b102b25 in qcm_mobile_sync_on_timer_CT /home/travis/build/jiridanek/qpid-dispatch/src/router_core/modules/mobile_sync/mobile.c:389
> 26:     #5 0x7f830b0db427 in qdr_process_tick_CT /home/travis/build/jiridanek/qpid-dispatch/src/router_core/core_timer.c:123
> 26:     #6 0x7f830b0baa8d in router_core_thread /home/travis/build/jiridanek/qpid-dispatch/src/router_core/router_core_thread.c:193
> 26:     #7 0x7f830b01582a in _thread_init /home/travis/build/jiridanek/qpid-dispatch/src/posix/threading.c:172
> 26:     #8 0x7f830ab046b9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76b9)
> 26: 
> 26: -----------------------------------------------------
> 26: Suppressions used:
> 26:   count      bytes template
> 26:      14        930 qd_dispatch_configure_connector
> 26:      14        147 load_server_config
> 26:       2        128 qd_message_receive
> 26:       8         20 qd_policy_open_fetch_settings
> 26:       6        336 qdr_core_subscribe
> 26:    4670    3452890 *libpython*
> 26:      37        120 *python2*
> 26: -----------------------------------------------------
> 26: 
> 26: SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).
> 26: <<<<
> 26: 
> 26: ----------------------------------------------------------------------
> 26: Ran 7 tests in 49.814s
> 26: 
> 26: FAILED (errors=1)
> 26/69 Test #26: system_tests_policy_oversize_compound .............***Failed   49.88 sec
> {noformat}



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

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