Bug 1138175

Summary: [abrt] xscreensaver-extras: fireworkx_init(): fireworkx killed by SIGFPE
Product: [Fedora] Fedora Reporter: Daniel Krämer <d.kraemer>
Component: mate-screensaverAssignee: Dan Mashal <dan.mashal>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: cheese, dan.mashal, d.kraemer, mtasaka, raveit65.sun, stefano
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/85bdc7ac590e116e912699eabf86ba366dbbc755
Whiteboard: abrt_hash:f6c0e98e81d27b0d82e2cc7e2fdcfb474c405ba4
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-04 15:21:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages
none
Output of lshw
none
Output of lspci none

Description Daniel Krämer 2014-09-04 07:55:30 UTC
Version-Release number of selected component:
xscreensaver-extras-5.29-1.fc20

Additional info:
reporter:       libreport-2.2.3
backtrace_rating: 4
cmdline:        /usr/libexec/xscreensaver/fireworkx -root
crash_function: fireworkx_init
executable:     /usr/libexec/xscreensaver/fireworkx
kernel:         3.15.10-200.fc20.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (2 frames)
 #0 fireworkx_init at ../../hacks/fireworkx.c:110
 #1 run_screenhack_table at ../../hacks/screenhack.c:536

Comment 1 Daniel Krämer 2014-09-04 07:55:33 UTC
Created attachment 934300 [details]
File: backtrace

Comment 2 Daniel Krämer 2014-09-04 07:55:34 UTC
Created attachment 934301 [details]
File: cgroup

Comment 3 Daniel Krämer 2014-09-04 07:55:35 UTC
Created attachment 934302 [details]
File: core_backtrace

Comment 4 Daniel Krämer 2014-09-04 07:55:36 UTC
Created attachment 934303 [details]
File: dso_list

Comment 5 Daniel Krämer 2014-09-04 07:55:37 UTC
Created attachment 934304 [details]
File: environ

Comment 6 Daniel Krämer 2014-09-04 07:55:38 UTC
Created attachment 934305 [details]
File: limits

Comment 7 Daniel Krämer 2014-09-04 07:55:40 UTC
Created attachment 934306 [details]
File: maps

Comment 8 Daniel Krämer 2014-09-04 07:55:41 UTC
Created attachment 934307 [details]
File: open_fds

Comment 9 Daniel Krämer 2014-09-04 07:55:42 UTC
Created attachment 934308 [details]
File: proc_pid_status

Comment 10 Daniel Krämer 2014-09-04 07:55:43 UTC
Created attachment 934309 [details]
File: var_log_messages

Comment 11 Mamoru TASAKA 2014-09-04 10:33:44 UTC
* Would you write in detail how to reproduce this issue?
* Also please provide the information about the environment
  (desktop environment, machine, etc) when this issue happened.

Comment 12 Daniel Krämer 2014-09-04 11:44:55 UTC
Created attachment 934376 [details]
Output of lshw

Comment 13 Daniel Krämer 2014-09-04 11:45:22 UTC
Created attachment 934377 [details]
Output of lspci

Comment 14 Daniel Krämer 2014-09-04 11:47:02 UTC
Fedora 20 Mate Spin

Reproduce:
- Open Control Center
- Open Screensaver-GUI
- Select Fireworkx
- Close Screensaver-GUI
- Open Screensaver-GUI again
- Bam! Error

Comment 15 Mamoru TASAKA 2014-09-05 09:27:01 UTC
Thank you. Then please provide the additional information.

* So you are using "mate-screensaver-preferences", not "xscreensaver-demo"?
* How is this issue reproducible? If reproducible, would you attach
  the screenshot of "Screensaver-GUI"?

Comment 16 Daniel Krämer 2014-09-05 12:55:38 UTC
I use mate-screensaver-preferences.

It is reproducible:
- Open mate-screensaver-preferences
- Select Fireworkx
- Close mate-screensaver-preferences
- Open mate-screensaver-preferences again
- Bam! Error

Screenshot? Its just the GUI with a black demo-screen

Comment 17 Mamoru TASAKA 2014-09-08 07:33:56 UTC
Switching to mate-screensaver.

When xscreensaver-demo launches xscreensaver hack to make it
displayed on demo window, xscreensaver-demo passes "--window-id <ID>"
as gained by GDK_WINDOW_XWINDOW() to the argument of the hack.

For mate-desktop-properties, perhaps tweaking spawn_on_window() is
needed (just my guess!!!). Perhaps making "#if GTK_CHECK_VERSION (3, 0, 0)"
branch enable (if possible) to make it effective envp as created by spawn_make_environment_for_screen() is sufficient???

Comment 18 Mamoru TASAKA 2014-09-08 07:50:00 UTC
Oops...

Currently the biggest problem is that as shown in gdb log,
XGetWindowAttributes() returns window size of (1,1), which is
almost the direct reason for this SIGFPE.

Comment 19 Wolfgang Ulbrich 2014-09-08 08:05:16 UTC
The complete Mate stack is compiled with GTK2, so if Fireworkx-ss needs GTK3 code it's impossible to use it in a GUI which use GTK2.
A "#if GTK_CHECK_VERSION (3, 0, 0)" check works only if mate-screensaver is compiled for GTK3, otherwise this will be ignored.
Maybe we're switching to GTK3 with f22/23, the current GTK3 state of Mate isn't ready for produktion.
So, there is nothing what i can do for the momment.
Do you agree to close or reassign it back?

Comment 20 Mamoru TASAKA 2014-09-08 09:26:46 UTC
Well, no, fireworkx is one seperated program and it does not matter
whether mate-screensaver is compiled against GTK2 or GTK3.

Well, anyway
http://stackoverflow.com/questions/10264625/how-do-i-get-the-gdk-window-for-a-gtk-window-in-c
says that usage "GTK_WINDOW (window)->screen" is "disallowed" on 
gtk 2.14 and it seems that GTK2 side code needs fixing.
Note that I just looked at mate-screensaver code, not actually having executed
so if someone can examine
- where mate-screensaver actually forks screensaver hacks
- and at that point what does XGetWindowAttributes returns
it is much appreciated.

Comment 21 Wolfgang Ulbrich 2014-09-08 16:05:29 UTC
Ok, but reporter said it crashs when it runs inside the gui into the preview window.
But i'm not C coder and i've currently to much work with maintaining the whole mate stack alone in fedora.
For me this is something for mate upstream.
Dear supporter, pls open a report at upstream for yourself and include all informations given from Mamoru + backtrace there.
https://github.com/mate-desktop/mate-screensaver
Due my lack of time i can't do that for external progs.

Thank you

Comment 22 Mamoru TASAKA 2014-09-22 14:15:40 UTC
(Removing needinfo on me per comment 20 .. forgot to remove...

Comment 23 Daniel Krämer 2014-09-22 16:51:17 UTC
I don't really know what piece of software produces this issue and i don't have a clue what you guys are talking at all. I'm not very into those things.

I just noticed abrt with the crash and pushed the button to report it. And for me the crashed screensaver-demo is not worth it to put more effort into than i already had. When you guys are not interessted to make your software working (without bugs) for consumers like me, then just close the bug report...

Comment 24 Wolfgang Ulbrich 2014-10-04 15:21:59 UTC
If no one wants to forward the issue to upstream than the report is pretty useless.