Bug 325196 - crash in evolution
Summary: crash in evolution
Status: RESOLVED FIXED
Alias: None
Product: Oxygen
Classification: Plasma
Component: gtk3-engine (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash with 30 votes (vote)
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-23 12:42 UTC by nucleo
Modified: 2014-07-04 10:54 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Eclipse Kepler stacktrace (mostly Java) (161.21 KB, text/x-log)
2013-11-26 21:48 UTC, Christian Bayer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nucleo 2013-09-23 12:42:20 UTC
Description of problem:
Was switching from calendar to mail

Reproducible: Always

Actual Results:  
Truncated backtrace:
Thread no. 1 (10 frames)
 #0 gtk_widget_queue_draw at gtkwidget.c:4981
 #2 Oxygen::ToolBarStateData::delayedUpdate at /usr/src/debug/oxygen-gtk3-1.2.0/src/animations/oxygentoolbarstatedata.cpp:329
 #3 Oxygen::ToolBarStateData::updateState at /usr/src/debug/oxygen-gtk3-1.2.0/src/animations/oxygentoolbarstatedata.cpp:175
 #4 Oxygen::ToolBarStateData::registerChild at /usr/src/debug/oxygen-gtk3-1.2.0/src/animations/oxygentoolbarstatedata.cpp:115
 #5 Oxygen::render_frame at /usr/src/debug/oxygen-gtk3-1.2.0/src/oxygenthemingengine.cpp:1017
 #6 gtk_render_frame at gtkstylecontext.c:3959
 #7 gtk_button_draw at gtkbutton.c:1724
 #8 _gtk_marshal_BOOLEAN__BOXED at gtkmarshalers.c:85
 #9 gtk_widget_draw_marshaller at gtkwidget.c:855
 #14 _gtk_widget_draw_internal at gtkwidget.c:6165


See https://bugzilla.redhat.com/show_bug.cgi?id=1010597
Comment 1 Hugo Pereira Da Costa 2013-09-23 12:50:52 UTC
What's the gtk3 version ?
Comment 2 nucleo 2013-09-23 12:52:58 UTC
gtk3-3.8.4-1.fc19
evolution-3.8.5-2.fc1
oxygen-gtk3-1.2.0-1.fc19
Comment 3 Hugo Pereira Da Costa 2013-09-23 13:00:40 UTC
Thanks nucleo
Code is crashing in some "GTK_IS_WIDGET" call,
so most likely widget that is passed to it is invalid, which in turn most likely means oxygen-gtk (3) did not catch some widget deletion. I'll see if I can reproduce and investigate.

Will keep you posted

Hugo
Comment 4 Torsten Römer 2013-10-08 12:59:45 UTC
There is a similar issue in rawthreapee: http://code.google.com/p/rawtherapee/issues/detail?id=1986

There is also a stacktrace, hope it can help.
Comment 5 Christian Bayer 2013-11-26 21:48:12 UTC
Created attachment 83779 [details]
Eclipse Kepler stacktrace (mostly Java)
Comment 6 Christian Bayer 2013-11-26 21:48:25 UTC
This one is really getting on my nerves. It crashes Eclipse at random (I'll attach some Eclipse stack traces) and I constantly loose data. Same thing for LibreOffice. I'm on Ubuntu 13.10, this has never happened on 13.04.

gtk3-engines-oxygen:amd64       1.2.0-0ubuntu1.1
gtk2-engines-pixbuf:amd64       2.24.20-1ubuntu1
gtk2-engines-oxygen:amd64       1.3.4-0ubuntu1
gtk2-engines:amd64              1:2.20.2-2ubuntu2 
libreoffice-style-oxygen        1:4.1.2~rc3-0ubuntu1
oxygen-cursor-theme             0.0.2012-06-kde4.8-2
kde-style-oxygen                4:4.11.2-0ubuntu1
Comment 7 Hugo Pereira Da Costa 2013-11-26 21:51:14 UTC
@Christian,
if it is a crash in eclipse, why are you reporting it as "crash in evolution" ? 
Also, eclipse is using oxygen-gtk2, not gtk3.
There are already some crashes reported elsewhere with eclipse, with some suggestions how to workaround. 
See: https://bugs.kde.org/show_bug.cgi?id=324438
Comment 8 Christian Bayer 2013-11-26 21:52:04 UTC
This is the main part, I have tons of crash logs with this specific root of the (Java) stack trace. This one is from moving the mouse into the Eclipse window (no chance of saving progress...). The problem is that I cannot reproduce it at will. Eclipse will work for hours (moving the mouse in and out the window...) but then all of a sudden it will crash. 

C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(J)V
Comment 9 Christian Bayer 2013-11-26 21:53:35 UTC
I think you should change the bug title to 'GTK applications crashing when using the oxygen theme' or the like. This is the first bug report that actually has some similarities with what I'm struggling with for weeks now.
Comment 10 Christian Bayer 2013-11-26 21:54:21 UTC
What about Libreoffice? is that using GTK2 or GTK3-based Oxygen?
Comment 11 Hugo Pereira Da Costa 2013-11-26 21:59:08 UTC
"GTK applications crashing when using the oxygen theme"
Certainly not. That would make the bug impossible to fix.
Libreoffice uses gtk2 also.
Comment 12 Hugo Pereira Da Costa 2013-11-26 22:02:49 UTC
Also: I do not know java, and don't use ecclipse (at least not enough to be able to trigger the crashes), and there is nothing I can get out of these stacktraces, sorry ...
Things you could try:
- try disable all animations
- try downgrade oxygen-gtk2 to earlier version and see if still crashes.
At least that would help giving "some" hint on where things went wrong.
Comment 13 Christian Bayer 2013-11-26 22:20:11 UTC
I know that Eclipse never just crashed on Ubuntu 13.04 (it only got slower and slower, but this is a different story..) So if the theory with the oxygen-gtk2 is right, then this is what has changed from Ubuntu 13.04 oxygen-gtk2- 1.3.3-2ubuntu0.1 to oxygen-gtk2- 1.3.4-0ubuntu1 according to Ubuntu lanuchpad (https://launchpad.net/ubuntu/+source/gtk2-engines-oxygen/1.3.4-0ubuntu1 , see section 'available diffs'):
https://launchpadlibrarian.net/141623680/gtk2-engines-oxygen_1.3.3-2ubuntu1_1.3.4-0ubuntu1.diff.gz
Comment 14 Christian Bayer 2013-11-26 22:22:36 UTC
Disabled all KDE desktop animations and will keep an eye on Eclipse. Also enabled core dumping.
Comment 15 Hugo Pereira Da Costa 2013-11-26 22:22:41 UTC
On 11/26/2013 11:20 PM, Christian Bayer wrote:
> https://bugs.kde.org/show_bug.cgi?id=325196
>
> --- Comment #13 from Christian Bayer <christian_bay@gmx.de> ---
> I know that Eclipse never just crashed on Ubuntu 13.04 (it only got slower and
> slower, but this is a different story..) So if the theory with the oxygen-gtk2
> is right, then this is what has changed from Ubuntu 13.04 oxygen-gtk2-
> 1.3.3-2ubuntu0.1 to oxygen-gtk2- 1.3.4-0ubuntu1 according to Ubuntu lanuchpad
> (https://launchpad.net/ubuntu/+source/gtk2-engines-oxygen/1.3.4-0ubuntu1 , see
> section 'available diffs'):
> https://launchpadlibrarian.net/141623680/gtk2-engines-oxygen_1.3.3-2ubuntu1_1.3.4-0ubuntu1.diff.gz
>
But many other things have changed at the same time, no ?
gtk, glib, eclipse ?
It is not even sure that the bug is actually in oxygen-gtk ...
(could be upstream, triggered by us)
Comment 16 Christian Bayer 2013-11-26 22:31:34 UTC
Correct, a ton of things has changed during the release. But not Eclipse. I don't use the distribution-supplied version and installed my instance some time in August (way before 13.10). I'm not arguing that it is your fault and that you need to fix it. But I'm loosing data here and I think that we are looking at the same problem from different angles. I will disable the KDE GTK-Theming with Oxygen entirely and see if it still crashes. But first I'll run it a full day with animations disabled.
Comment 17 Hugo Pereira Da Costa 2013-11-26 22:32:42 UTC
Sounds good. Many thanks for being willing to help
Comment 18 Hugo Pereira Da Costa 2013-11-26 22:34:41 UTC
PS: Question: does your own eclipse release come with its own bundled libraries ? (gtk, for instance ?) could you check ? I've seen issues with bundled app in the past due to incompatible libraries between the bundled one and the one oxygen-gtk was compiled against.
Comment 19 Christian Bayer 2013-11-27 01:42:10 UTC
Oh, I actually never thought of this. I just checked the Eclipse crash log, it states all linked binaries. Although there is a ton of java-related *gtk*.so files for the Java UI stuff, the main GTK libraries used are the distribution installed ones:

7f914ae3a000-7f914af76000 r-xp 00000000 08:05 8917806                    /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
7f914af76000-7f914b176000 ---p 0013c000 08:05 8917806                    /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
7f914b176000-7f914b17c000 r--p 0013c000 08:05 8917806                    /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
7f914b17c000-7f914b17d000 rw-p 00142000 08:05 8917806                    /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
7f914b17d000-7f914b17e000 rw-p 00000000 00:00 0 
7f914b17e000-7f914b19d000 r-xp 00000000 08:05 8788710                    /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.21009.1
7f914b19d000-7f914b39d000 ---p 0001f000 08:05 8788710                    /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.21009.1
7f914b39d000-7f914b39f000 r--p 0001f000 08:05 8788710                    /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.21009.1
7f914b39f000-7f914b3a0000 rw-p 00021000 08:05 8788710                    /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.21009.1
7f914b3a0000-7f914b7cf000 r-xp 00000000 08:05 8788717                    /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.20
7f914b7cf000-7f914b9ce000 ---p 0042f000 08:05 8788717                    /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.20
7f914b9ce000-7f914b9d5000 r--p 0042e000 08:05 8788717                    /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.20
7f914b9d5000-7f914b9d9000 rw-p 00435000 08:05 8788717                    /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.20
Comment 20 Christian Bayer 2013-11-27 23:11:31 UTC
Update: Eclipse ran stable today for the full day. But a minute ago it crashed again, animations were disabled. Will try to disable GTK Oxygen now.
Comment 21 Torsten Römer 2013-12-02 13:46:23 UTC
Same problem here with Eclipse Kepler installed from eclipse.org. It rarely crashes while being really busy with it, most of the time it just vanishes when the window gains focus or moving the mouse around.
Luckily I never lose data because I have the habit of pressing CTRL+S all the time, but the state is of course always gone.
If I can help trying or confirming something please let me know.
Comment 22 Christian Bayer 2013-12-02 14:05:09 UTC
Hey Torsten,

I also use the eclipse.org Kepler. Same thing here, while working with it it rarely crashes, but if you move the mouse cursor in or out. I switched the GTK2 theme in the KDE settings to clearlooks (which is a native GTK theme I believe). So far no crashes yet. Do you have a Eclipse stack trace (look for a hs_err_pid????.log file in your home directory)?
Comment 23 Torsten Römer 2013-12-02 16:51:36 UTC
Hello Christian,

Yes I have quite a few stack traces, and the most common "problematic frame" is:
# C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a
So it looks similar to the one you attached.

I am running Eclipse in gdb now, maybe this provides additional information.
Comment 24 Christian Bayer 2013-12-03 14:50:15 UTC
These bugs probably track the real problem: https://bugs.kde.org/show_bug.cgi?id=327441, https://bugs.launchpad.net/ubuntu/+source/java-common/+bug/1241101, https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1245468
Sorry for hijacking this ticket.

Here are the last couple crashes and their 'root causes'. I found a workaround for the webkit-related crash and since I switched to the native GTK theme Clearlooks, Eclipse didn't crash with any gtk/glib-related stack traces (yet?)

[09:33] cbayer@dw-cbayer:~$ head hs_err_pid*|grep C
# C  [libgtk-x11-2.0.so.0+0x2202aa]  gtk_tree_view_get_background_area+0x8a
# C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a
# C  [libgobject-2.0.so.0+0x31b3c]  g_type_check_instance_is_a+0x3c
# C  [libgtk-x11-2.0.so.0+0x2202aa]  gtk_tree_view_get_background_area+0x8a
# C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a
# C  [libwebkitgtk-1.0.so.0+0x4246de]  webkitWebViewRegisterForIconNotification+0xbe
# C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a
# C  [libgobject-2.0.so.0+0x31b3c]  g_type_check_instance_is_a+0x3c
# C  [libgobject-2.0.so.0+0x31b3c]  g_type_check_instance_is_a+0x3c
# C  [libwebkitgtk-1.0.so.0+0x407625]  webkitWebViewRegisterForIconNotification+0x95

Could all of these be related? Eclipse never segfaulted before (there have always been Java-related problems..) and I'm using the official Eclipse.org distribution on Kubuntu for more than 4 years now (with update increments). This all started with Kubuntu 13.10.
Comment 25 Christian Bayer 2013-12-05 16:25:24 UTC
Since the switch to the native Clearlooks GTK theme, there have been not a single crash. So switching that is a workable workaround. When switching to the Clearlooks GTK theme, I noticed that Chromium also uses this theme while LibreOffice does not care for any switch of the themes, neither GTK3 nor GTK2-based. I Kubuntu using a native QT-based LibreOffice? Anyways, Libreoffice crashes seem not to be related. Chrome, by the way, never crashed.
Comment 26 Torsten Römer 2013-12-06 00:44:18 UTC
As mentioned in an earlier comment, I have similar crashes in rawtherapee (locally built) when using GTK Oxygen. If I use rawtherapee's own look and feel, it is running stable.

The backtrace looks interesting I think:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff694092a in gtk_widget_queue_draw ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
(gdb) bt full
#0  0x00007ffff694092a in gtk_widget_queue_draw ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#1  0x00007fffeaaf516e in Oxygen::ToolBarStateData::delayedUpdate(void*) ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
No symbol table info available.
#2  0x00007fffeaaf5845 in Oxygen::ToolBarStateData::updateState(_GtkWidget*, bool, bool)
    () from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
No symbol table info available.
#3  0x00007fffeaaf5fc8 in Oxygen::ToolBarStateData::registerChild(_GtkWidget*, bool) ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
No symbol table info available.
#4  0x00007fffeab853ed in ?? ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so
No symbol table info available.
#5  0x00007ffff6787b0c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
Comment 27 Hugo Pereira Da Costa 2013-12-06 07:36:55 UTC
@Torsten
Please file a separate bug report with rawtherapee mentioning
- version numbers of oxygen-gtk, rawtherapee and gtk2
- how to reproduce the crash and how often it happens
- the stacktrace

concerning the stack trace, please also install debug symbols, so that it becomes truely usefull.

Also, this crash can likely be prevented by disabling animations (but I am willing to try fixing it for good, once the proper information is provided: right now I am not even sure how to reproduce it by myself)

To be honest, this bug report is becoming close to useless, and I'm considering simply closing it, because of applications and even gtk versions being mixed. and only incomplete information provided.

The crashes for eclipse should be reported to their own bug report. (there is _no_ code in common between eclipse and evolution, for instance)

Informations on libreoffice are irrelevant.

Regards,

Hugo
Comment 28 Torsten Römer 2013-12-06 12:56:09 UTC
Hello Hugo,

Point taken, sorry for reporting unrelated issues here.

I will create a new bug report for rawtherapee. I built it myself some time ago because of stability issues which solved one of them, but the other one which *seems* to be the same issue with gtk-oxygen in Eclipse remains.

Can you tell me how I can install debug symbols for the related packages? I could not find a *-dbg package for gtk2-engines-oxygen.

Cheers,
Torsten
Comment 29 Hugo Pereira Da Costa 2013-12-06 12:58:48 UTC
@torsten
no clue really. (I guess this is distribution specific).
Now, compiling oxygen-gtk from source should be rather easy I promise (and I might ask you to do so anyway, to test possible patches) :)
Maybe you can give it a shot ? That 'should' give you debug symbols for free
see: http://kde-look.org/content/show.php/?content=136216
to get the sources
Comment 30 Hugo Pereira Da Costa 2013-12-06 12:59:24 UTC
PS: I too need your help: no idea how to run rawtherapee with native theme as opposed to built-in.
Comment 31 Torsten Römer 2013-12-06 13:25:02 UTC
@Hugo
Sure, I will try to compile oxygen-gtk. And it seems I also have to recompile rawtherapee with debug symbols.

Regarding the theme, I just check/uncheck the "Use system theme" in the "General" preferences, and you get to the preferences with the second-to-right button in the top right corner - took me a while to find it :-)
Comment 32 Hugo Pereira Da Costa 2013-12-06 13:29:07 UTC
@Torsten
Thanks ! 
so now: you're just left with filling a proper independent bug report with needed information (notably on how to make the guy crash), because I get no crash here ...
Comment 33 Torsten Römer 2013-12-06 14:14:28 UTC
@Hugo
Good and bad news... since I installed oxygen-gtk from source it seems I cannot reproduce the bug any more - before it occurred when closing the tab of the image editor after editing the 6th-or-so image.
Now I edited 20 images without crash.

I will get a bunch of new photos to edit today, and I will work in Eclipse at the same time - and report if there are any more crashes.

@Christian
Maybe you also install oxygen-gtk from source and see if it solves the crashes you have?
Comment 34 Christian Bayer 2013-12-06 14:18:03 UTC
Sure, will compile it. Which version should I use? The latest git master? Or a specific version?
Comment 35 Torsten Römer 2013-12-06 14:23:04 UTC
I used the latest master.
Comment 36 Christian Bayer 2013-12-06 14:31:29 UTC
Removed the Kubuntu-bundled version of oxygen-gtk2, installed the git master version. Eclipse is now running on the new theme. Lets see what happens.
Comment 37 Christian Bayer 2013-12-06 15:37:59 UTC
Here we go again:

Stack: [0x00007f198348f000,0x00007f1983590000],  sp=0x00007f198358a870,  free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libgtk-x11-2.0.so.0+0x24492a]  gtk_widget_queue_draw+0x1a
C  [liboxygen-gtk.so+0x226199]  Oxygen::ToolBarStateData::delayedUpdate(void*)+0x89
C  [liboxygen-gtk.so+0x223b2c]  Oxygen::TimeLine::trigger() const+0x2e
C  [liboxygen-gtk.so+0x2238fa]  Oxygen::TimeLine::start()+0xae
C  [liboxygen-gtk.so+0x225c17]  Oxygen::ToolBarStateData::updateState(_GtkWidget*, bool, bool)+0x20d
C  [liboxygen-gtk.so+0x22587d]  Oxygen::ToolBarStateData::registerChild(_GtkWidget*, bool)+0x2f3
C  [liboxygen-gtk.so+0x1e5339]  Oxygen::ToolBarStateEngine::registerChild(_GtkWidget*, _GtkWidget*, bool)+0x71
C  [liboxygen-gtk.so+0x2ec50c]  Oxygen::draw_box(_GtkStyle*, _GdkDrawable*, GtkStateType, GtkShadowType, _GdkRectangle*, _GtkWidget*, char const*, int, int, int, int)+0x1f60

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(J)V

Currently waiting on Ubuntu apport to generate some meaningful stack trace. The above is from the JVM's crash log. This happened on the master-based code I just compiled an hour ago.
How do I force
Comment 38 Christian Bayer 2013-12-06 15:42:12 UTC
Apport did not return anything, so also no debug-enabled stack trace. Can I somehow force that?
Comment 39 Torsten Römer 2013-12-06 18:09:45 UTC
Received a crash again, but only after hours of intensive usage, created a bug with hopefully useful backtrace: https://bugs.kde.org/show_bug.cgi?id=328495
Comment 40 Hugo Pereira Da Costa 2013-12-06 18:10:17 UTC
@Torsten
Thanks !
Comment 41 Hugo Pereira Da Costa 2014-01-03 18:38:34 UTC
Git commit c52b7367d99444ace2743c87364591cb0dd164a7 by Hugo Pereira Da Costa.
Committed on 03/01/2014 at 17:47.
Pushed by hpereiradacosta into branch '1.4'.

properly reset _previous and _current widget, if matching, in case of child destruction, for ToolbarStateData, MenuStateData, MenuBarStateData
Related: bug 329112, bug 324438, bug 328495

M  +91   -0    src/animations/oxygenmenubarstatedata.cpp
M  +15   -0    src/animations/oxygenmenubarstatedata.h
M  +90   -0    src/animations/oxygenmenustatedata.cpp
M  +15   -0    src/animations/oxygenmenustatedata.h
M  +13   -0    src/animations/oxygentoolbarstatedata.cpp

http://commits.kde.org/oxygen-gtk/c52b7367d99444ace2743c87364591cb0dd164a7
Comment 42 Hugo Pereira Da Costa 2014-01-03 18:58:03 UTC
Git commit a9fd101716d92623e410099d9b13f31cb3236fe8 by Hugo Pereira Da Costa.
Committed on 03/01/2014 at 17:47.
Pushed by hpereiradacosta into branch 'gtk3'.

properly reset _previous and _current widget, if matching, in case of child destruction, for ToolbarStateData, MenuStateData, MenuBarStateData
Related: bug 329112, bug 324438, bug 328495

M  +91   -0    src/animations/oxygenmenubarstatedata.cpp
M  +15   -0    src/animations/oxygenmenubarstatedata.h
M  +90   -0    src/animations/oxygenmenustatedata.cpp
M  +15   -0    src/animations/oxygenmenustatedata.h
M  +13   -0    src/animations/oxygentoolbarstatedata.cpp

http://commits.kde.org/oxygen-gtk/a9fd101716d92623e410099d9b13f31cb3236fe8
Comment 43 Hugo Pereira Da Costa 2014-01-03 18:58:08 UTC
Git commit bd052fe914c6cf9da70dd4ab931a4b563cb6e742 by Hugo Pereira Da Costa.
Committed on 03/01/2014 at 17:47.
Pushed by hpereiradacosta into branch 'gtk3-1.2'.

properly reset _previous and _current widget, if matching, in case of child destruction, for ToolbarStateData, MenuStateData, MenuBarStateData
Related: bug 329112, bug 324438, bug 328495

M  +91   -0    src/animations/oxygenmenubarstatedata.cpp
M  +15   -0    src/animations/oxygenmenubarstatedata.h
M  +90   -0    src/animations/oxygenmenustatedata.cpp
M  +15   -0    src/animations/oxygenmenustatedata.h
M  +13   -0    src/animations/oxygentoolbarstatedata.cpp

http://commits.kde.org/oxygen-gtk/bd052fe914c6cf9da70dd4ab931a4b563cb6e742
Comment 44 Hugo Pereira Da Costa 2014-01-03 19:01:37 UTC
Concerning the evolution crash
(Oxygen::ToolBarStateData::delayedUpdate at /usr/src/debug/oxygen-gtk3-1.2.0/src/animations/oxygentoolbarstatedata.cpp)

Can someone test latest oxygen-gtk from git, either branch gtk3, gtk3-1.3 (for gtk3>3.10) or gtk3-1.2 ? 

I "think" I have fixed the issue, although I did not check extensively (the code change in ToolbarStateData makes sense though in terms on how the old code could indeed crash and the new one should not)

Keep me posted

Hugo
Comment 45 Hugo Pereira Da Costa 2014-01-03 19:04:44 UTC
PS: idem for the ecclipse crash, using either branch "master" or "1.4"
(take the code from git, compile from source)

To get the code from git: 
git clone -b 1.4 git://anongit.kde.org/oxygen-gtk

(replace 1.4 by the branch that you are interested in)
Comment 46 Christian Bayer 2014-01-06 07:34:27 UTC
Testing latest git build with Eclipse now. Thanks for fixing!
Comment 47 Christian Bayer 2014-01-07 08:18:35 UTC
Running a full day without a crash so far. But right now I only have a single screen and I recall that switching focus between maximized windows on different screens triggered the most crashes. Will go on testing and report here once I can use my regular multi-screen setup.
Comment 48 Hugo Pereira Da Costa 2014-01-07 08:19:48 UTC
@Christian,
Good news. I have high hopes. Keep me posted.
Comment 49 Hugo Pereira Da Costa 2014-01-10 08:56:25 UTC
had positive feedback in other similar bug reports. 
Also I'm pretty convinced the bug is unrelated to display setup (although yes this could trigger it more often). 
So closing.
Feel free to re-open if crash reoccurs with recent enough version of oxygen-gtk2 / oxygen-gtk3
Comment 50 Christian Bayer 2014-01-27 15:28:04 UTC
Thanks for resolving! Tested for over two weeks in a multi-headed environment, no crashes so far. Fixed!
Comment 51 Christian Bayer 2014-04-10 13:13:50 UTC
Hey, which release version of oxygen fixes this bug?
Comment 52 Hugo Pereira Da Costa 2014-04-11 06:12:46 UTC
Hi Christian,
(In reply to comment #51)
> Hey, which release version of oxygen fixes this bug?

It should be in since version gtk3-1.3.2, and gtk2-1.4.2
Comment 53 Andreas Sturmlechner 2014-05-11 18:53:21 UTC
Sorry, not fixed for me in oxygen-gtk-1.4.3, 1.4.4 and 1.4.5. I can crash eclipse-sdk 3.7.1 as well as 4.2.1 100% reliably:

1.: open Find/Replace dialog in editor
2.: find something
3.: then press any button or [Esc]
4.: watch eclipse insta-crash
Comment 54 Andreas Sturmlechner 2014-05-11 19:12:38 UTC
# gtk+ version: 2.24.23
# JRE version: OpenJDK Runtime Environment (7.0_55-b14) (build 1.7.0_55-b14)
# Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
...
Stack: [0x00007ffedd5af000,0x00007ffedd6b0000],  sp=0x00007ffedd6aafa0,  free space=1007k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libgobject-2.0.so.0+0x1b0b8]  g_object_get_qdata+0x18

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.swt.internal.gtk.OS._g_object_get_qdata(JI)J+0
j  org.eclipse.swt.internal.gtk.OS.g_object_get_qdata(JI)J+9
j  org.eclipse.swt.widgets.Display.removeWidget(J)Lorg/eclipse/swt/widgets/Widget;+19
j  org.eclipse.swt.widgets.Combo.deregister()V+21
j  org.eclipse.swt.widgets.Widget.releaseWidget()V+1
j  org.eclipse.swt.widgets.Control.releaseWidget()V+1
j  org.eclipse.swt.widgets.Composite.releaseWidget()V+1
...
Comment 55 Torsten Römer 2014-05-12 10:38:18 UTC
I cannot reproduce this crash with Kepler SR2 (don't know what version that is) and Luna 4.4. I am running both with Oracle SDK 8 however.

But I am receiving frequent crashes when debugging:

# C  [libgtk-x11-2.0.so.0+0x2202ea]  gtk_tree_view_get_background_area+0x8a

Debugging with gdb says "No stack" - probably pointless to debug the JVM like that.

I don't think our crashes are related and that they are related to this bug.

Andreas, how about you try with another (Oracle) JDK?
Comment 56 Hugo Pereira Da Costa 2014-05-12 13:49:44 UTC
@andreas
The crash you report (at g_object_get_q_data) is definitly a different crash that is reported elsewhere, and is apparently upstream (likely java-gtk interface). I cannot reproduce it and have no clue how to fix/circumvent.

@Torsen, thanks for the other report, I'll investigate asap.
Comment 57 Andreas Sturmlechner 2014-05-15 09:53:44 UTC
I am aware of the different error, I was posting because disabling oxygen-gtk helps here as well. But of course, a crash triggered by oxygen-gtk need not be caused by oxygen-gtk... I will try with an other sdk as soon as time allows.
Comment 58 Torsten Römer 2014-05-15 10:26:23 UTC
@Andreas I tried with OpenJDK 7 and don't get the crash with the Find/Replace dialog either, so I am not sure if it is worth trying with another JDK.
Comment 59 Gregory M. Turner 2014-07-04 09:43:28 UTC
(In reply to comment #58)
> @Andreas I tried with OpenJDK 7 and don't get the crash with the
> Find/Replace dialog either, so I am not sure if it is worth trying with
> another JDK.

I'm a Gentoo user running locally compiled icedtea7.  I definitely suffered from this bug as of 4.2 but when I moved to Kepler (4.4), it stopped crashing.  I read somewhere that kepler uses gtk3 by default, so, I dunno, perhaps if I were to change it to use gtk2 (however one does that) then it would start crashing again.

Regardless, it seems that in a vanilla configuration (notably, I didn't use portage for my kepler install, but just downloaded and ran the tarballs) upgrading eclipse to kepler seems to keep these demons at bay.
Comment 60 Gregory M. Turner 2014-07-04 10:54:17 UTC
^^ s/Kepler/Luna/