showing notification right after boot causes unity8 crash

Bug #1380736 reported by Dave Morley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Network Menu
Invalid
Undecided
Antti Kaijanmäki
dbus-cpp (Ubuntu)
Invalid
Undecided
Unassigned
media-hub (Ubuntu)
Invalid
Undecided
Unassigned
qtubuntu-media (Ubuntu)
In Progress
High
Thomas Voß
qtubuntu-media (Ubuntu RTM)
Fix Released
Critical
Thomas Voß
unity8 (Ubuntu)
Invalid
Critical
Unassigned

Bug Description

STEPS:
1. Install a new image (Apparently it works with just re-running the wizard)
2. While the dash is empty drag down the network indicator
3. Click on the first unlock sim button
4. Type in the unlock code and hit the tick
5. System locks up

EXPECTED:
I expect the lock you unlock the sim and change back to the indicator

ACTUAL:
The system hard locks nothing works. In the end you are forced to hard shutdown the phone by pressing and holding the power button till the phone powers down.

Booting the Phone back up after this and everthing works as expected.
Also waiting on the dash to fully load and fill with apps and then unlocking works.

Related branches

Dave Morley (davmor2)
tags: added: rtm14
removed: rtn14
Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

"While the dash is empty"

I don't fully understand what this means, is it that the wizard is running at this time?

Anyway, the control of indicators is handled in unity8 side.

Changed in indicator-network:
status: New → Incomplete
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

Based on IRC discussion this seems to be something on the unity8 side alone.

Changed in indicator-network:
status: Incomplete → Invalid
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Jonathan Cave (jocave) wrote :

Reproduced here (r104).

I have found that eventually unity8 is restarted (the system goes back the spinner and session restarts), when back up the SIM is unlocked.

Revision history for this message
Dave Morley (davmor2) wrote :

This is what I get when I first unlock the phone from a reboot, If I unlock the sim while the dash is in this state it locks up.

Michael Terry (mterry)
Changed in unity8 (Ubuntu):
assignee: nobody → Michael Terry (mterry)
tags: added: lt-blocker lt-category-visible lt-date-20141014 lt-prio-high
Revision history for this message
Michael Terry (mterry) wrote :

BTW, this is https://errors.ubuntu.com/oops/09b83e84-53b5-11e4-bc56-fa163e22e467

And I haven't been able to reproduce yet (using phonesim and re-enabling welcome-wizard). Maybe phonesim doesn't reproduce. Or maybe my timing has been bad...

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

That's a crash in media-hub-client. I was not seeing this on utopic-proposed (krillin #85) but was constantly hitting it on rtm-proposed (krillin #104).

So probably something that has been fixed on utopic-proposed in either libmedia-hub-client or dbus-cpp...

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

Might be the same issue:
https://errors.ubuntu.com/problem/f53968407e05846ce6dd99e01d5c27df7589b9eb

Although the retrace has failed just looking at the signatures makes me think of uncaught exception. At least in i-network we had to guard all calls to core::dbus::Bus::run() inside try-catches as run() sometimes leaks exceptions.

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

looking at the report mterry posted it looks like coming from qtubuntu-media. I'm not familiar with that code base but after having a quick look these caught my eye:

http://bazaar.launchpad.net/~phablet-team/qtubuntu-media/trunk/view/head:/src/aal/aalmediaplayerservice.cpp:

AalMediaPlayerService::AalMediaPlayerService(QObject *parent):
...
m_service = this;
---
    m_hubPlayerSession->playback_status_changed().connect(
            std::bind(&AalMediaPlayerService::onPlaybackStatusChanged, this, _1));
...

First m_service is static, so if ever more than one instance of AalMediaPlayerService is created things will brobably break. Should that be a singleton instead?

secondly, there is is connection made to m_hubPlayerSession, but it is not disconnected in

void
AalMediaPlayerService::setPlayer(const std::shared_ptr<core::ubuntu::media::Player> &player)
{
    m_hubPlayerSession = player;
}

nor in the destructor ~AalMediaPlayerService() even though the (static) m_service might get descructed as it's parent is relayed to it's parent QObject class.

Revision history for this message
Michał Sawicz (saviq) wrote :

Yeah, still there (apparently I can only reproduce in the morning). Got symbols, though!

Revision history for this message
Michał Sawicz (saviq) wrote :
Download full text (23.5 KiB)

 #0 0x01a93d30 in ?? ()
 No symbol table info available.
 #1 0xa795b4d8 in operator()<core::ubuntu::media::Player::PlaybackStatus, void> (__object=<optimized out>, this=<optimized out>) at /usr/include/c++/4.9/functional:569
 No locals.
 #2 __call<void, core::ubuntu::media::Player::PlaybackStatus&&, 0u, 1u> (__args=<optimized out>, this=<optimized out>) at /usr/include/c++/4.9/functional:1264
 No locals.
 #3 operator()<core::ubuntu::media::Player::PlaybackStatus, void> (this=<optimized out>) at /usr/include/c++/4.9/functional:1323
 No locals.
 #4 std::_Function_handler<void (core::ubuntu::media::Player::PlaybackStatus), std::_Bind<std::_Mem_fn<void (AalMediaPlayerService::*)(core::ubuntu::media::Player::PlaybackStatus const&)> (AalMediaPlayerService*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, core::ubuntu::media::Player::PlaybackStatus) (__functor=..., __args#0=core::ubuntu::media::Player::stopped) at /usr/include/c++/4.9/functional:2039
 No locals.
 #5 0xa78ed1e4 in operator() (args#0=<optimized out>, this=0xa663cacc) at /usr/include/core/signal.h:49
 No locals.
 #6 core::Signal<core::ubuntu::media::Player::PlaybackStatus>::operator() (this=<optimized out>, args#0=core::ubuntu::media::Player::stopped) at /usr/include/core/signal.h:137
         slot = {slot = {<std::_Maybe_unary_or_binary_function<void, core::ubuntu::media::Player::PlaybackStatus>> = {<std::unary_function<core::ubuntu::media::Player::PlaybackStatus, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 8, static _M_max_align = 4, _M_functor = {_M_unused = {_M_object = 0xaf701470, _M_const_object = 0xaf701470, _M_function_pointer = 0xaf701470, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaf701470, this adjustment 5}, _M_pod_data = "p\024p\257\n\000\000"}, _M_manager = 0xa795b2ad <std::_Function_base::_Base_manager<std::_Bind<std::_Mem_fn<void (AalMediaPlayerService::*)(core::ubuntu::media::Player::PlaybackStatus const&)> (AalMediaPlayerService*, std::_Placeholder<1>)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0xa795b4b1 <std::_Function_handler<void (core::ubuntu::media::Player::PlaybackStatus), std::_Bind<std::_Mem_fn<void (AalMediaPlayerService::*)(core::ubuntu::media::Player::PlaybackStatus const&)> (AalMediaPlayerService*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, core::ubuntu::media::Player::PlaybackStatus)>}, dispatcher = {<std::_Maybe_unary_or_binary_function<void, const std::function<void()>&>> = {<std::unary_function<const std::function<void()>&, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 8, static _M_max_align = 4, _M_functor = {_M_unused = {_M_object = 0xaf701480, _M_const_object = 0xaf701480, _M_function_pointer = 0xaf701480, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaf701480, this adjustment 13957528}, _M_pod_data = "\200\024p\257\060\363\251\001"}, _M_manager = 0xa795b2fd <std::_Function_base::_Base_manager<core::Signal<core::ubuntu::media::Player::PlaybackStatus>::connect(std::function<void (core...

Michał Sawicz (saviq)
summary: - Unlocking sim while dash is not loaded leads to a system lockup
+ Unlocking sim causes unity8 crash
Changed in qtubuntu-media (Ubuntu):
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Thomas Voß (thomas-voss)
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → Invalid
assignee: Michael Terry (mterry) → nobody
Changed in dbus-cpp (Ubuntu):
status: New → Invalid
Changed in media-hub (Ubuntu):
status: New → Invalid
summary: - Unlocking sim causes unity8 crash
+ showing notification right after boot causes unity8 crash
Michał Sawicz (saviq)
Changed in qtubuntu-media (Ubuntu RTM):
status: New → Fix Released
importance: Undecided → Critical
assignee: nobody → Thomas Voß (thomas-voss)
Olli Ries (ories)
Changed in qtubuntu-media (Ubuntu):
importance: Critical → High
Olli Ries (ories)
tags: removed: rtm14
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.