Compiz crashes when scrolling in Openoffice

Bug #675506 reported by Stefan Ebner
40
This bug affects 7 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: compiz

When using Openoffice and doing some scrolling (can take some seconds to minutes) compiz crashes.
The Desktop is still (more or less) useable (missing windows boarders etc). I created a starter on the desktop to start compiz again and the Desktop is back to normal until the next crash happens.

Backtrace:

GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/compiz...Reading symbols from /usr/lib/debug/usr/bin/compiz...done.
done.
(gdb) run --replace
Starting program: /usr/bin/compiz --replace
[Thread debugging using libthread_db enabled]

Program received signal SIGABRT, Aborted.
0x0012e416 in __kernel_vsyscall ()
(gdb) bt
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x0082a941 in raise () from /lib/libc.so.6
#2 0x0082de42 in abort () from /lib/libc.so.6
#3 0x00781065 in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/libstdc++.so.6
#4 0x0077ef45 in ?? () from /usr/lib/libstdc++.so.6
#5 0x0077ef82 in std::terminate() () from /usr/lib/libstdc++.so.6
#6 0x0077f0f1 in __cxa_throw () from /usr/lib/libstdc++.so.6
#7 0x080c47d7 in boost::throw_exception<boost::bad_function_call> (e=...)
    at /usr/include/boost/throw_exception.hpp:65
#8 0x080c0f40 in boost::function0<bool>::operator() (this=0x8342340)
    at /usr/include/boost/function/function_template.hpp:1010
#9 0x080afe6d in onTimerTimeout (timer=0x834232c)
    at /build/buildd/compiz-0.9.2.1+glibmainloop/src/screen.cpp:291
#10 0x005b1e0c in g_timeout_dispatch () from /lib/libglib-2.0.so.0
#11 0x005b04e8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#12 0x005b0cb0 in g_main_context_iterate.clone.5 () from /lib/libglib-2.0.so.0
#13 0x005b1373 in g_main_loop_run () from /lib/libglib-2.0.so.0
#14 0x080afbd0 in CompScreen::eventLoop (this=0x81302c0)
    at /build/buildd/compiz-0.9.2.1+glibmainloop/src/screen.cpp:224
#15 0x080ad0e5 in main (argc=2, argv=0xbffff7c4)
    at /build/buildd/compiz-0.9.2.1+glibmainloop/src/main.cpp:290

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 675506] [NEW] Compiz crashes when scrolling in Openoffice

boost::bad_function_call usually indicates that an empty function is
being passed to boost.

Somewhere in the code we are passing an emptyFunction to PrivateScreen::addTimer

I've subscribed myself to this and will look at it once my exams are over

On Mon, Nov 15, 2010 at 8:03 PM, Launchpad Bug Tracker
<email address hidden> wrote:
> You have been subscribed to a public bug by Stefan Ebner (sebner):
>
> Binary package hint: compiz
>
> When using Openoffice and doing some scrolling (can take some seconds to minutes) compiz crashes.
> The Desktop is still (more or less) useable (missing windows boarders etc). I created a starter on the desktop to start compiz again and the Desktop is back to normal until the next crash happens.
>
> Backtrace:
>
> GNU gdb (GDB) 7.2-ubuntu
> Copyright (C) 2010 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "i686-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /usr/bin/compiz...(no debugging symbols found)...done.
> (gdb) run --replace
> Starting program: /usr/bin/compiz --replace
> [Thread debugging using libthread_db enabled]
>
> Program received signal SIGABRT, Aborted.
> 0x0012e416 in __kernel_vsyscall ()
> (gdb) bt
> #0  0x0012e416 in __kernel_vsyscall ()
> #1  0x0082a941 in raise () from /lib/libc.so.6
> #2  0x0082de42 in abort () from /lib/libc.so.6
> #3  0x00781065 in __gnu_cxx::__verbose_terminate_handler() ()
>   from /usr/lib/libstdc++.so.6
> #4  0x0077ef45 in ?? () from /usr/lib/libstdc++.so.6
> #5  0x0077ef82 in std::terminate() () from /usr/lib/libstdc++.so.6
> #6  0x0077f0f1 in __cxa_throw () from /usr/lib/libstdc++.so.6
> #7  0x080c47d7 in void boost::throw_exception<boost::bad_function_call>(boost::bad_function_call const&) ()
> #8  0x080c0f40 in boost::function0<bool>::operator()() const ()
> #9  0x080afe6d in onTimerTimeout(CompTimer*) ()
> #10 0x005b1e0c in ?? () from /lib/libglib-2.0.so.0
> #11 0x005b04e8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
> #12 0x005b0cb0 in ?? () from /lib/libglib-2.0.so.0
> #13 0x005b1373 in g_main_loop_run () from /lib/libglib-2.0.so.0
> #14 0x080afbd0 in CompScreen::eventLoop() ()
> #15 0x080ad0e5 in main ()
>
> ** Affects: compiz (Ubuntu)
>     Importance: Undecided
>         Status: New
>
> --
> Compiz crashes when scrolling in Openoffice
> https://bugs.launchpad.net/bugs/675506
> You received this bug notification because you are a direct subscriber of the bug.
>

--
Sam Spilsbury

Revision history for this message
Stefan Ebner (sebner) wrote :

Updated with a better backtrace :)

description: updated
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 675506] Re: Compiz crashes when scrolling in Openoffice
Download full text (6.1 KiB)

More info on this - it's likely to be that the CompTimer object is
being destroyed and not actually removed from the stack correctly

On Mon, Nov 15, 2010 at 8:20 PM, Stefan Ebner <email address hidden> wrote:
> Updated with a better backtrace :)
>
> ** Description changed:
>
>  Binary package hint: compiz
>
>  When using Openoffice and doing some scrolling (can take some seconds to minutes) compiz crashes.
>  The Desktop is still (more or less) useable (missing windows boarders etc). I created a starter on the desktop to start compiz again and the Desktop is back to normal until the next crash happens.
>
>  Backtrace:
>
>  GNU gdb (GDB) 7.2-ubuntu
>  Copyright (C) 2010 Free Software Foundation, Inc.
>  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>  This is free software: you are free to change and redistribute it.
>  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>  and "show warranty" for details.
>  This GDB was configured as "i686-linux-gnu".
>  For bug reporting instructions, please see:
>  <http://www.gnu.org/software/gdb/bugs/>...
> - Reading symbols from /usr/bin/compiz...(no debugging symbols found)...done.
> + Reading symbols from /usr/bin/compiz...Reading symbols from /usr/lib/debug/usr/bin/compiz...done.
> + done.
>  (gdb) run --replace
>  Starting program: /usr/bin/compiz --replace
>  [Thread debugging using libthread_db enabled]
>
>  Program received signal SIGABRT, Aborted.
>  0x0012e416 in __kernel_vsyscall ()
>  (gdb) bt
>  #0  0x0012e416 in __kernel_vsyscall ()
>  #1  0x0082a941 in raise () from /lib/libc.so.6
>  #2  0x0082de42 in abort () from /lib/libc.so.6
>  #3  0x00781065 in __gnu_cxx::__verbose_terminate_handler() ()
>     from /usr/lib/libstdc++.so.6
>  #4  0x0077ef45 in ?? () from /usr/lib/libstdc++.so.6
>  #5  0x0077ef82 in std::terminate() () from /usr/lib/libstdc++.so.6
>  #6  0x0077f0f1 in __cxa_throw () from /usr/lib/libstdc++.so.6
> - #7  0x080c47d7 in void boost::throw_exception<boost::bad_function_call>(boost::bad_function_call const&) ()
> - #8  0x080c0f40 in boost::function0<bool>::operator()() const ()
> - #9  0x080afe6d in onTimerTimeout(CompTimer*) ()
> - #10 0x005b1e0c in ?? () from /lib/libglib-2.0.so.0
> + #7  0x080c47d7 in boost::throw_exception<boost::bad_function_call> (e=...)
> +     at /usr/include/boost/throw_exception.hpp:65
> + #8  0x080c0f40 in boost::function0<bool>::operator() (this=0x8342340)
> +     at /usr/include/boost/function/function_template.hpp:1010
> + #9  0x080afe6d in onTimerTimeout (timer=0x834232c)
> +     at /build/buildd/compiz-0.9.2.1+glibmainloop/src/screen.cpp:291
> + #10 0x005b1e0c in g_timeout_dispatch () from /lib/libglib-2.0.so.0
>  #11 0x005b04e8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
> - #12 0x005b0cb0 in ?? () from /lib/libglib-2.0.so.0
> + #12 0x005b0cb0 in g_main_context_iterate.clone.5 () from /lib/libglib-2.0.so.0
>  #13 0x005b1373 in g_main_loop_run () from /lib/libglib-2.0.so.0
> - #14 0x080afbd0 in CompScreen::eventLoop() ()
> - #15 0x080ad0e5 in main ()
> + #14 0x080afbd0 in CompScreen::eventLoop (this=0x81302c0)
> +     at /build/buildd/compiz-0.9.2.1+glibmainloop/src/screen.cpp:2...

Read more...

Revision history for this message
Sam Spilsbury (smspillaz) wrote :
Download full text (6.4 KiB)

Fixed upstream in this commit:

http://git.compiz.org/~dbo/compiz-with-glib-mainloop/commit/?id=c26f860f5e70c20e32a6b2e7b9c611c4f288f89e

On Tue, Nov 16, 2010 at 11:18 AM, Sam Spilsbury <email address hidden> wrote:
> More info on this - it's likely to be that the CompTimer object is
> being destroyed and not actually removed from the stack correctly
>
> On Mon, Nov 15, 2010 at 8:20 PM, Stefan Ebner <email address hidden> wrote:
>> Updated with a better backtrace :)
>>
>> ** Description changed:
>>
>>  Binary package hint: compiz
>>
>>  When using Openoffice and doing some scrolling (can take some seconds to minutes) compiz crashes.
>>  The Desktop is still (more or less) useable (missing windows boarders etc). I created a starter on the desktop to start compiz again and the Desktop is back to normal until the next crash happens.
>>
>>  Backtrace:
>>
>>  GNU gdb (GDB) 7.2-ubuntu
>>  Copyright (C) 2010 Free Software Foundation, Inc.
>>  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>>  This is free software: you are free to change and redistribute it.
>>  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>>  and "show warranty" for details.
>>  This GDB was configured as "i686-linux-gnu".
>>  For bug reporting instructions, please see:
>>  <http://www.gnu.org/software/gdb/bugs/>...
>> - Reading symbols from /usr/bin/compiz...(no debugging symbols found)...done.
>> + Reading symbols from /usr/bin/compiz...Reading symbols from /usr/lib/debug/usr/bin/compiz...done.
>> + done.
>>  (gdb) run --replace
>>  Starting program: /usr/bin/compiz --replace
>>  [Thread debugging using libthread_db enabled]
>>
>>  Program received signal SIGABRT, Aborted.
>>  0x0012e416 in __kernel_vsyscall ()
>>  (gdb) bt
>>  #0  0x0012e416 in __kernel_vsyscall ()
>>  #1  0x0082a941 in raise () from /lib/libc.so.6
>>  #2  0x0082de42 in abort () from /lib/libc.so.6
>>  #3  0x00781065 in __gnu_cxx::__verbose_terminate_handler() ()
>>     from /usr/lib/libstdc++.so.6
>>  #4  0x0077ef45 in ?? () from /usr/lib/libstdc++.so.6
>>  #5  0x0077ef82 in std::terminate() () from /usr/lib/libstdc++.so.6
>>  #6  0x0077f0f1 in __cxa_throw () from /usr/lib/libstdc++.so.6
>> - #7  0x080c47d7 in void boost::throw_exception<boost::bad_function_call>(boost::bad_function_call const&) ()
>> - #8  0x080c0f40 in boost::function0<bool>::operator()() const ()
>> - #9  0x080afe6d in onTimerTimeout(CompTimer*) ()
>> - #10 0x005b1e0c in ?? () from /lib/libglib-2.0.so.0
>> + #7  0x080c47d7 in boost::throw_exception<boost::bad_function_call> (e=...)
>> +     at /usr/include/boost/throw_exception.hpp:65
>> + #8  0x080c0f40 in boost::function0<bool>::operator() (this=0x8342340)
>> +     at /usr/include/boost/function/function_template.hpp:1010
>> + #9  0x080afe6d in onTimerTimeout (timer=0x834232c)
>> +     at /build/buildd/compiz-0.9.2.1+glibmainloop/src/screen.cpp:291
>> + #10 0x005b1e0c in g_timeout_dispatch () from /lib/libglib-2.0.so.0
>>  #11 0x005b04e8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
>> - #12 0x005b0cb0 in ?? () from /lib/libglib-2.0.so.0
>> + #12 0x005b0cb0 in g_main_context_iterate.clone.5 () from /lib/libglib-2.0.so.0
>>...

Read more...

Changed in compiz (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.2.1+glibmainloop2-0ubuntu1

---------------
compiz (1:0.9.2.1+glibmainloop2-0ubuntu1) natty; urgency=low

  * new upstream snapshot with glibmm experimental branch:
    - Compiz crashes when scrolling in Openoffice (LP: #675506)
    - Compiz sometimes loses focus when closing some windows (LP: #671459)
    - Fix --replace hang (LP: #680165)
  * debian/65compiz_profile-on-session:
    - add unity profile to default session
  * debian/rules:
    - add bailer, detection, regex and animation and fade plugin to both
      profiles
    - get an optimized plugin default order
  * debian/patches/060_move_checks_to_compiz.patch:
    - start stripping it down as now we have a detection and bailer plugins
      for that. The failsafe session should be moved in the detection plugin.
  * debian/patches/055_fix_COMPIZ_DEFAULT_PLUGINS.patch,
    debian/patches/056_Preserve-DESTDIR-if-no-override-in-COMPIZ_DESTDIR.patch
    debian/patches/057_update_gnome_bindings.patch:
    - removed, upstreamed
  * debian/patches/065_add_bailer_and_detection_plugins.patch:
    - add bailer and detection plugins to fallback to 2D session or run in
      degraded mode.
  * debian/compiz-gnome.install, debian/unity.ini,
    debian/compiz-gnome.gconf-defaults:
    - add the unity profile to ini and gconf backend
  * debian/patches/001_fix_gconf_path.patch:
    - fix the path when generating the gconf keys (compiz-1)
  * debian/patches/002_ship_splited_gconf_cmakeext_files.patch:
    - ship and link the splited gconf extension schema builder
  * debian/control:
    - add libglibmm-2.4-dev build-dep and to -dev dep
  * debian/patches/003_more_gconf_parser_fix.patch:
    - fix parser breakage with some plugins
 -- Didier Roche <email address hidden> Fri, 26 Nov 2010 20:30:56 +0100

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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