Bug 320435 - SEGV when switching themes under Xfce4
Summary: SEGV when switching themes under Xfce4
Status: RESOLVED WORKSFORME
Alias: None
Product: Oxygen
Classification: Plasma
Component: gtk2-engine (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-29 19:02 UTC by Jack Radigan
Modified: 2023-01-30 05:07 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
crash file w/stacktrace (10.37 KB, application/x-gzip)
2013-05-30 13:17 UTC, Jack Radigan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Radigan 2013-05-29 19:02:27 UTC
1.3.2.1 and 1.3.3 are missing an initialization statement that was present in earlier versions, and is still present in the current release of oxygen-gtk3.

The odd thing is that it doesn't seem to impact the 12.04.1 release of Xubuntu.  The segv didn't occur until after I installed the 12.04.2 enablement stack for lts-quantal:

https://wiki.ubuntu.com/Kernel/LTSEnablementStack

This patch restores the statement that's missing and eliminates the problem.

Index: oxygen-gtk2-1.3.3/src/oxygenstyle.cpp
===================================================================
--- oxygen-gtk2-1.3.3.orig/src/oxygenstyle.cpp	2013-04-22 14:26:21.000000000 -0400
+++ oxygen-gtk2-1.3.3/src/oxygenstyle.cpp	2013-05-23 10:42:26.000000000 -0400
@@ -50,6 +50,7 @@
             #endif
 
             _instance = new Style();
+            _instance->initialize();
         }
 
         return *_instance;


Reproducible: Always
Comment 1 Ruslan Kabatsayev 2013-05-29 19:23:06 UTC
Looks like something in GTK2 behavior has changed. What's your current GTK2 version (and if possible, could you find out which one was before the crash started)?
Comment 2 Hugo Pereira Da Costa 2013-05-29 19:27:29 UTC
... also we'd need a backtrace.
Thing is: patch is dangerous. Calling initialize too soon will prevent many of the initialisation to be done properly (because in some circumstances, GdkDisplay, or screen, is not yet available).
In any case: a backtrace (and the answer to previous comment) would help.
Comment 3 Jack Radigan 2013-05-29 19:53:57 UTC
(In reply to comment #1)
> Looks like something in GTK2 behavior has changed. What's your current GTK2
> version (and if possible, could you find out which one was before the crash
> started)?

I'm working on an Ubuntu derivative that incorporates your kde47 patch and theme along with oxygen-gtk2.

I've been working from the source tarballs that are posted on kde.org.  The last version I used that didn't have a problem was 1.3.1.  It's present in 1.3.2.1 and  1.3.3.
Comment 4 Jack Radigan 2013-05-29 19:59:11 UTC
(In reply to comment #2)
> ... also we'd need a backtrace.
> Thing is: patch is dangerous. Calling initialize too soon will prevent many
> of the initialisation to be done properly (because in some circumstances,
> GdkDisplay, or screen, is not yet available).
> In any case: a backtrace (and the answer to previous comment) would help.

A diff between 1.3.1 and 1.3.2.1 shows the statement was deleted.  Yet, that same statement hasn't been deleted in oxygen-gtk3.

Why one and not the other, any why now comments on why it was taken out of 1.3.2.1?

Could someone have accidentally deleted it?
Comment 5 Ruslan Kabatsayev 2013-05-29 20:17:15 UTC
> I've been working from the source tarballs that are posted on kde.org.  The last version I used that didn't have a problem was 1.3.1.  It's present in 1.3.2.1 and  1.3.3.
I asked not about oxygen-gtk2, but about gtk2 itself. (current version can be found with "pkg-config --modversion gtk+-2.0" command)
> Could someone have accidentally deleted it?
Most likely it could have accidentally _not_ been removed from oxygen-gtk3. This change does make sense, and now we have to find out why it stopped working.
Comment 6 Jack Radigan 2013-05-29 21:46:19 UTC
(In reply to comment #5)
> I asked not about oxygen-gtk2, but about gtk2 itself.

Sorry.  GTK2 is 2.24.10-0ubuntu6, and unchanged between 12.04.1 and 12.04.2.

> Most likely it could have accidentally _not_ been removed from oxygen-gtk3.
> This change does make sense, and now we have to find out why it stopped
> working.

Fair enough.
Comment 7 Hugo Pereira Da Costa 2013-05-30 07:49:15 UTC
What is the application used to switch theme in xfce4 ? lxappearance (if yes I cannot reproduce here, with gtk2.24.17) ? Something else ? 

Also, please ask if you need help to generate a usable backtrace, we'd really need this to debug that further.

Hugo
Comment 8 Jack Radigan 2013-05-30 13:17:29 UTC
Created attachment 80178 [details]
crash file w/stacktrace
Comment 9 Jack Radigan 2013-05-30 13:20:58 UTC
> What is the application used to switch theme in xfce4 ? lxappearance (if yes
> I cannot reproduce here, with gtk2.24.17) ? Something else ? 
> 
> Also, please ask if you need help to generate a usable backtrace, we'd
> really need this to debug that further.

Sorry, forgot to save my changes to this before uploading the attachment.

I went back and retested this.  It's occurring with a default install of Xubuntu 12.04.2 with all updates applied.  Installing the quantal enablement stack is not needed.

The crash occurs in xfce4-appearance-settings when switching away from oxygen-gtk to another theme.

The attachment I uploaded is a crash file, minus the base64 coredump.  The stacktrace begins at line 524.
Comment 10 Hugo Pereira Da Costa 2013-05-30 13:25:51 UTC
@Jack
thanks for the crash report and information. I can start investigate
Now, you don't seem to have the debug symbol installed for oxygen-gtk (see the "no symbol table available" message), which prevents us to get the exact location of where the crash happens. Is there any chance you install those and re-create a backtrace ? 
note: in case debug symbol still don't appear, you can get them via gdb.
- run 'gdb xfce4-appearance-settings'
- type run
- make the program crash
- type 'bt' in the gdb shell. Should give you the full backtrace.

Thanks in advance,

Hugo
Comment 11 Hugo Pereira Da Costa 2013-05-30 13:37:25 UTC
also, even using xfce4-appearance-settings (and in an xfce session, which I have installed since then), I'm still unable to reproduce ... will make life harder.
Comment 12 Jack Radigan 2013-05-30 14:17:48 UTC
> also, even using xfce4-appearance-settings (and in an xfce session, which I
> have installed since then), I'm still unable to reproduce ... will make life
> harder.

I built it with OXYGEN_DEBUG=1, and I'm seeing output when running it from the command line.

But, I'm not able to get it to segv from within gdb, only from the GUI when opening it from the main Xfce settings dialog.

I tried decoding the base64 core, but gdb didn't accept it as a valid file.
Comment 13 Jack Radigan 2013-05-30 15:34:05 UTC
Okay, I'm stumped...

I was able to produce a core file by disabling apport and making a few other changes, but I'm still not seeing any debug symbols for oxygen-gtk.

Confirmed that it was built with OXYGEN_DEBUG=1.

What else do I need to do?

Thanks.
Comment 14 Hugo Pereira Da Costa 2013-05-30 18:42:10 UTC
@Jack
Sorry, there was some confusion
- I did not mean turning on OXYGEN_DEBUG symbols (was rather asking to install the package that contains the oxygen-gtk debug symbols, assuming that you were using a packaged version of oxygen-gtk)
- In fact, I did not realize you were using your own build of oxygen-gtk 

So ... I'm not sure why you don't get the symbols from the crash report. Now: gdb should provide them for sure, but since you can't get xfce4-appearance-settings to crash when running from gdb, this is a dead end. 

I'll try harder to reproduce on my side. Will keep you posted.
Comment 15 Jack Radigan 2013-05-31 12:22:18 UTC
> So ... I'm not sure why you don't get the symbols from the crash report.

No worries, they're probably excluded since the source is being built with debuild and pbuilder.

I'll have to set things up to build the source directly and see if that helps.  Unfortunately, I most likely won't be able to get to it until late Sunday or early Monday.

I'll post an update once I've had a change.
Comment 16 Andrew Crouthamel 2018-11-10 03:21:15 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 17 Andrew Crouthamel 2018-11-20 03:57:35 UTC
Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!
Comment 18 Justin Zobel 2022-12-31 00:24:42 UTC
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 19 Bug Janitor Service 2023-01-15 05:11:16 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 20 Bug Janitor Service 2023-01-30 05:07:56 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!