valgrind on armhf fails with with many errors
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Mir |
Fix Released
|
High
|
Alexandros Frantzis | |
| | 0.12 |
Fix Released
|
High
|
Alexandros Frantzis | |
| | mir (Ubuntu) |
Medium
|
Unassigned | ||
Bug Description
Valgrind is now failing on armhf. Both in CI and when tested manually.
This is the first and most obvious error, but there are more...
[ RUN ] UdevWrapperDeat
==10542== Invalid write of size 4
==10542== at 0x4ECA00C: ??? (in /lib/arm-
==10542== Address 0xbdbafa88 is on thread 1's stack
==10542== 16 bytes below stack pointer
==10542==
==10542== Conditional jump or move depends on uninitialised value(s)
==10542== at 0x4ECA118: __udivmoddi4 (in /lib/arm-
==10542==
==10542== Use of uninitialised value of size 4
==10542== at 0x4ECA11A: __udivmoddi4 (in /lib/arm-
==10542==
==10542== Use of uninitialised value of size 4
==10542== at 0x4ECA018: ??? (in /lib/arm-
==10542==
==10611==
==10611== Process terminating with default action of signal 11 (SIGSEGV)
==10611== Bad permissions for mapped region at address 0x2CDA000
==10611== at 0x2CDA000: ??? (in /home/phablet/
==10611==
==10611== HEAP SUMMARY:
==10611== in use at exit: 392,022 bytes in 7,695 blocks
==10611== total heap usage: 19,288 allocs, 11,593 frees, 1,117,616 bytes allocated
==10611==
==10611== LEAK SUMMARY:
==10611== definitely lost: 0 bytes in 0 blocks
==10611== indirectly lost: 0 bytes in 0 blocks
==10611== possibly lost: 137,447 bytes in 3,483 blocks
==10611== still reachable: 254,507 bytes in 4,211 blocks
==10611== suppressed: 0 bytes in 0 blocks
==10611== Reachable blocks (those to which a pointer was found) are not shown.
==10611== To see them, rerun with: --leak-check=full --show-
==10611==
==10611== For counts of detected and suppressed errors, rerun with: -v
==10611== Use --track-origins=yes to see where uninitialised values come from
==10611== ERROR SUMMARY: 55 errors from 4 contexts (suppressed: 6 from 6)
Related branches
- PS Jenkins bot: Needs Fixing (continuous-integration) on 2015-03-24
- Mir development team: Pending requested 2015-03-19
-
Diff: 2349 lines (+1697/-127)23 files modified3rd_party/android-input/android/frameworks/base/services/input/InputDispatcher.cpp (+36/-31)
cmake/MirCommon.cmake (+2/-0)
debian/changelog (+22/-0)
src/CMakeLists.txt (+1/-1)
src/platforms/android/server/hwc_blanking_control.cpp (+14/-1)
src/platforms/mesa/server/cursor.cpp (+31/-3)
src/server/frontend/protobuf_message_processor.cpp (+42/-15)
src/server/frontend/protobuf_message_processor.h (+2/-1)
src/server/frontend/protobuf_responder.cpp (+9/-5)
src/server/frontend/protobuf_responder.h (+2/-0)
src/server/frontend/session_mediator.cpp (+25/-26)
src/server/frontend/session_mediator.h (+2/-0)
src/server/frontend/surface_tracker.cpp (+8/-1)
src/server/frontend/surface_tracker.h (+6/-3)
src/server/graphics/software_cursor.cpp (+8/-20)
src/server/graphics/software_cursor.h (+1/-1)
tests/acceptance-tests/throwback/test_client_input.cpp (+3/-2)
tests/unit-tests/frontend/test_protobuf_message_processor.cpp (+1/-1)
tests/unit-tests/graphics/android/test_hwc_configuration.cpp (+28/-13)
tests/unit-tests/graphics/test_software_cursor.cpp (+20/-0)
tests/unit-tests/test_fatal.cpp (+3/-3)
tools/valgrind_suppressions_armhf (+27/-0)
tools/valgrind_suppressions_glibc_2.21 (+1404/-0)
- Alan Griffiths: Approve on 2015-03-24
- Kevin DuBois (community): Approve on 2015-03-24
- PS Jenkins bot: Needs Fixing (continuous-integration) on 2015-03-24
-
Diff: 1492 lines (+1436/-3)4 files modifiedcmake/MirCommon.cmake (+2/-0)
tests/unit-tests/test_fatal.cpp (+3/-3)
tools/valgrind_suppressions_armhf (+27/-0)
tools/valgrind_suppressions_glibc_2.21 (+1404/-0)
| Changed in mir (Ubuntu): | |
| importance: | Undecided → Medium |
| summary: |
- valgrind on armhf fails with errors on __udivmoddi4 + valgrind on armhf fails with with many errors |
| Daniel van Vugt (vanvugt) wrote : | #1 |
| Daniel van Vugt (vanvugt) wrote : | #2 |
Logs from valgrind of integration tests on mako.
| Daniel van Vugt (vanvugt) wrote : | #3 |
Logs from valgrind of acceptance tests on mako.
| Changed in mir: | |
| assignee: | nobody → Alexandros Frantzis (afrantzis) |
| status: | New → In Progress |
| Changed in mir: | |
| status: | In Progress → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #4 |
This bug was fixed in the package mir - 0.12.1+
---------------
mir (0.12.1+
[ Alexandros Frantzis ]
* New upstream release 0.12.1 (https:/
- Bug fixes:
. [regression] mali, powervr locks up with around the introduction or
removal of a third overlay (LP: #1413211)
. USC - mouse cursor on AMD graphics is drawing incorrectly
(LP: #1417581)
. mir_demo_server doesn't emit hover_exit events (LP: #1418569)
. SessionMediator locks mutexes in one thread and unlocks them in
another (LP: #1427976)
. ProtobufRespond
. Some protobuf Closure objects can access dead objects (LP: #1433330)
. DisplayConfigur
(LP: #1430315)
. vivid fails to build Mir as of 2015-03-22: error: #warning
. valgrind on armhf fails with with many errors (LP: #1435186)
-- CI Train Bot <email address hidden> Tue, 24 Mar 2015 16:09:54 +0000
| Changed in mir (Ubuntu): | |
| status: | New → Fix Released |
| Changed in mir: | |
| status: | Fix Committed → Fix Released |
| StephanBeal (sgbeal) wrote : | #5 |
This, or something indistinguishable from it, is still happening in Ubunut 15.10:
[odroid@
Ubuntu 15.10 \n \l
[odroid@
Linux odroid 3.8.13.30 #1 SMP PREEMPT Fri Feb 20 14:34:08 BRST 2015 armv7l armv7l armv7l GNU/Linux
[odroid@
valgrind-3.11.0
[odroid@
gcc-5.real (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
...
but my repro case is not trivial. The errors are very similar, though:
==5160== HEAP SUMMARY:
==5160== in use at exit: 0 bytes in 0 blocks
==5160== total heap usage: 596 allocs, 596 frees, 22,345 bytes allocated
==5160==
==5160== All heap blocks were freed -- no leaks are possible
==5160==
==5160== ERROR SUMMARY: 2240 errors from 4 contexts (suppressed: 3 from 3)
==5160==
==5160== 448 errors in context 1 of 4:
==5160== Use of uninitialised value of size 4
==5160== at 0x6A850: ??? (in /home/odroid/
==5160== Uninitialised value was created by a stack allocation
==5160== at 0x6A844: ??? (in /home/odroid/
==5160==
==5160==
==5160== 448 errors in context 2 of 4:
==5160== Use of uninitialised value of size 4
==5160== at 0x6A956: __udivmoddi4 (in /home/odroid/
==5160== Uninitialised value was created by a stack allocation
==5160== at 0x6A844: ??? (in /home/odroid/
==5160==
==5160==
==5160== 448 errors in context 3 of 4:
==5160== Conditional jump or move depends on uninitialised value(s)
==5160== at 0x6A954: __udivmoddi4 (in /home/odroid/
==5160== Uninitialised value was created by a stack allocation
==5160== at 0x6A844: ??? (in /home/odroid/
==5160==
==5160==
==5160== 896 errors in context 4 of 4:
==5160== Invalid write of size 4
==5160== at 0x6A844: ??? (in /home/odroid/
==5160== Address 0xbdaf5890 is on thread 1's stack
==5160== 16 bytes below stack pointer
none of these show up on x86/64, and the lack of symbol names/locations is inexplicable, as all code is built with -g (debugging).
| Daniel van Vugt (vanvugt) wrote : | #6 |
This bug is about running valgrind on Mir specifically :)

Logs from valgrind of unit tests on mako.