Bug 2192883 - [abrt] shutter: emission_find(): perl killed by SIGSEGV
Summary: [abrt] shutter: emission_find(): perl killed by SIGSEGV
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: shutter
Version: 38
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: MartinKG
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:3b37192e84f9f3d47ff5921e157...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-03 11:39 UTC by Sandro
Modified: 2023-08-16 10:53 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-16 10:53:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: proc_pid_status (1.38 KB, text/plain)
2023-05-03 11:48 UTC, Sandro
no flags Details
File: maps (3.89 KB, text/plain)
2023-05-03 11:52 UTC, Sandro
no flags Details
File: limits (1.29 KB, text/plain)
2023-05-03 11:57 UTC, Sandro
no flags Details
File: environ (1.56 KB, text/plain)
2023-05-03 12:01 UTC, Sandro
no flags Details
File: open_fds (1.44 KB, text/plain)
2023-05-03 12:05 UTC, Sandro
no flags Details
File: mountinfo (3.95 KB, text/plain)
2023-05-03 12:10 UTC, Sandro
no flags Details
File: os_info (698 bytes, text/plain)
2023-05-03 12:14 UTC, Sandro
no flags Details
File: cpuinfo (2.73 KB, text/plain)
2023-05-03 12:18 UTC, Sandro
no flags Details
File: core_backtrace (13.76 KB, text/plain)
2023-05-03 12:23 UTC, Sandro
no flags Details
File: exploitable (81 bytes, text/plain)
2023-05-03 12:27 UTC, Sandro
no flags Details
File: dso_list (630 bytes, text/plain)
2023-05-03 12:32 UTC, Sandro
no flags Details
File: backtrace (94.01 KB, text/plain)
2023-05-03 12:34 UTC, Sandro
no flags Details
output in terminal from shutter -min_at_startup (52.93 KB, text/plain)
2023-08-11 07:10 UTC, Sandro
no flags Details

Description Sandro 2023-05-03 11:39:39 UTC
Description of problem:
Happened when logging in for the first time after upgrading to f38 (from f36). Shutter is started automatically, so it's available in system tray.

Version-Release number of selected component:
shutter-0.99.4-1.fc38

Additional info:
reporter:       libreport-2.17.9
type:           CCpp
reason:         perl killed by SIGSEGV
journald_cursor: s=148227e5fdb144809ac546e23c3adfdc;i=1c135;b=de1e9ba0379b4f948241460cbafe16d0;m=8b90c0a70;t=5fac7522d73ac;x=6859d110e09cc958
executable:     /usr/bin/perl
cmdline:        /usr/bin/perl /usr/bin/shutter --min_at_startup
cgroup:         0::/user.slice/user-1000.slice/session-2.scope
rootdir:        /
uid:            1000
kernel:         6.2.14-300.fc38.x86_64
package:        shutter-0.99.4-1.fc38
runlevel:       N 5
comment:        Happened when logging in for the first time after upgrading to f38 (from f36). Shutter is started automatically, so it's available in system tray.
backtrace_rating: 4
crash_function: emission_find

Truncated backtrace:
Thread no. 1 (18 frames)
 #0 emission_find at ../gobject/gsignal.c:895
 #1 signal_emit_unlocked_R.isra.0 at ../gobject/gsignal.c:3696
 #4 gtk_widget_dispose at ../gtk/gtkwidget.c:12166
 #7 gtk_container_remove at ../gtk/gtkcontainer.c:1911
 #8 gtk_image_menu_item_destroy at ../gtk/deprecated/gtkimagemenuitem.c:407
 #10 signal_emit_unlocked_R.isra.0 at ../gobject/gsignal.c:3930
 #13 gtk_widget_dispose at ../gtk/gtkwidget.c:12166
 #16 XS_Glib__Object_DESTROY at /usr/src/debug/perl-Glib-1.3293-10.fc38.x86_64/GObject.xs:1301
 #17 Perl_pp_entersub at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/pp_hot.c:5353
 #18 Perl_call_sv at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/perl.c:3057
 #19 S_curse at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:6973
 #20 Perl_sv_clear at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:6536
 #21 Perl_sv_free2 at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:7073
 #22 Perl_SvREFCNT_dec_NN at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/inline.h:419
 #23 do_clean_objs at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:448
 #24 S_visit at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:391
 #25 Perl_sv_clean_objs at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/sv.c:542
 #26 perl_destruct at /usr/src/debug/perl-5.36.1-496.fc38.x86_64/perl.c:880


Potential duplicate: bug 2183017

Comment 1 Sandro 2023-05-03 11:48:23 UTC
Created attachment 1961926 [details]
File: proc_pid_status

Comment 2 Sandro 2023-05-03 11:52:45 UTC
Created attachment 1961927 [details]
File: maps

Comment 3 Sandro 2023-05-03 11:57:08 UTC
Created attachment 1961928 [details]
File: limits

Comment 4 Sandro 2023-05-03 12:01:30 UTC
Created attachment 1961929 [details]
File: environ

Comment 5 Sandro 2023-05-03 12:05:52 UTC
Created attachment 1961930 [details]
File: open_fds

Comment 6 Sandro 2023-05-03 12:10:14 UTC
Created attachment 1961931 [details]
File: mountinfo

Comment 7 Sandro 2023-05-03 12:14:36 UTC
Created attachment 1961932 [details]
File: os_info

Comment 8 Sandro 2023-05-03 12:18:59 UTC
Created attachment 1961934 [details]
File: cpuinfo

Comment 9 Sandro 2023-05-03 12:23:21 UTC
Created attachment 1961936 [details]
File: core_backtrace

Comment 10 Sandro 2023-05-03 12:27:43 UTC
Created attachment 1961937 [details]
File: exploitable

Comment 11 Sandro 2023-05-03 12:32:05 UTC
Created attachment 1961938 [details]
File: dso_list

Comment 12 Sandro 2023-05-03 12:34:16 UTC
Created attachment 1961939 [details]
File: backtrace

Comment 13 MartinKG 2023-08-08 13:00:44 UTC
upstream ticket:
https://github.com/shutter-project/shutter/issues/573

answer from the developer:
I looked into the backtrace, there is nothing Shutter specific there, as far as I can see. Looks like some problem with underlying libraries. Are there any details regarding how to reproduce this issue? What is Shutter's own output before the crash?

Comment 14 Sandro 2023-08-11 07:10:28 UTC
Created attachment 1982927 [details]
output in terminal from shutter -min_at_startup

The underlying command that is being run at startup is mentioned in cmdline. It's `shutter --min_at_startup`. Currently, however, that appears to do nothing at all after log in when triggered from Startup Applications.

When running it from the terminal, it works (tray icon shows), but the process doesn't detach and I get the output shown in shutter.log (attached). I added a 7s delay timer now. In the past that helped with fixing some timing issues.

I don't know where I would find "Shutter's own output".

Comment 15 MartinKG 2023-08-14 14:12:44 UTC
please read the developer's suggestions and give feedback.

So, did this crash happen just once after the system update or is it reproducible if Shutter is started via autostart? Looks like this is some race condition as the user already pointed out, probably the panel, which should show the tray icon isn't loaded fast enough. I will try to set up a Fedora Cinnamon VM to reproduce it, otherwise it will be hard to fix.

Another idea: I could reproduce Shutter failing to launch on a Cinnamon install. The reason is that Cinnamon is too slow to load the panel, so Shutter exits after failing to create a tray icon. Butt Cinnamon has a timeout setting in its autostart configuration. I set it to 20s and it solved the problem for me.

Comment 16 Sandro 2023-08-15 23:49:43 UTC
(In reply to MartinKG from comment #15)
> So, did this crash happen just once after the system update or is it
> reproducible if Shutter is started via autostart? Looks like this is some
> race condition as the user already pointed out, probably the panel, which
> should show the tray icon isn't loaded fast enough. I will try to set up a
> Fedora Cinnamon VM to reproduce it, otherwise it will be hard to fix.

Yes, the SIGSEGV only happened once after the system upgrade, afaicr.

> Another idea: I could reproduce Shutter failing to launch on a Cinnamon
> install. The reason is that Cinnamon is too slow to load the panel, so
> Shutter exits after failing to create a tray icon. Butt Cinnamon has a
> timeout setting in its autostart configuration. I set it to 20s and it
> solved the problem for me.

I can confirm, that setting a timeout fixes the issue. I set mine to 7s and it works.

However, I feel it would be better if Shutter handles this gracefully by either checking the panel is loaded or by retrying using an internal timer. But I'm no expert on these matters and can live with setting a timeout. I did so in the past as well.

Comment 17 MartinKG 2023-08-16 10:53:14 UTC
Answer from the developer: (will close the ticket)
https://github.com/shutter-project/shutter/issues/573#issuecomment-1680256047
Many apps that have tray icons suffer from this issue, it looks to me like there is no good solution for it... I tried to find some workaround to check programmatically whether the tray has started, but couldn't find anything so far.


Note You need to log in before you can comment on or make changes to this bug.