Coverflow can crash unity

Bug #1039959 reported by Michal Hruby
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Critical
Jason Smith
unity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

When results are added to and removed from the coverflow renderer rapidly, it can crash, because it doesn't seem to be disconnecting the IconLoader handles.

Backtrace of the crash:

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe1dbb116 in unity::dash::CoverflowResultItem::CoverflowResultItem(unity::dash::Result&, unity::dash::CoverflowResultView*, nux::ObjectPtr<nux::CoverflowModel>)::{lambda(nux::BaseTexture*)#1}::operator()(nux::BaseTexture*) const () at ~/unity/source/unity/dash/CoverflowResultView.cpp:93
93 parent_->NeedRedraw();
#0 0x00007fffe1dbb116 in unity::dash::CoverflowResultItem::CoverflowResultItem(unity::dash::Result&, unity::dash::CoverflowResultView*, nux::ObjectPtr<nux::CoverflowModel>)::{lambda(nux::BaseTexture*)#1}::operator()(nux::BaseTexture*) const () at ~/unity/source/unity/dash/CoverflowResultView.cpp:93
No symbol table info available.
#1 0x00007fffe1dbd110 in sigc::adaptor_functor<unity::dash::CoverflowResultItem::CoverflowResultItem(unity::dash::Result&, unity::dash::CoverflowResultView*, nux::CoverflowModel::Ptr)::<lambda(nux::BaseTexture*)> >::operator()<nux::BaseTexture* const&>(nux::BaseTexture * const&) const (this=0x58e84f0, _A_arg1=@0x7fffffffd5e0: 0x61ab5f0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84
No locals.
#2 0x00007fffe1dbcfdf in sigc::internal::slot_call1<unity::dash::CoverflowResultItem::CoverflowResultItem(unity::dash::Result&, unity::dash::CoverflowResultView*, nux::CoverflowModel::Ptr)::<lambda(nux::BaseTexture*)>, void, nux::BaseTexture*>::call_it(sigc::internal::slot_rep *, sigc::type_trait<nux::BaseTexture*>::take) (rep=0x58e84c0, a_1=@0x7fffffffd5e0: 0x61ab5f0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137
        typed_rep = 0x58e84c0
#3 0x00007fffe1e93e6c in sigc::internal::signal_emit1<void, nux::BaseTexture*, sigc::nil>::emit (impl=0x5f171b0, _A_a1=@0x7fffffffd5e0: 0x61ab5f0) at /usr/include/sigc++-2.0/sigc++/signal.h:1010
        it = {_M_node = 0x5f167f0}
        exec = {sig_ = 0x5f171b0}
        slots = {slots_ = @0x5f171b8, placeholder = {_M_node = 0x5932890}}
#4 0x00007fffe1e939e9 in sigc::signal1<void, nux::BaseTexture*, sigc::nil>::emit (this=0x5f16fc8, _A_a1=@0x7fffffffd5e0: 0x61ab5f0) at /usr/include/sigc++-2.0/sigc++/signal.h:2781
No locals.
#5 0x00007fffe1e92d75 in unity::IconTexture::IconLoaded (this=0x5f16ba0, icon_name=..., size=132, pixbuf=...) at ~/unity/source/unity/unity-shared/IconTexture.cpp:176
No locals.
#6 0x00007fffe1e94015 in sigc::bound_mem_functor3<void, unity::IconTexture, std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&>::operator() (this=0x59dc060, _A_a1=..., _A_a2=@0x7fffffffd65c: 132, _A_a3=...) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1985
No locals.
#7 0x00007fffe1e93ac6 in std::_Function_handler<void (std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&), sigc::bound_mem_functor3<void, unity::IconTexture, std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&> >::_M_invoke(std::_Any_data const&, std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&) (__functor=..., __args#0=..., __args#1=132, __args#2=...) at /usr/include/c++/4.6/functional:1778
No locals.
#8 0x00007fffe1e7d24a in std::function<void (std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&)>::operator()(std::string const&, unsigned int, unity::glib::Object<_GdkPixbuf> const&) const (this=0x59dbfc0, __args#0=..., __args#1=132, __args#2=...) at /usr/include/c++/4.6/functional:2161
No locals.
#9 0x00007fffe1e7a8f8 in unity::IconLoader::Impl::IconLoaderTask::InvokeSlot (this=0x59dbfa0) at ~/unity/source/unity/unity-shared/IconLoader.cpp:129
No locals.
#10 0x00007fffe1e799e1 in unity::IconLoader::Impl::CoalesceTasksCb (this=0x1d79580) at ~/unity/source/unity/unity-shared/IconLoader.cpp:785
        task = 0x59dbfa0
        __for_range = @0x1d79660: {<std::_Vector_base<unity::IconLoader::Impl::IconLoaderTask*, std::allocator<unity::IconLoader::Impl::IconLoaderTask*> >> = {_M_impl = {<std::allocator<unity::IconLoader::Impl::IconLoaderTask*>> = {<__gnu_cxx::new_allocator<unity::IconLoader::Impl::IconLoaderTask*>> = {<No data fields>}, <No data fields>}, _M_start = 0x1d94c50, _M_finish = 0x1d94c78, _M_end_of_storage = 0x1d94e50}}, <No data fields>}
        __for_begin = {_M_current = 0x1d94c58}
        __for_end = {_M_current = 0x1d94c78}
#11 0x00007fffe1e81463 in sigc::bound_mem_functor0<bool, unity::IconLoader::Impl>::operator() (this=0x59f03a0) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
No locals.
#12 0x00007fffe1e7f2ca in std::_Function_handler<bool (), sigc::bound_mem_functor0<bool, unity::IconLoader::Impl> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/4.6/functional:1764
No locals.
#13 0x00007fffe02e1c4a in std::function<bool ()>::operator()() const (this=0x5d80410) at /usr/include/c++/4.6/functional:2161
No locals.
#14 0x00007fffe02e01c0 in unity::glib::Source::SourceCallback (data=0x611b750) at ~/unity/source/unity/UnityCore/GLibSource.cpp:106
        self = 0x5d803e0
#15 0x00007ffff5a3f91b in g_timeout_dispatch (source=0x5a2fb40, callback=<optimized out>, user_data=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3882
        timeout_source = 0x5a2fb40
        again = <optimized out>
#16 0x00007ffff5a3ed53 in g_main_dispatch (context=0x62de00) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:2539
        dispatch = 0x7ffff5a3f900 <g_timeout_dispatch>
        was_in_call = 0
        user_data = 0x611b750
        callback = 0x7fffe02e0170 <unity::glib::Source::SourceCallback(void*)>
        cb_funcs = 0x7ffff5cea9a0
        cb_data = 0x5aff880
        current_source_link = {data = 0x5a2fb40, next = 0x0}
        need_destroy = <optimized out>
        source = 0x5a2fb40
        current = 0x8cd720
        i = <optimized out>
#17 g_main_context_dispatch (context=0x62de00) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3075
No locals.
#18 0x00007ffff5a3f0a0 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x62de00, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3146
        timeout = 0
        some_ready = 1
        fds = <optimized out>
        max_priority = 240
        nfds = 15
        allocated_nfds = <optimized out>
#19 g_main_context_iterate (context=0x62de00, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3083
        some_ready = 1
#20 0x00007ffff5a3f49a in g_main_loop_run (loop=0x62e260) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3340
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#21 0x00007ffff7ac9418 in compiz::private_screen::EventManager::startEventLoop (this=0x62bfb0, dpy=0x630a40) at ~/unity/source/compiz/src/screen.cpp:172
No locals.
#22 0x00007ffff7ac939b in CompScreenImpl::eventLoop (this=0x627bc0) at ~/unity/source/compiz/src/screen.cpp:159
No locals.
#23 0x0000000000416657 in CompManager::run (this=0x7fffffffd9c0) at ~/unity/source/compiz/src/main.cpp:191
No locals.
#24 0x00000000004168c8 in main (argc=3, argv=0x7fffffffdac8) at ~/unity/source/compiz/src/main.cpp:260
        manager = {disableSm = false, clientId = 0x0, displayName = 0x0}

Related branches

Michal Hruby (mhr3)
Changed in unity:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → Jason Smith (jassmith)
milestone: none → 6.4
Omer Akram (om26er)
Changed in unity:
status: Triaged → In Progress
Changed in unity:
status: In Progress → Fix Committed
Changed in unity (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.5 KiB)

This bug was fixed in the package unity - 6.4.0-0ubuntu1

---------------
unity (6.4.0-0ubuntu1) quantal-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * New upstream release.
    - Software Center add to launcher icon animation is delayed when the
      launcher is in auto-hide mode (LP: #1012896)
    - Home lens: Applications show up in Music category (LP: #1040101)
    - WARN unity.hud.hud Hud.cpp:185 Attempted to close the hud connection
      without starting it (LP: #1039451)
    - Text field textures do not update when maximum width changes.
      (LP: #1037187)
    - An application is closed if manually removed from favorites on gsettings
      (LP: #1032157)
    - The switcher (Alt+Tab) is showing incorrect windows after using Deskop
      Wall (Ctrl+alt+<direction>) (LP: #1031959)
    - Dragging icons to reorder -away from launcher causes the dragged icon
      image edges to fade away(cut off) (LP: #1026247)
    - Screen flickers when changing launcher icon size. (LP: #1024113)
    - Arrow for indicating lenses points empty space on alt+F2 (LP: #998752)
    - [previews] Music album tracks do not have a scroll-bar when needed.
      (LP: #1039462)
    - [USE_MODERN_COMPIZ_GL] With unity scrollbar support enabled, hotplugging
      monitors doesn't work (LP: #1039410)
    - [previews] Track titles aren't escaped (LP: #1039020)
    - Launcher - Edge of tiles (with backlight disabled) is too opaque
      (LP: #1038138)
    - [USE_MODERN_COMPIZ_GL] Benchmark window appears behind the Unity shell
      now (LP: #1036609)
    - [GLES] [USE_MODERN_COMPIZ_GL] Unity shell (Launcher and Panel) are
      missing if framebuffer_object is disabled (LP: #1036569)
    - [USE_MODERN_COMPIZ_GL] Benchmark window is mostly invisible, shrunken
      and displaced (LP: #1036528)
    - Unity quicklist menu items leak memory (LP: #1036338)
    - Icon resized between 32 - 48 - 64 look jaggy (LP: #1036231)
    - [Regression] Hideous low-res icon when using the HUD with autohide
      enabled. (LP: #1035951)
    - [regression] Selecting an item of the BFB quicklist when the dash is
      open, causes it to hide (LP: #1035641)
    - Launcher - Switch on "backlight toggles" mode by default (LP: #1033866)
    - Unity spends 15% of time in PlacesGroup::ComputeContentSize when opening
      dash (LP: #1033306)
    - Launcher dragged icon is not redrawn when the mouse pointer is not moved
      (LP: #1032700)
    - Bottom - Up key navigation is broken in dash filterbar (LP: #1028810)
    - Launcher - SD card can not be ejected by drag-n-dropping to trash
      (LP: #960910)
    - Alt-tab - The app name in the integrated menu should not change during
      Alt-tab switching (LP: #950782)
    - Dash - If only one Category Header is displayed, it should be
      automatically expanded (LP: #950710)
    - Launcher - Unity mouse wheel scroll too small (LP: #906072)
    - boot moves desktop icons (LP: #886667)
    - Alt-tab - Reduce the spread delay for all items other than the initial
      item the select lands on after alt-tab opens (LP: #838232)
    - Launcher - Launcher should never autohide when the cursor is positioned
      over the Launcher (e.g. When ...

Read more...

Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
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.