Crash in scopes run time if scope throws exception from PreviewQueryBase::run()

Bug #1412352 reported by Michi Henning
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Thomas Strehl
unity-scopes-api (Ubuntu)
Fix Released
Critical
Michi Henning
unity-scopes-api (Ubuntu RTM)
Won't Fix
Critical
Pete Woods

Bug Description

If a scope throws an exception from its PreviewQueryBase::run() implementation, the scopes run time dumps core (stack trace below). This affects both RTM and Vivid. I have a fix for this, which I'll MR tomorrow.

#0 __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
No locals.
#1 0xb6b7ae5e in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
        _a1 = 0
        _a3tmp = 6
        _a1tmp = 0
        _a3 = 6
        _nametmp = 268
        _a2tmp = 3737
        _a2 = 3737
        _name = 268
        _sys_result = <optimized out>
        pd = 0x9f5ff380
        pid = 0
        selftid = 3737
#2 0xb6b7bb4e in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {1, 3066296895, 3066296824, 3065897499, 3065664229, 1, 3065664193, 3069661904, 2673865600, 3066482688, 729240, 0, 1, 30451216, 0, 3069594101, 3069661904, 1, 5, 0, 2673862536, 3065359272, 3066296824, 3066297880, 1, 30448212, 3068579119, 2673862316, 2673862536, 3069612528, 30451184, 2673866896}}, sa_flags = 1, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3 0xb6cb8128 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
        terminating = true
        t = <optimized out>
#4 0xb6cb694c in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
No locals.
#5 0xb6cb5d5a in __cxa_call_terminate (ue_header=0x1d0a610) at ../../../../src/libstdc++-v3/libsupc++/eh_call.cc:54
No locals.
#6 0xb6cb64ae in __cxxabiv1::__gxx_personality_v0 (state=<optimized out>, ue_header=0x1d0a610, context=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_personality.cc:676
        action_record = <optimized out>
        p = <optimized out>
        thrown_ptr = 0x0
        info = {Start = 2673862680, LPStart = 30451216, ttype_base = 0, TType = 0xb6e6cd2d <unity::scopes::internal::PreviewQueryObject::run(std::shared_ptr<unity::scopes::internal::MWReply> const&, unity::scopes::internal::InvokeInfo const&)+1288> "GXFb\360:\375?K\004\230\363X\f8\230B\002\320YF\212\367a\376<K<I\360XyD\210\367\032\353\331\370", action_table = 0x1d12000 "\001", ttype_encoding = 136 '\210', call_site_encoding = 231 '\347'}
        landing_pad = 0
        ip = <optimized out>
        handler_switch_value = 0
        foreign_exception = false
        actions = <optimized out>
        found_type = <optimized out>
        language_specific_data = <optimized out>
#7 0xb6c59c0a in unwind_phase2 (ucbp=ucbp@entry=0x1d0a610, vrs=vrs@entry=0x9f5fe6ac) at ../../../src/libgcc/unwind-arm-common.inc:294
        pr_result = <optimized out>
#8 0xb6c59dda in __gnu_Unwind_Resume (ucbp=0x1d0a610, entry_vrs=0x9f5fe6ac) at ../../../src/libgcc/unwind-arm-common.inc:502
        pr_result = <optimized out>
#9 0xb6c5a66e in _Unwind_Resume () at ../../../src/libgcc/config/arm/libunwind.S:357
No locals.
#10 0xb6e6cd2e in unity::scopes::internal::PreviewQueryObject::run (this=<optimized out>, reply=...) at /build/buildd/unity-scopes-api-0.6.8+15.04.20141119/src/scopes/internal/PreviewQueryObject.cpp:80
        e = @0xa6e0e070: {_vptr.exception = 0xb3a56418}
        __PRETTY_FUNCTION__ = "virtual void unity::scopes::internal::PreviewQueryObject::run(const MWReplyProxy&, const unity::scopes::internal::InvokeInfo&)"
        reply_proxy = {<std::__shared_ptr<unity::scopes::internal::PreviewReplyImpl, (__gnu_cxx::_Lock_policy)2>> = {_M_ptr = <optimized out>, _M_refcount = {_M_pi = 0x1d14c70}}, <No data fields>}
#11 0x9f5f0006 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Related branches

Changed in unity-scopes-api (Ubuntu):
status: New → In Progress
Changed in canonical-devices-system-image:
importance: Undecided → High
milestone: none → ww05-2015
status: New → Confirmed
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
milestone: ww05-2015 → ww07-2015
Changed in unity-scopes-api (Ubuntu):
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

doesn't seem this actually landed yet for rtm

Changed in canonical-devices-system-image:
milestone: ww07-2015 → ww09-2015
status: Fix Committed → In Progress
assignee: nobody → Thomas Strehl (strehl-t)
Revision history for this message
Michi Henning (michihenning) wrote :

Pawel, can we merge this into RTM as well please?

Changed in unity-scopes-api (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Pete Woods (pete-woods) wrote :

Michi, this MR doesn't cleanly cherry pick onto RTM due to overlapping changes from the logging work.

Could you perform the resolve for me? I'm not really sure what the result should be in some places..

bzr branch lp:unity-scopes-api/rtm-14.09
bzr merge -c 306 lp:unity-scopes-api

Revision history for this message
Michi Henning (michihenning) wrote :

No problem. Sorry for the mess. I made quite a few large-scale changes around then :-)

I've pushed the merged branch here:

lp:~michihenning/+junk/RTM-plus-306

Cheers,

Michi.

Pete Woods (pete-woods)
Changed in unity-scopes-api (Ubuntu RTM):
status: New → In Progress
assignee: nobody → Pete Woods (pete-woods)
importance: Undecided → Critical
Changed in canonical-devices-system-image:
milestone: ww09-2015 → ww13-ota
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

removing from the ota list as it is not a normal occurance

Changed in canonical-devices-system-image:
milestone: ww13-ota → none
Changed in unity-scopes-api (Ubuntu RTM):
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
Revision history for this message
Michi Henning (michihenning) wrote :

Setting this to invalid for ubuntu-rtm because no-one is interested in that anymore.

Changed in unity-scopes-api (Ubuntu RTM):
status: Fix Committed → Won't Fix
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.