Valgrind failure on mir_acceptance_tests - leak on incoming buffer in Requests::free_buffer(int)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Valgrind failure on mir_acceptance_
It's happened twice now. Yesterday on kdub's branch and today on mine:
05:20:36 9: ==2515== 80 (32 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 20 of 37
05:20:36 9: ==2515== at 0x4C2D1AF: operator new(unsigned long) (in /usr/lib/
05:20:36 9: ==2515== by 0x54C74F2: NewCallback<
05:20:36 9: ==2515== by 0x54C74F2: (anonymous namespace)
05:20:36 9: ==2515== by 0x54CDB88: free_buffer (buffer_
05:20:36 9: ==2515== by 0x54CDB88: mir::client:
05:20:36 9: ==2515== by 0x54D11DD: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54D11DD: mir::client:
05:20:36 9: ==2515== by 0x54E1128: mir::client:
05:20:36 9: ==2515== by 0x54E2208: mir::client:
05:20:36 9: ==2515== by 0x54E68AD: operator(
05:20:36 9: ==2515== by 0x54E68AD: std::_Function_
05:20:36 9: ==2515== by 0x54E6B7F: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54E6B7F: mir::ThreadSafe
05:20:36 9: ==2515== by 0x54E679D: on_data_available (stream_
05:20:36 9: ==2515== by 0x54E679D: mir::client:
05:20:36 9: ==2515== by 0x5B700E3: mir::dispatch:
05:20:36 9: ==2515== by 0x5B700E3: mir::dispatch:
05:20:36 9: ==2515== by 0x5B726B6: (anonymous namespace)
05:20:36 9: ==2515== by 0x5B7684E: void std::_Bind_
05:20:36 9: ==2515== by 0x695350E: ??? (in /usr/lib/
05:20:36 9: ==2515== by 0x6E3E709: start_thread (pthread_
05:20:36 9: ==2515== by 0x715D0FE: clone (clone.S:105)
05:20:36 9: ==2515==
05:20:36 9: ==2515== 80 (32 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 21 of 37
05:20:36 9: ==2515== at 0x4C2D1AF: operator new(unsigned long) (in /usr/lib/
05:20:36 9: ==2515== by 0x54C7363: NewCallback<
05:20:36 9: ==2515== by 0x54C7363: (anonymous namespace)
05:20:36 9: ==2515== by 0x54CDBE8: alloc_buffer (buffer_
05:20:36 9: ==2515== by 0x54CDBE8: mir::client:
05:20:36 9: ==2515== by 0x54D11DD: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54D11DD: mir::client:
05:20:36 9: ==2515== by 0x54E1128: mir::client:
05:20:36 9: ==2515== by 0x54E2208: mir::client:
05:20:36 9: ==2515== by 0x54E68AD: operator(
05:20:36 9: ==2515== by 0x54E68AD: std::_Function_
05:20:36 9: ==2515== by 0x54E6B7F: operator() (functional:2136)
05:20:36 9: ==2515== by 0x54E6B7F: mir::ThreadSafe
05:20:36 9: ==2515== by 0x54E679D: on_data_available (stream_
05:20:36 9: ==2515== by 0x54E679D: mir::client:
05:20:36 9: ==2515== by 0x5B700E3: mir::dispatch:
05:20:36 9: ==2515== by 0x5B700E3: mir::dispatch:
05:20:36 9: ==2515== by 0x5B726B6: (anonymous namespace)
05:20:36 9: ==2515== by 0x5B7684E: void std::_Bind_
05:20:36 9: ==2515== by 0x695350E: ??? (in /usr/lib/
05:20:36 9: ==2515== by 0x6E3E709: start_thread (pthread_
05:20:36 9: ==2515== by 0x715D0FE: clone (clone.S:105)
05:20:36 9: ==2515==
05:20:36 9: ==2515== LEAK SUMMARY:
05:20:36 9: ==2515== definitely lost: 64 bytes in 2 blocks
05:20:36 9: ==2515== indirectly lost: 96 bytes in 2 blocks
05:20:36 9: ==2515== possibly lost: 0 bytes in 0 blocks
05:20:36 9: ==2515== still reachable: 26,125 bytes in 34 blocks
05:20:36 9: ==2515== suppressed: 0 bytes in 0 blocks
05:20:36 9: ==2515== Reachable blocks (those to which a pointer was found) are not shown.
05:20:36 9: ==2515== To see them, rerun with: --leak-check=full --show-
05:20:36 9: ==2515==
05:20:36 9: ==2515== For counts of detected and suppressed errors, rerun with: -v
05:20:36 9: ==2515== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
05:20:36 9/32 Test #9: mir_acceptance_
https:/
https:/
Related branches
- Andreas Pokorny (community): Approve
- Cemil Azizoglu (community): Approve
- Alan Griffiths: Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 50 lines (+7/-12)1 file modifiedsrc/client/buffer_stream.cpp (+7/-12)
- Mir CI Bot: Approve (continuous-integration)
- Alexandros Frantzis (community): Needs Fixing
- Andreas Pokorny (community): Approve
- Daniel van Vugt: Needs Information
-
Diff: 60 lines (+16/-12)1 file modifiedsrc/client/buffer_stream.cpp (+16/-12)
- Mir CI Bot: Approve (continuous-integration)
- Chris Halse Rogers: Approve
- Mir development team: Pending requested
-
Diff: 312 lines (+110/-11)11 files modifiedsrc/client/mir_connection.cpp (+8/-3)
src/client/rpc/mir_basic_rpc_channel.cpp (+23/-8)
src/client/rpc/mir_basic_rpc_channel.h (+8/-0)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+24/-0)
src/client/rpc/mir_protobuf_rpc_channel.h (+3/-0)
tests/acceptance-tests/test_client_library.cpp (+14/-0)
tests/include/mir/test/doubles/stub_connection_configuration.h (+6/-0)
tests/unit-tests/client/test_client_mir_surface.cpp (+6/-0)
tests/unit-tests/client/test_mir_connection.cpp (+9/-0)
tests/unit-tests/client/test_mir_render_surface.cpp (+3/-0)
tests/unit-tests/platforms/android/client/test_android_client_platform.cpp (+6/-0)
Changed in mir: | |
milestone: | none → 0.25.0 |
status: | New → Confirmed |
tags: | added: ci-blocker |
Changed in mir: | |
assignee: | nobody → Alexandros Frantzis (afrantzis) |
Changed in mir: | |
milestone: | 0.25.0 → 0.26.0 |
Changed in mir: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
Changed in mir: | |
assignee: | Daniel van Vugt (vanvugt) → Cemil Azizoglu (cemil-azizoglu) |
Changed in mir: | |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
We've landed a lot rather rapidly this week. Is this a regression caused by one of those?