Crash in mir::scene::ApplicationSession::name (this=<optimized out>) at /build/mir-xon0uu/mir-0.14.1+15.04.20150821/src/server/scene/application_session.cpp:237

Bug #1494062 reported by errors.ubuntu.com bug bridge
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Invalid
High
Unassigned
mir (Ubuntu)
Invalid
Undecided
Unassigned
qtmir (Ubuntu)
Invalid
Undecided
Unassigned
unity8 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

The Ubuntu Error Tracker has been receiving reports about a problem regarding unity8. This problem was most recently seen with version 8.11+15.04.20150831.2-0ubuntu1, the problem page at https://errors.ubuntu.com/problem/991b418fa265212ec607fdb9a7ab715d6e60bbc2 contains more details.

Tags: vivid
Revision history for this message
Albert Astals Cid (aacid) wrote :

Something (mir? qtmir?) is asking for a string of __capacity=2899393464 (probably already deleted data?)

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Crash inmir::scene::ApplicationSession::name (this=<optimized out>) at /build/mir-xon0uu/mir-0.14.1+15.04.20150821/src/server/scene/application_session.cpp:237

Seems to be a fairly obvious mistake in Mir. We're sharing a cons reference to an object that may not exist:

    ApplicationSession(
        std::shared_ptr<SurfaceCoordinator> const& surface_coordinator,
        std::shared_ptr<SurfaceFactory> const& surface_factory,
        std::shared_ptr<BufferStreamFactory> const& buffer_stream_factory,
        pid_t pid,
        std::string const& session_name, <----------- HERE
        std::shared_ptr<SnapshotStrategy> const& snapshot_strategy,
        std::shared_ptr<SessionListener> const& session_listener,
        std::shared_ptr<frontend::EventSink> const& sink);

summary: - /usr/bin/unity8:6:__gnu_cxx::__verbose_terminate_handler:__cxxabiv1::__terminate:std::terminate:__cxxabiv1::__cxa_throw:std::__throw_length_error
+ Crash inmir::scene::ApplicationSession::name (this=<optimized out>) at
+ /build/mir-
+ xon0uu/mir-0.14.1+15.04.20150821/src/server/scene/application_session.cpp:237
Changed in qtmir (Ubuntu):
status: New → Invalid
Changed in unity8 (Ubuntu):
status: New → Invalid
summary: - Crash inmir::scene::ApplicationSession::name (this=<optimized out>) at
+ Crash in mir::scene::ApplicationSession::name (this=<optimized out>) at
/build/mir-
xon0uu/mir-0.14.1+15.04.20150821/src/server/scene/application_session.cpp:237
Changed in mir:
importance: Undecided → High
status: New → Triaged
milestone: none → 0.16.0
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Whoops. It's not a reference. But still might be due to some std::string optimization (COW) ?...
    std::string const session_name;

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Or we're perhaps trying to get the name of an ApplicationSession object that no longer exists.

Changed in mir:
milestone: 0.16.0 → 0.17.0
Changed in mir:
milestone: 0.17.0 → 0.18.0
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

This bug hasn't been encountered for about 2 months. Looking at the stack trace, it seems to me that qtmir is accessing 'name' member of a session that's already been destroyed, from the onSessionDestroyingSurface function. I don't think this is a problem in Mir, but may still be a problem in qtmir, though it may have been masked by code changes since around the last time this was seen.

Changed in mir (Ubuntu):
status: New → Invalid
Changed in mir:
status: Triaged → Invalid
Kevin DuBois (kdub)
Changed in mir:
milestone: 0.18.0 → 0.19.0
Changed in mir:
milestone: 0.19.0 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.