Mir

Apps crash with image 8

Bug #1245958 reported by Ken VanDine
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Alan Griffiths
mir (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

With image 8, which includes an ABI break with Mir, we are experiencing crashes in applications. Reproduced with system-settings, dialer-app, webbrowser-app and music-app. Most of these apps produced crash files, except dialer-app. In dialer-app, the process never actually crashed but it was no longer visible in the running apps. The dialer-app process pegged the CPU and can't be launched it again.

Related branches

Revision history for this message
Sebastien Bacher (seb128) wrote :

gdb stacktrace of the issue:

#0 __libc_do_syscall ()
    at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
#1 0x40e835fe in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2 0x40e85e1a in __GI_abort () at abort.c:90
#3 0x40ceb7b4 in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#4 0x40cea1d4 in __cxxabiv1::__terminate (handler=<optimized out>)
    at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:38
#5 0x40cea1f0 in std::terminate ()
    at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:48
#6 0x40cea41a in __cxxabiv1::__cxa_throw (obj=0x457ee4f0,
    tinfo=<optimized out>, dest=<optimized out>)
    at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:84
#7 0x40f799ce in void boost::throw_exception<boost::exception_detail::error_info_injector<std::runtime_error> >(boost::exception_detail::error_info_injector<std::runtime_error> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libmirclient.so.4
#8 0x40f79a68 in void boost::exception_detail::throw_exception_<std::runtime_error>(std::runtime_error const&, char const*, char const*, int) ()
   from /usr/lib/arm-linux-gnueabihf/libmirclient.so.4
#9 0x40f8d788 in mir::client::rpc::MirSocketRpcChannel::send_message(mir::protobuf::wire::Invocation const&, std::vector<char, std::allocator<char> >&, mir::protobuf::wire::Invocation const&) ()
   from /usr/lib/arm-linux-gnueabihf/libmirclient.so.4
#10 0x40f8da92 in mir::client::rpc::MirSocketRpcChannel::CallMethod(google::protobuf::MethodDescriptor const*, google::protobuf::RpcController*, google::protobuf::Message const*, google::protobuf::Message*, google::protobuf::Closure*)
    () from /usr/lib/arm-linux-gnueabihf/libmirclient.so.4
#11 0x403f54bc in mir::protobuf::DisplayServer_Stub::next_buffer(google::protobuf::RpcController*, mir::protobuf::SurfaceId const*, mir::protobuf::Buffer*, google::protobuf::Closure*) ()
   from /usr/lib/arm-linux-gnueabihf/libmirprotobuf.so.0
#12 0x40f7f394 in MirSurface::next_buffer(void (*)(MirSurface*, void*), void*)
    () from /usr/lib/arm-linux-gnueabihf/libmirclient.so.4
#13 0x40f7a9a6 in mir::client::android::ClientSurfaceInterpreter::driver_returns_buffer(ANativeWindowBuffer*, int) ()

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Marked as critical as we can't promote an image with this issue.

Changed in unity-mir:
importance: Undecided → Critical
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I doubt the ABI break has anything to do with this.

From the stack trace it appears we have a long standing problem with the ClientSurfaceInterpreter not handling exceptions. But that wouldn't matter if an exception wasn't thrown.

I'm guessing that the exception is a manifestation of the problem Alexandros noted in https://code.launchpad.net/~afrantzis/mir/remove-client-rpc-timeout/+merge/193094

Changed in unity-mir:
assignee: nobody → Alan Griffiths (alan-griffiths)
Dave Morley (davmor2)
Changed in unity-mir:
status: New → Confirmed
Changed in unity-mir:
status: Confirmed → In Progress
affects: unity-mir → mir
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.1.1

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.1.0+14.04.20131030-0ubuntu1

---------------
mir (0.1.0+14.04.20131030-0ubuntu1) trusty; urgency=low

  [ Ubuntu daily release ]
  * New rebuild forced

  [ Alan Griffiths ]
  * client: Remove the timeout for detecting server crashes There are
    valid cases when the server blocks for an indeterminate amount of
    time during a client request, like when a next_buffer request blocks
    because a surface is not visible or the server is paused. In such
    cases, the timeout mechanism we used to detect server crashes caused
    the clients to fail. Furthermore, the clients seem able to detect
    server crashes without the timeout, rendering it needless anyway.
    (LP: #1245958)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 1163
 -- Ubuntu daily release <email address hidden> Wed, 30 Oct 2013 18:37:21 +0000

Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
milestone: none → 0.1.1
Changed in mir:
status: Fix Committed → Triaged
status: Triaged → Fix Released
Changed in mir (Ubuntu):
importance: Undecided → Critical
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.