Your message dated Wed, 09 May 2018 10:20:29 +0000 with message-id <[email protected]> and subject line Bug#898158: fixed in dbus-python 1.2.8-2 has caused the Debian Bug report #898158, regarding dbus-python: FTBFS on armhf 6% of the time: reply to org.freedesktop.DBus.Binding.Tests.Trigger didn't arrive to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 898158: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898158 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Source: dbus-python Version: 1.2.8-1 Severity: serious Justification: fails to build from source (but built successfully in the past) Build-time tests for dbus-python 1.2.8-1 failed on the armhf buildd. I re-ran the tests 100 times in a loop on the armhf porterbox 'harris' and they failed 6 times (2 for Python 2 and 4 for Python 3). >From the log, we can see that there is a race condition: the client exits before the server sent the expected response to its actions: INFO:cross-test-client:Binding signal handler for Triggered INFO:cross-test-client:method/signal: Triggering signal INFO:cross-test-server:method/signal: client wants me to emit Triggered(dbus.UInt64(42L)) from dbus.UTF8String('/Where/Ever') INFO:cross-test-client:method/signal: Trigger() returned INFO:cross-test-client:signal/callback: Emitting signal to trigger callback INFO:cross-test-server:signal/callback: Triggered by client (:1.3:/Test): (dbus.UInt16(42),dbus.Double(23.0)) INFO:cross-test-client:signal/callback: Emitting signal returned INFO:cross-test-client:signal/callback: Response received (dbus.UInt16(42),dbus.Double(23.0)) ERROR:cross-test-client:report 1: reply to org.freedesktop.DBus.Binding.Tests.Trigger didn't arrive INFO:cross-test-client:asking server to Exit INFO:cross-test-server:signal/callback: Sent Response INFO:cross-test-server:client wants me to Exit INFO:cross-test-server:will quit when idle INFO:cross-test-client:server says it will exit INFO:cross-test-client:main loop exited. INFO:cross-test-server:method/signal: Emitting Triggered(dbus.UInt64(42L)) from dbus.UTF8String('/Where/Ever') INFO:cross-test-server:method/signal: Emitted Triggered INFO:cross-test-server:main loop exited. dbus-daemon[16779]: [session uid=2912 pid=16779] Reloaded configuration dbus-daemon[16779]: [session uid=2912 pid=16779] Reloaded configuration org.freedesktop.DBus.Binding.Tests.Trigger fail 1 The failing test is part of an interface intended to be an interoperability test between D-Bus language bindings (I think only dbus-python and dbus-java ever actually implemented it), so the confusing names unfortunately can't be changed. * client logs "method/signal: Triggering signal" * record that a response to Tests.Trigger is expected * client calls Tests.Trigger() method on server, asynchronously * server implements Tests.Trigger() as follows: - log "method/signal: client wants me to emit Triggered(%r) from %r" - record that Tests.Trigger() was tested - send back a successful reply to the client, which causes this: + client logs "method/signal: Trigger() returned + client logs "signal/callback: Emitting signal to trigger callback" + client emits signal SignalTests.Trigger(42, 23) + client logs "signal/callback: Emitting signal returned" - next time the server returns to its main loop: + log "method/signal: Emitting Triggered(%r) from %r" + create an object at the given object path + emit SignalTests.Triggered signal from it + log "method/signal: Emitted Triggered" * client responds to SignalTests.Triggered as follows: - log "method/signal: Triggered(%r) by %r" - record that a response to Tests.Trigger was received - do some checks on the parameters - log "Tests.Trigger pass" * server responds to SignalTests.Trigger as follows: - log "signal/callback: Triggered by client (%s:%s): (%r,%r)" - record that SignalTests.Trigger was tested - call CallbackTests.Response() method on the client, blocking for a reply - log "signal/callback: Sent Response" * client implements CallbackTests.Response() as follows: - log "signal/callback: Response received (%r,%r)" - record that a response to SignalTests.Trigger was received - check the parameters - log "SignalTests.Trigger pass" - check that every expected reply has arrived - call Tests.Exit() on the server, asynchronously + on success, log "server says it will exit" and quit the main loop + 1 second later, quit the main loop anyway There is a race condition here between these chains of events, which as far as I can tell has existed for at least 10 years: * server receives Tests.Trigger() and schedules SignalTests.Triggered * server returns to main loop * server emits SignalTests.Triggered * client receives SignalTests.Triggered and * server receives Tests.Trigger() and replies with success * client receives success and emits SignalTests.Trigger * server receives SignalTests.Trigger and calls CallbackTests.Response() * client receives CallbackTests.Response() and calls Tests.Exit() * server receives Tests.Exit() and replies with success * client quits its main loop Solution: don't reply to Tests.Trigger() until after the SignalTests.Triggered signal has been sent. Because the client called Tests.Trigger() asynchronously, messages are not re-ordered and the reply arrives after the signal, so the whole chain of events leading up to "client receives SignalTests.Triggered" happens before "client receives success and emits SignalTests.Trigger". smcv
--- End Message ---
--- Begin Message ---Source: dbus-python Source-Version: 1.2.8-2 We believe that the bug you reported is fixed in the latest version of dbus-python, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Simon McVittie <[email protected]> (supplier of updated dbus-python package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Wed, 09 May 2018 10:19:16 +0100 Source: dbus-python Binary: python-dbus python-dbus-dbg python-dbus-dev python-dbus-doc python-dbus-tests python3-dbus python3-dbus-dbg python3-dbus-tests Architecture: source Version: 1.2.8-2 Distribution: unstable Urgency: medium Maintainer: Utopia Maintenance Team <[email protected]> Changed-By: Simon McVittie <[email protected]> Description: python-dbus - simple interprocess messaging system (Python interface) python-dbus-dbg - debug build of the D-Bus Python 2 interface python-dbus-dev - main loop integration development files for python-dbus python-dbus-doc - Documentation for the D-Bus Python interface python-dbus-tests - simple interprocess messaging system (Python interface - tests) python3-dbus - simple interprocess messaging system (Python 3 interface) python3-dbus-dbg - debug build of the D-Bus Python 3 interface python3-dbus-tests - simple interprocess messaging system (Python 3 interface - tests) Closes: 898158 Changes: dbus-python (1.2.8-2) unstable; urgency=medium . * d/p/cross-test-client-Wait-until-default-method-timeout-for-E.patch, d/p/cross-test-server-Avoid-a-race-condition-in-the-client.patch: Fix a long-standing race condition in the automated tests that caused FTBFS on armhf around 6% of the time (Closes: #898158) * Remove X-Python{,3}-Version annotations. The required versions are the oldest supported in oldstable, so the annotations are unnecessary. * Run tests with LC_ALL=C.UTF-8, to avoid trying to print localized messages in a LC_CTYPE that might not support them Checksums-Sha1: 92967602e7a5956bc85e9bec5ce63ac15ce6c442 3152 dbus-python_1.2.8-2.dsc 6adcad23222e3bf37c289632ed441dcc49fd8471 34632 dbus-python_1.2.8-2.debian.tar.xz d374b47c06b4d55f62405e0ba2d699eeee5216ed 7983 dbus-python_1.2.8-2_source.buildinfo Checksums-Sha256: b28a4f2c086e934cb200fbb5b91b7df908cd0f159409556bf00ff5b5d11eb199 3152 dbus-python_1.2.8-2.dsc b548a00791f6ab59cb24c23077b7e4c15713fc29bc2cedcf5c1e8d3e8d7d771f 34632 dbus-python_1.2.8-2.debian.tar.xz aef27c20569c1b36de1660823ceb39f09020b28c52bd94d7933b34ca4967a2b1 7983 dbus-python_1.2.8-2_source.buildinfo Files: 33bd168aa668e03017272e2847a96d52 3152 devel optional dbus-python_1.2.8-2.dsc c5db9b2e52b0fd2490f2b61196189e3d 34632 devel optional dbus-python_1.2.8-2.debian.tar.xz aea30e4bc218043d0452ec85cd77fc19 7983 devel optional dbus-python_1.2.8-2_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAlryxw4ACgkQ4FrhR4+B TE+GlQ/9HN9uGBZpEJyKSy4oOtd0lXwwsKZbl53SCgRHu24PNsnU+Gu1KvcH7KW7 ncI36AJtzq8SiNWLE4GXKjDOYQXtUEPSLTy0CozWPzIPmZUG6J4DtsTV63VKWwbP oGuHk2w3SmsAZUEiBHpg3ubxH3l58piJnCeIGS7Xkb7mADwv8Oi8cfQOF/WGToso 582RilBM2L5LmeHeXyim7CtB5F9xdaJgZZ76lofu3V5UQ0pIL+fM7Fq8DEHWAkQ5 002/LahWq5dbTojSRiuE9hnX8eQFUqa6YrPQHHaQA5ZI1u/FhHk66LqjriKY+JFc /Yb+uyzAfkmTw4YsXYWcsEGfOGAPSjopXE+ZpAH+LlT3QVEEXBU2625CH3nQGGf0 uIH88YiSszd6t7RQTpwW5vX5f0IZam5E6ZjAOCdeGGZC1EmgUp3Ki4wmTwIljg94 yO1oRwat63E7Wz43tXN9Yn2QFQJ5Yk9lzugyobDr/MiNqWCi2OvxsPleY4dtVPwf I5VAWGkgDEnUOcoQ4h7+ZNnGHg04fg6pvDkMdToCyBNQNpbwsQlsHGi5UV9eaF9N COzCb2xTFjAM1Yps1zWQntEXC+dhBDtqpcqpsUjE9ULL0QoKsK+8nuNRmz0KI2fG dR6cIwJsEO4MUuyHDcDsTvYSaYQDwvD8IHHZjHL2OEmU8oMhVDI= =Kl8b -----END PGP SIGNATURE-----
--- End Message ---
_______________________________________________ Pkg-utopia-maintainers mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-utopia-maintainers
