Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shutter Not Launching On Ubuntu 24.04.1 #703

Open
BizQuickness opened this issue Sep 11, 2024 · 58 comments
Open

Shutter Not Launching On Ubuntu 24.04.1 #703

BizQuickness opened this issue Sep 11, 2024 · 58 comments
Labels
bug Something isn't working

Comments

@BizQuickness
Copy link

Brief summary of issue

Hello, since updating to Ubuntu 24.04.1 from 22.04.X, I cannot get Shutter to launch anymore.

Steps to reproduce the issue

  1. I have removed the app and reinstalled via apt-get and App Center with no luck. Any advice would be great! Thanks!

Error output

No error, just nothing.

Extra information, such as Shutter version, display server in use (Xorg or Wayland), operating system and ideas for how to solve:

Laptop: ASUS ExpertBook B9450CEA
OS: Ubuntu 24.04.1 Wayland
Shutter: both 0.99.4 and 0.99.5

@BizQuickness BizQuickness added the bug Something isn't working label Sep 11, 2024
@DarthGandalf
Copy link
Member

What happens if you run shutter from terminal?

@BizQuickness
Copy link
Author

BizQuickness commented Sep 13, 2024

Let me know if you would like the full output. When running this command, I get a lot of text output, with an error and Shutter does not start.

This is the error that displays:

(shutter:240330): Wnck-WARNING **: 07:58:02.356: libwnck is designed to work in X11 only, no valid display found
Segmentation fault (core dumped)

@DigitGram
Copy link

Full Ouput:
shutter.ubuntu.24.04.01-20240919.log

@vadi2
Copy link
Contributor

vadi2 commented Sep 25, 2024

I have the same using Shutter from the official 24.04 repos. I am guessing this is due to Wayland issues - https://pastebin.com/nFiC1Y4t

@rieneverts
Copy link

I'm having this issue aswell

@albotroz
Copy link

Not launching or not launching at startup?
Because with Linux Mint 22 Cinnamon Shutter doesn't start with startup of Linux Mint although I've activated it.

@afcuttin
Copy link

afcuttin commented Oct 22, 2024

Same here for Shutter from the official 24.04 repos

shutter.log

@tito10047
Copy link

same here for ubuntu 24.4.1

@joralegre
Copy link

joralegre commented Oct 27, 2024

Workaround until update: Alias
EXEC:
nano ~/.bashrc
Append:
alias shutter='GDK_BACKEND=x11 shutter'
SAVE and THEN (or restart terminal):
source ~/.bashrc

@vadi2
Copy link
Contributor

vadi2 commented Oct 27, 2024

Did not seem to work:

Terminal output

$ GDK_BACKEND=x11 shutter
Subroutine Pango::Layout::set_text redefined at /usr/share/perl5/Gtk3.pm line 2299.
require Gtk3.pm called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
Subroutine Pango::Layout::set_markup redefined at /usr/share/perl5/Gtk3.pm line 2305.
require Gtk3.pm called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-CRITICAL **: g_once_init_leave_pointer: assertion 'result != 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-CRITICAL **: g_once_init_leave_pointer: assertion 'result != 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
GLib-CRITICAL **: g_once_init_leave_pointer: assertion 'result != 0' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 110.
at /usr/share/perl5/Gtk3.pm line 489.
Gtk3::import("Gtk3", "-init") called at /usr/bin/shutter line 72
Shutter::App::BEGIN() called at /usr/bin/shutter line 72
eval {...} called at /usr/bin/shutter line 72
Variable "$progname_active" will not stay shared at /usr/bin/shutter line 2778.
Variable "$progname" will not stay shared at /usr/bin/shutter line 2779.
Variable "$im_colors_active" will not stay shared at /usr/bin/shutter line 2787.
Variable "$combobox_im_colors" will not stay shared at /usr/bin/shutter line 2788.
Variable "$trans_check" will not stay shared at /usr/bin/shutter line 2798.
Variable "$css_provider_alpha" will not stay shared at /usr/bin/shutter line 2799.
Variable "$trans_custom" will not stay shared at /usr/bin/shutter line 2804.
Variable "$trans_custom_btn" will not stay shared at /usr/bin/shutter line 2805.
Variable "$trans_backg" will not stay shared at /usr/bin/shutter line 2811.
Variable "$window" will not stay shared at /usr/bin/shutter line 2814.
Variable "$cursor_active" will not stay shared at /usr/bin/shutter line 2819.
Variable "$cursor_status_active" will not stay shared at /usr/bin/shutter line 2819.
Variable "$delay_status" will not stay shared at /usr/bin/shutter line 2829.
Variable "$delay" will not stay shared at /usr/bin/shutter line 2829.
Variable "$delay_vlabel" will not stay shared at /usr/bin/shutter line 2830.
Variable "$d" will not stay shared at /usr/bin/shutter line 2830.
Variable "$delay_status_vlabel" will not stay shared at /usr/bin/shutter line 2836.
Variable "$menu_delay_vlabel" will not stay shared at /usr/bin/shutter line 2841.
Variable "$menu_delay" will not stay shared at /usr/bin/shutter line 2841.
Variable "$hide_time_vlabel" will not stay shared at /usr/bin/shutter line 2846.
Variable "$hide_time" will not stay shared at /usr/bin/shutter line 2846.
Variable "$thumbnail_active" will not stay shared at /usr/bin/shutter line 2851.
Variable "$thumbnail" will not stay shared at /usr/bin/shutter line 2852.
Variable "$combobox_type" will not stay shared at /usr/bin/shutter line 2867.
Variable "$scale" will not stay shared at /usr/bin/shutter line 2868.
Variable "$bordereffect_active" will not stay shared at /usr/bin/shutter line 2880.
Variable "$bordereffect" will not stay shared at /usr/bin/shutter line 2881.
Variable "$bordereffect_vlabel" will not stay shared at /usr/bin/shutter line 2889.
Variable "$scale_label" will not stay shared at /usr/bin/shutter line 2896.
Variable "$combobox_ns" will not stay shared at /usr/bin/shutter line 2920.
Variable "$window" will not stay shared at /usr/bin/shutter line 2937.
Variable "$hide_active" will not stay shared at /usr/bin/shutter line 2941.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 2945.
Variable "$x11_supported" will not stay shared at /usr/bin/shutter line 2970.
Variable "$d" will not stay shared at /usr/bin/shutter line 2972.
Variable "$notify_ptimeout_active" will not stay shared at /usr/bin/shutter line 2996.
Variable "$menu_delay" will not stay shared at /usr/bin/shutter line 2998.
Variable "$hide_time" will not stay shared at /usr/bin/shutter line 3063.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 3086.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 3088.
Variable "$lp" will not stay shared at /usr/bin/shutter line 3106.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3135.
Variable "$close_at_close_active" will not stay shared at /usr/bin/shutter line 3150.
Variable "$tray" will not stay shared at /usr/bin/shutter line 3151.
Variable "$window" will not stay shared at /usr/bin/shutter line 3153.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 3154.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3170.
Variable "$combobox_settings_profiles" will not stay shared at /usr/bin/shutter line 3185.
Variable "$sas" will not stay shared at /usr/bin/shutter line 3189.
Variable "$fs_active" will not stay shared at /usr/bin/shutter line 3189.
Variable "$fs_min_active" will not stay shared at /usr/bin/shutter line 3189.
Variable "$fs_nonot_active" will not stay shared at /usr/bin/shutter line 3189.
Variable "$app" will not stay shared at /usr/bin/shutter line 3191.
Variable "$window" will not stay shared at /usr/bin/shutter line 3223.
Variable "$tray_menu" will not stay shared at /usr/bin/shutter line 3232.
Variable "$tray_menu" will not stay shared at /usr/bin/shutter line 3250.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 3270.
Variable "$d" will not stay shared at /usr/bin/shutter line 3282.
Variable "$sm" will not stay shared at /usr/bin/shutter line 3296.
Variable "$sm" will not stay shared at /usr/bin/shutter line 3321.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3352.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3386.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 3410.
Variable "$clipboard" will not stay shared at /usr/bin/shutter line 3447.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 3483.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 3492.
Variable "$sm" will not stay shared at /usr/bin/shutter line 3502.
Variable "$st" will not stay shared at /usr/bin/shutter line 3512.
Variable "$tray_menu" will not stay shared at /usr/bin/shutter line 3525.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 3713.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 3713.
Variable "$settings_dialog" will not stay shared at /usr/bin/shutter line 3721.
Variable "$current_profile_indx" will not stay shared at /usr/bin/shutter line 3737.
Variable "$combobox_settings_profiles" will not stay shared at /usr/bin/shutter line 3737.
Variable "$sas" will not stay shared at /usr/bin/shutter line 3751.
Variable "$fs_active" will not stay shared at /usr/bin/shutter line 3751.
Variable "$fs_min_active" will not stay shared at /usr/bin/shutter line 3751.
Variable "$fs_nonot_active" will not stay shared at /usr/bin/shutter line 3751.
Variable "$pagesetup" will not stay shared at /usr/bin/shutter line 3769.
Variable "$window" will not stay shared at /usr/bin/shutter line 3769.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3791.
Variable "$current_profile_indx" will not stay shared at /usr/bin/shutter line 3833.
Variable "$sas" will not stay shared at /usr/bin/shutter line 3846.
Variable "$fs_active" will not stay shared at /usr/bin/shutter line 3846.
Variable "$fs_min_active" will not stay shared at /usr/bin/shutter line 3846.
Variable "$fs_nonot_active" will not stay shared at /usr/bin/shutter line 3846.
Variable "$current_profile_indx" will not stay shared at /usr/bin/shutter line 3864.
Variable "$d" will not stay shared at /usr/bin/shutter line 3871.
Variable "$sd" will not stay shared at /usr/bin/shutter line 3873.
Variable "$settings_xml" will not stay shared at /usr/bin/shutter line 3884.
Variable "$current_profile_indx" will not stay shared at /usr/bin/shutter line 3885.
Variable "$d" will not stay shared at /usr/bin/shutter line 3892.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 3906.
Variable "$d" will not stay shared at /usr/bin/shutter line 3926.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3932.
Variable "$d" will not stay shared at /usr/bin/shutter line 3946.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 3971.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 4004.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 4034.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 4075.
Variable "$sd" will not stay shared at /usr/bin/shutter line 4122.
Variable "$d" will not stay shared at /usr/bin/shutter line 4122.
Variable "@signal_connections" will not stay shared at /usr/bin/shutter line 4138.
Variable "$app" will not stay shared at /usr/bin/shutter line 4139.
Variable "$tray" will not stay shared at /usr/bin/shutter line 4145.
Variable "$st" will not stay shared at /usr/bin/shutter line 4186.
Variable "$sm" will not stay shared at /usr/bin/shutter line 4186.
Variable "$x11_supported" will not stay shared at /usr/bin/shutter line 4190.
Variable "$window" will not stay shared at /usr/bin/shutter line 4235.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 4247.
Variable "$st" will not stay shared at /usr/bin/shutter line 4253.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 4287.
Variable "$css_provider_alpha" will not stay shared at /usr/bin/shutter line 4290.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 4377.
Variable "%settings" will not stay shared at /usr/bin/shutter line 4464.
Variable "$combobox_settings_profiles" will not stay shared at /usr/bin/shutter line 4466.
Variable "$sm" will not stay shared at /usr/bin/shutter line 4470.
Variable "$combobox_type" will not stay shared at /usr/bin/shutter line 4478.
Variable "$scale" will not stay shared at /usr/bin/shutter line 4479.
Variable "$filename" will not stay shared at /usr/bin/shutter line 4480.
Variable "$saveDir_button" will not stay shared at /usr/bin/shutter line 4481.
Variable "$save_auto_active" will not stay shared at /usr/bin/shutter line 4485.
Variable "$save_ask_active" will not stay shared at /usr/bin/shutter line 4486.
Variable "$save_no_active" will not stay shared at /usr/bin/shutter line 4487.
Variable "$image_autocopy_active" will not stay shared at /usr/bin/shutter line 4488.
Variable "$fname_autocopy_active" will not stay shared at /usr/bin/shutter line 4489.
Variable "$no_autocopy_active" will not stay shared at /usr/bin/shutter line 4490.
Variable "$cursor_active" will not stay shared at /usr/bin/shutter line 4491.
Variable "$delay" will not stay shared at /usr/bin/shutter line 4492.
Variable "$current_monitor_active" will not stay shared at /usr/bin/shutter line 4495.
Variable "$st" will not stay shared at /usr/bin/shutter line 4499.
Variable "$progname" will not stay shared at /usr/bin/shutter line 4512.
Variable "$progname_active" will not stay shared at /usr/bin/shutter line 4521.
Variable "$combobox_im_colors" will not stay shared at /usr/bin/shutter line 4522.
Variable "$im_colors_active" will not stay shared at /usr/bin/shutter line 4523.
Variable "$thumbnail" will not stay shared at /usr/bin/shutter line 4524.
Variable "$thumbnail_active" will not stay shared at /usr/bin/shutter line 4525.
Variable "$bordereffect" will not stay shared at /usr/bin/shutter line 4526.
Variable "$bordereffect_active" will not stay shared at /usr/bin/shutter line 4527.
Variable "$bordereffect_cbtn" will not stay shared at /usr/bin/shutter line 4528.
Variable "$zoom_active" will not stay shared at /usr/bin/shutter line 4532.
Variable "$as_help_active" will not stay shared at /usr/bin/shutter line 4533.
Variable "$asel_size3" will not stay shared at /usr/bin/shutter line 4534.
Variable "$asel_size4" will not stay shared at /usr/bin/shutter line 4535.
Variable "$asel_size1" will not stay shared at /usr/bin/shutter line 4536.
Variable "$asel_size2" will not stay shared at /usr/bin/shutter line 4537.
Variable "$border_active" will not stay shared at /usr/bin/shutter line 4538.
Variable "$winresize_active" will not stay shared at /usr/bin/shutter line 4539.
Variable "$winresize_w" will not stay shared at /usr/bin/shutter line 4540.
Variable "$winresize_h" will not stay shared at /usr/bin/shutter line 4541.
Variable "$autoshape_active" will not stay shared at /usr/bin/shutter line 4542.
Variable "$visible_windows_active" will not stay shared at /usr/bin/shutter line 4543.
Variable "$menu_delay" will not stay shared at /usr/bin/shutter line 4544.
Variable "$menu_waround_active" will not stay shared at /usr/bin/shutter line 4545.
Variable "$combobox_web_width" will not stay shared at /usr/bin/shutter line 4546.
Variable "$trans_check" will not stay shared at /usr/bin/shutter line 4549.
Variable "$trans_custom" will not stay shared at /usr/bin/shutter line 4550.
Variable "$trans_custom_btn" will not stay shared at /usr/bin/shutter line 4551.
Variable "$trans_backg" will not stay shared at /usr/bin/shutter line 4553.
Variable "$session_asc" will not stay shared at /usr/bin/shutter line 4555.
Variable "$session_asc_combo" will not stay shared at /usr/bin/shutter line 4556.
Variable "$session_desc" will not stay shared at /usr/bin/shutter line 4557.
Variable "$session_desc_combo" will not stay shared at /usr/bin/shutter line 4558.
Variable "$fs_active" will not stay shared at /usr/bin/shutter line 4561.
Variable "$fs_min_active" will not stay shared at /usr/bin/shutter line 4562.
Variable "$fs_nonot_active" will not stay shared at /usr/bin/shutter line 4563.
Variable "$hide_active" will not stay shared at /usr/bin/shutter line 4564.
Variable "$hide_time" will not stay shared at /usr/bin/shutter line 4565.
Variable "$present_after_active" will not stay shared at /usr/bin/shutter line 4566.
Variable "$close_at_close_active" will not stay shared at /usr/bin/shutter line 4567.
Variable "$notify_after_active" will not stay shared at /usr/bin/shutter line 4568.
Variable "$notify_timeout_active" will not stay shared at /usr/bin/shutter line 4569.
Variable "$notify_ptimeout_active" will not stay shared at /usr/bin/shutter line 4570.
Variable "$combobox_ns" will not stay shared at /usr/bin/shutter line 4571.
Variable "$ask_on_delete_active" will not stay shared at /usr/bin/shutter line 4572.
Variable "$delete_on_close_active" will not stay shared at /usr/bin/shutter line 4573.
Variable "$ask_on_fs_delete_active" will not stay shared at /usr/bin/shutter line 4574.
Variable "$ftp_remote_entry" will not stay shared at /usr/bin/shutter line 4577.
Variable "$ftp_mode_combo" will not stay shared at /usr/bin/shutter line 4578.
Variable "$ftp_username_entry" will not stay shared at /usr/bin/shutter line 4579.
Variable "$ftp_password_entry" will not stay shared at /usr/bin/shutter line 4580.
Variable "$ftp_wurl_entry" will not stay shared at /usr/bin/shutter line 4581.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 4584.
Variable "$sd" will not stay shared at /usr/bin/shutter line 4609.
Variable "$d" will not stay shared at /usr/bin/shutter line 4609.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 4617.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 4643.
Variable "$combobox_type" will not stay shared at /usr/bin/shutter line 4693.
Variable "$int_jpeg" will not stay shared at /usr/bin/shutter line 4693.
Variable "$int_png" will not stay shared at /usr/bin/shutter line 4695.
Variable "$scale" will not stay shared at /usr/bin/shutter line 4704.
Variable "$filename" will not stay shared at /usr/bin/shutter line 4706.
Variable "$saveDir_button" will not stay shared at /usr/bin/shutter line 4709.
Variable "$save_auto_active" will not stay shared at /usr/bin/shutter line 4711.
Variable "$save_ask_active" will not stay shared at /usr/bin/shutter line 4712.
Variable "$save_no_active" will not stay shared at /usr/bin/shutter line 4713.
Variable "$image_autocopy_active" will not stay shared at /usr/bin/shutter line 4715.
Variable "$fname_autocopy_active" will not stay shared at /usr/bin/shutter line 4716.
Variable "$no_autocopy_active" will not stay shared at /usr/bin/shutter line 4717.
Variable "$cursor_active" will not stay shared at /usr/bin/shutter line 4719.
Variable "$delay" will not stay shared at /usr/bin/shutter line 4720.
Variable "$current_monitor_active" will not stay shared at /usr/bin/shutter line 4729.
Variable "$st" will not stay shared at /usr/bin/shutter line 4732.
Variable "$progname" will not stay shared at /usr/bin/shutter line 4747.
Variable "$progname_active" will not stay shared at /usr/bin/shutter line 4750.
Variable "$im_colors_active" will not stay shared at /usr/bin/shutter line 4752.
Variable "$combobox_im_colors" will not stay shared at /usr/bin/shutter line 4753.
Variable "$thumbnail" will not stay shared at /usr/bin/shutter line 4755.
Variable "$thumbnail_active" will not stay shared at /usr/bin/shutter line 4756.
Variable "$bordereffect" will not stay shared at /usr/bin/shutter line 4758.
Variable "$bordereffect_active" will not stay shared at /usr/bin/shutter line 4759.
Variable "$bordereffect_cbtn" will not stay shared at /usr/bin/shutter line 4761.
Variable "$zoom_active" will not stay shared at /usr/bin/shutter line 4765.
Variable "$as_help_active" will not stay shared at /usr/bin/shutter line 4767.
Variable "$asel_size3" will not stay shared at /usr/bin/shutter line 4769.
Variable "$asel_size4" will not stay shared at /usr/bin/shutter line 4770.
Variable "$asel_size1" will not stay shared at /usr/bin/shutter line 4771.
Variable "$asel_size2" will not stay shared at /usr/bin/shutter line 4772.
Variable "$border_active" will not stay shared at /usr/bin/shutter line 4774.
Variable "$winresize_active" will not stay shared at /usr/bin/shutter line 4776.
Variable "$winresize_w" will not stay shared at /usr/bin/shutter line 4777.
Variable "$winresize_h" will not stay shared at /usr/bin/shutter line 4778.
Variable "$autoshape_active" will not stay shared at /usr/bin/shutter line 4780.
Variable "$visible_windows_active" will not stay shared at /usr/bin/shutter line 4781.
Variable "$menu_waround_active" will not stay shared at /usr/bin/shutter line 4782.
Variable "$menu_delay" will not stay shared at /usr/bin/shutter line 4783.
Variable "$combobox_web_width" will not stay shared at /usr/bin/shutter line 4784.
Variable "$trans_check" will not stay shared at /usr/bin/shutter line 4787.
Variable "$trans_custom" will not stay shared at /usr/bin/shutter line 4788.
Variable "$trans_custom_btn" will not stay shared at /usr/bin/shutter line 4790.
Variable "$trans_backg" will not stay shared at /usr/bin/shutter line 4792.
Variable "$session_asc" will not stay shared at /usr/bin/shutter line 4794.
Variable "$session_asc_combo" will not stay shared at /usr/bin/shutter line 4795.
Variable "$session_desc" will not stay shared at /usr/bin/shutter line 4796.
Variable "$session_desc_combo" will not stay shared at /usr/bin/shutter line 4797.
Variable "$fs_active" will not stay shared at /usr/bin/shutter line 4800.
Variable "$fs_min_active" will not stay shared at /usr/bin/shutter line 4801.
Variable "$fs_nonot_active" will not stay shared at /usr/bin/shutter line 4802.
Variable "$hide_active" will not stay shared at /usr/bin/shutter line 4803.
Variable "$hide_time" will not stay shared at /usr/bin/shutter line 4804.
Variable "$present_after_active" will not stay shared at /usr/bin/shutter line 4805.
Variable "$close_at_close_active" will not stay shared at /usr/bin/shutter line 4806.
Variable "$notify_after_active" will not stay shared at /usr/bin/shutter line 4807.
Variable "$notify_timeout_active" will not stay shared at /usr/bin/shutter line 4808.
Variable "$notify_ptimeout_active" will not stay shared at /usr/bin/shutter line 4809.
Variable "$combobox_ns" will not stay shared at /usr/bin/shutter line 4810.
Variable "$ask_on_delete_active" will not stay shared at /usr/bin/shutter line 4811.
Variable "$delete_on_close_active" will not stay shared at /usr/bin/shutter line 4812.
Variable "$ask_on_fs_delete_active" will not stay shared at /usr/bin/shutter line 4813.
Variable "$ftp_remote_entry" will not stay shared at /usr/bin/shutter line 4822.
Variable "$ftp_mode_combo" will not stay shared at /usr/bin/shutter line 4823.
Variable "$ftp_username_entry" will not stay shared at /usr/bin/shutter line 4824.
Variable "$ftp_password_entry" will not stay shared at /usr/bin/shutter line 4825.
Variable "$ftp_wurl_entry" will not stay shared at /usr/bin/shutter line 4826.
Variable "$accounts_tree" will not stay shared at /usr/bin/shutter line 4840.
Variable "$accounts_model" will not stay shared at /usr/bin/shutter line 4842.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 4880.
Variable "$sd" will not stay shared at /usr/bin/shutter line 4896.
Variable "$d" will not stay shared at /usr/bin/shutter line 4896.
Variable "$d" will not stay shared at /usr/bin/shutter line 4925.
Variable "$sd" will not stay shared at /usr/bin/shutter line 4976.
Variable "$d" will not stay shared at /usr/bin/shutter line 4976.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 4986.
Variable "$status" will not stay shared at /usr/bin/shutter line 5060.
Variable "$d" will not stay shared at /usr/bin/shutter line 5072.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5089.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 5094.
Variable "$status" will not stay shared at /usr/bin/shutter line 5148.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5152.
Variable "$d" will not stay shared at /usr/bin/shutter line 5168.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5183.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5194.
Variable "$d" will not stay shared at /usr/bin/shutter line 5195.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5205.
Variable "$ask_on_delete_active" will not stay shared at /usr/bin/shutter line 5224.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5225.
Variable "$d" will not stay shared at /usr/bin/shutter line 5226.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5226.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 5241.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5246.
Variable "$window" will not stay shared at /usr/bin/shutter line 5256.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 5256.
Variable "$delete_on_close_active" will not stay shared at /usr/bin/shutter line 5354.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5359.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 5365.
Variable "$d" will not stay shared at /usr/bin/shutter line 5366.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5370.
Variable "$window" will not stay shared at /usr/bin/shutter line 5380.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 5380.
Variable "$clipboard" will not stay shared at /usr/bin/shutter line 5457.
Variable "$combobox_type" will not stay shared at /usr/bin/shutter line 5461.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5464.
Variable "$d" will not stay shared at /usr/bin/shutter line 5464.
Variable "$sp" will not stay shared at /usr/bin/shutter line 5474.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5503.
Variable "$lp" will not stay shared at /usr/bin/shutter line 5524.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5524.
Variable "$clipboard" will not stay shared at /usr/bin/shutter line 5537.
Variable "$d" will not stay shared at /usr/bin/shutter line 5538.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5562.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5584.
Variable "$d" will not stay shared at /usr/bin/shutter line 5600.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5607.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5636.
Variable "$d" will not stay shared at /usr/bin/shutter line 5651.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5658.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5679.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 5695.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5696.
Variable "$d" will not stay shared at /usr/bin/shutter line 5696.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5705.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5732.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5738.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5772.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5777.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 5808.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 5825.
Variable "$scale" will not stay shared at /usr/bin/shutter line 5842.
Variable "$filename" will not stay shared at /usr/bin/shutter line 5851.
Variable "$saveDir_button" will not stay shared at /usr/bin/shutter line 5857.
Variable "$save_no_active" will not stay shared at /usr/bin/shutter line 5858.
Variable "$combobox_type" will not stay shared at /usr/bin/shutter line 5869.
Variable "$sd" will not stay shared at /usr/bin/shutter line 5872.
Variable "$d" will not stay shared at /usr/bin/shutter line 5872.
Variable "$delay" will not stay shared at /usr/bin/shutter line 5887.
Variable "$cursor_active" will not stay shared at /usr/bin/shutter line 5903.
Variable "$notify_timeout_active" will not stay shared at /usr/bin/shutter line 5915.
Variable "$wnck_screen" will not stay shared at /usr/bin/shutter line 5916.
Variable "$current_monitor_active" will not stay shared at /usr/bin/shutter line 5917.
Variable "$border_active" will not stay shared at /usr/bin/shutter line 5948.
Variable "$winresize_active" will not stay shared at /usr/bin/shutter line 5948.
Variable "$winresize_w" will not stay shared at /usr/bin/shutter line 5948.
Variable "$winresize_h" will not stay shared at /usr/bin/shutter line 5948.
Variable "$hide_time" will not stay shared at /usr/bin/shutter line 5949.
Variable "$autoshape_active" will not stay shared at /usr/bin/shutter line 5949.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 5959.
Variable "$visible_windows_active" will not stay shared at /usr/bin/shutter line 5960.
Variable "$menu_waround_active" will not stay shared at /usr/bin/shutter line 5960.
Variable "$zoom_active" will not stay shared at /usr/bin/shutter line 5987.
Variable "$as_help_active" will not stay shared at /usr/bin/shutter line 5987.
Variable "$asel_size3" will not stay shared at /usr/bin/shutter line 5987.
Variable "$asel_size4" will not stay shared at /usr/bin/shutter line 5988.
Variable "$asel_size1" will not stay shared at /usr/bin/shutter line 5988.
Variable "$asel_size2" will not stay shared at /usr/bin/shutter line 5988.
Variable "$combobox_web_width" will not stay shared at /usr/bin/shutter line 5999.
Variable "$st" will not stay shared at /usr/bin/shutter line 6007.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6147.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6160.
Variable "$present_after_active" will not stay shared at /usr/bin/shutter line 6235.
Variable "$bordereffect_active" will not stay shared at /usr/bin/shutter line 6340.
Variable "$bordereffect" will not stay shared at /usr/bin/shutter line 6346.
Variable "$bordereffect_cbtn" will not stay shared at /usr/bin/shutter line 6346.
Variable "$save_ask_active" will not stay shared at /usr/bin/shutter line 6350.
Variable "$sp" will not stay shared at /usr/bin/shutter line 6376.
Variable "$im_colors_active" will not stay shared at /usr/bin/shutter line 6388.
Variable "$combobox_im_colors" will not stay shared at /usr/bin/shutter line 6390.
Variable "$thumbnail_active" will not stay shared at /usr/bin/shutter line 6403.
Variable "$thumbnail" will not stay shared at /usr/bin/shutter line 6406.
Variable "$lp" will not stay shared at /usr/bin/shutter line 6410.
Variable "$no_autocopy_active" will not stay shared at /usr/bin/shutter line 6456.
Variable "$image_autocopy_active" will not stay shared at /usr/bin/shutter line 6459.
Variable "$clipboard" will not stay shared at /usr/bin/shutter line 6460.
Variable "$fname_autocopy_active" will not stay shared at /usr/bin/shutter line 6464.
Variable "$progname_active" will not stay shared at /usr/bin/shutter line 6471.
Variable "$progname" will not stay shared at /usr/bin/shutter line 6472.
Variable "$notify_after_active" will not stay shared at /usr/bin/shutter line 6486.
Variable "$tray_menu" will not stay shared at /usr/bin/shutter line 6541.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6565.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6597.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6603.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6627.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6633.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6654.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6660.
Variable "$pagesetup" will not stay shared at /usr/bin/shutter line 6673.
Variable "$lp" will not stay shared at /usr/bin/shutter line 6699.
Variable "$window" will not stay shared at /usr/bin/shutter line 6716.
Variable "$d" will not stay shared at /usr/bin/shutter line 6741.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6741.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6757.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6789.
Variable "$window" will not stay shared at /usr/bin/shutter line 6800.
Variable "$sd" will not stay shared at /usr/bin/shutter line 6819.
Variable "$d" will not stay shared at /usr/bin/shutter line 6819.
Variable "$status" will not stay shared at /usr/bin/shutter line 6903.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 6904.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6943.
Variable "$window" will not stay shared at /usr/bin/shutter line 6951.
Variable "$status" will not stay shared at /usr/bin/shutter line 6956.
Variable "$d" will not stay shared at /usr/bin/shutter line 6957.
Variable "$hu" will not stay shared at /usr/bin/shutter line 6957.
Variable "$combobox_settings_profiles" will not stay shared at /usr/bin/shutter line 6973.
Variable "$tray" will not stay shared at /usr/bin/shutter line 6974.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 6994.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7015.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 7038.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7044.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7058.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 7068.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7074.
Variable "$tray_menu" will not stay shared at /usr/bin/shutter line 7093.
Variable "$sm" will not stay shared at /usr/bin/shutter line 7102.
Variable "$combobox_status_profiles" will not stay shared at /usr/bin/shutter line 7108.
Variable "$combobox_status_profiles_label" will not stay shared at /usr/bin/shutter line 7111.
Variable "$d" will not stay shared at /usr/bin/shutter line 7117.
Variable "$status" will not stay shared at /usr/bin/shutter line 7119.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7179.
Variable "$lp_ne" will not stay shared at /usr/bin/shutter line 7238.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 7406.
Variable "$ask_on_fs_delete_active" will not stay shared at /usr/bin/shutter line 7435.
Variable "$sd" will not stay shared at /usr/bin/shutter line 7442.
Variable "$d" will not stay shared at /usr/bin/shutter line 7443.
Variable "$notebook" will not stay shared at /usr/bin/shutter line 7451.
Variable "$sp" will not stay shared at /usr/bin/shutter line 7497.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 7635.
Variable "$lp" will not stay shared at /usr/bin/shutter line 7651.
Variable "$progname" will not stay shared at /usr/bin/shutter line 7660.
Variable "$combobox_settings_profiles" will not stay shared at /usr/bin/shutter line 7710.
Variable "$sd" will not stay shared at /usr/bin/shutter line 7825.
Variable "$d" will not stay shared at /usr/bin/shutter line 7826.
Variable "$window" will not stay shared at /usr/bin/shutter line 7861.
Variable "$d" will not stay shared at /usr/bin/shutter line 7861.
Variable "$lp" will not stay shared at /usr/bin/shutter line 7889.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 7907.
Variable "$window" will not stay shared at /usr/bin/shutter line 8008.
Variable "$d" will not stay shared at /usr/bin/shutter line 8008.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 8048.
Variable "$progname" will not stay shared at /usr/bin/shutter line 8149.
Variable "$current_monitor_active" will not stay shared at /usr/bin/shutter line 8160.
Variable "$d" will not stay shared at /usr/bin/shutter line 8160.
Variable "$settings_xml" will not stay shared at /usr/bin/shutter line 8265.
Variable "$wnck_screen" will not stay shared at /usr/bin/shutter line 8298.
Variable "$lp" will not stay shared at /usr/bin/shutter line 8308.
Variable "$d" will not stay shared at /usr/bin/shutter line 8311.
Variable "$d" will not stay shared at /usr/bin/shutter line 8359.
Variable "$x11_supported" will not stay shared at /usr/bin/shutter line 8360.
Variable "$lp" will not stay shared at /usr/bin/shutter line 8369.
Variable "$is_hidden" will not stay shared at /usr/bin/shutter line 8485.
Variable "%session_start_screen" will not stay shared at /usr/bin/shutter line 8566.
Variable "$sm" will not stay shared at /usr/bin/shutter line 8578.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 8584.
Variable "$d" will not stay shared at /usr/bin/shutter line 8664.
Variable "$settings_xml" will not stay shared at /usr/bin/shutter line 8721.
Variable "$current_profile_indx" will not stay shared at /usr/bin/shutter line 8762.
Variable "$accounts_model" will not stay shared at /usr/bin/shutter line 8780.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 8785.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 8805.
Variable "$lp" will not stay shared at /usr/bin/shutter line 8822.
Variable "$d" will not stay shared at /usr/bin/shutter line 8854.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 8879.
Variable "$accounts_model" will not stay shared at /usr/bin/shutter line 8884.
Variable "$d" will not stay shared at /usr/bin/shutter line 8975.
Variable "$window" will not stay shared at /usr/bin/shutter line 9214.
Variable "$d" will not stay shared at /usr/bin/shutter line 9216.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 9220.
Variable "$sd" will not stay shared at /usr/bin/shutter line 9329.
Variable "$d" will not stay shared at /usr/bin/shutter line 9448.
Variable "$window" will not stay shared at /usr/bin/shutter line 9448.
Variable "$lp_ne" will not stay shared at /usr/bin/shutter line 9464.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 9506.
Variable "$saveDir_button" will not stay shared at /usr/bin/shutter line 9507.
Variable "$sm" will not stay shared at /usr/bin/shutter line 9531.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 9553.
Variable "$d" will not stay shared at /usr/bin/shutter line 9556.
Variable "$window" will not stay shared at /usr/bin/shutter line 9557.
Variable "$saveDir_button" will not stay shared at /usr/bin/shutter line 9573.
Variable "$lp_ne" will not stay shared at /usr/bin/shutter line 9589.
Variable "$sp" will not stay shared at /usr/bin/shutter line 9745.
Variable "$sd" will not stay shared at /usr/bin/shutter line 9794.
Variable "$d" will not stay shared at /usr/bin/shutter line 9887.
Variable "$window" will not stay shared at /usr/bin/shutter line 9887.
Variable "%plugins" will not stay shared at /usr/bin/shutter line 9907.
Variable "$lp" will not stay shared at /usr/bin/shutter line 9993.
Variable "$sd" will not stay shared at /usr/bin/shutter line 10032.
Variable "$d" will not stay shared at /usr/bin/shutter line 10082.
Variable "$window" will not stay shared at /usr/bin/shutter line 10083.
Variable "%accounts" will not stay shared at /usr/bin/shutter line 10093.
Variable "$ftp_remote_entry" will not stay shared at /usr/bin/shutter line 10194.
Variable "$ftp_mode_combo" will not stay shared at /usr/bin/shutter line 10208.
Variable "$ftp_username_entry" will not stay shared at /usr/bin/shutter line 10220.
Variable "$ftp_password_entry" will not stay shared at /usr/bin/shutter line 10234.
Variable "$ftp_wurl_entry" will not stay shared at /usr/bin/shutter line 10246.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 10372.
Variable "$clipboard" will not stay shared at /usr/bin/shutter line 10473.
Variable "$d" will not stay shared at /usr/bin/shutter line 10674.
Variable "$d" will not stay shared at /usr/bin/shutter line 10694.
Variable "$window" will not stay shared at /usr/bin/shutter line 10709.
Variable "$d" will not stay shared at /usr/bin/shutter line 10715.
Variable "$sd" will not stay shared at /usr/bin/shutter line 10776.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 10800.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 10807.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 10814.
Variable "%session_screens" will not stay shared at /usr/bin/shutter line 10821.
Variable "$window" will not stay shared at /usr/bin/shutter line 10829.
Variable "$nav_toolbar" will not stay shared at /usr/bin/shutter line 10839.
Name "Gtk3::Gdk::SELECTION_CLIPBOARD" used only once: possible typo at /usr/bin/shutter line 291.
WARNING: gnome-web-photo is missing --> screenshots of websites will be disabled!

at /usr/bin/shutter line 9038.
Shutter::App::fct_init_depend() called at /usr/bin/shutter line 195
Useless use of hash element in void context at /usr/share/perl5/Shutter/App/Common.pm line 77.
require Shutter/App/Common.pm called at /usr/bin/shutter line 206
Useless use of hash element in void context at /usr/share/perl5/Shutter/App/Common.pm line 80.
require Shutter/App/Common.pm called at /usr/bin/shutter line 206
Subroutine lookup redefined at /usr/share/perl5/Shutter/Draw/DrawingTool.pm line 28.
require Shutter/Draw/DrawingTool.pm called at /usr/bin/shutter line 228
Variable "$self" will not stay shared at /usr/share/perl5/Shutter/Draw/DrawingTool.pm line 671.
require Shutter/Draw/DrawingTool.pm called at /usr/bin/shutter line 228
Variable "$self" will not stay shared at /usr/share/perl5/Shutter/Screenshot/SelectorAdvanced.pm line 840.
require Shutter/Screenshot/SelectorAdvanced.pm called at /usr/bin/shutter line 233
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 314, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 314, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 334, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 334, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 341, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 341, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 348, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 348, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 378, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 378, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 391, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 391, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 404, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 404, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 410, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 410, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 423, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 423, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_checked_: assertion 'g_variant_type_string_is_valid (type_string)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 429, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-CRITICAL **: g_variant_type_copy: assertion 'g_variant_type_check (type)' failed at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67, line 19.
at /usr/bin/shutter line 429, line 19.
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943

INFO: gathering system information...

Linux framework 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 21:40:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu 24.04.1 LTS \n \l

Glib 1.3293
Gtk3 0.038

Glib built for 2.80.0, running with 2.80.0

Can't use an undefined value as an ARRAY reference at /usr/bin/shutter line 8326, line 19.
Shutter::App::fct_ret_window_menu() called at /usr/bin/shutter line 8429
Shutter::App::fct_ret_tray_menu() called at /usr/bin/shutter line 466
Shutter::App::STARTUP(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm line 67
Glib::Object::Introspection::ANON(Shutter::App=HASH(0x62fe54cd2df0)) called at /usr/bin/shutter line 10943
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, line 19 during global destruction.
at /usr/bin/shutter line 0, line 19.
eval {...} called at /usr/bin/shutter line 0

@Photon89
Copy link
Member

@vadi2 This looks like the issue fixed by #696, could you try the latest git?

@Photon89
Copy link
Member

I just installed Ubuntu 24.04.2 in a VM. Shutter from Ubuntu repos is still at 0.99.2 and has the crash on Wayland. However, when downloading Shutter 0.99.5 (note the new libmoo-perl dependency) and running it, it starts correctly for me. Please make sure that you are using 0.99.5 and not an earlier version!

@DarthGandalf We really need Shutter to print its own version in the little system information report it prints at startup.

@vadi2
Copy link
Contributor

vadi2 commented Oct 29, 2024

Where did you get the new Shutter from?

@Photon89
Copy link
Member

@afcuttin
Copy link

@Photon89 sorry to ask.. how do you compile from the latest git?

@Photon89
Copy link
Member

@afcuttin No worries! 😃

You don't, just unpack it and run from ./bin/shutter in the unpacked directory. You can run make in the main dir to get the localization in place, but if you are fine with English locale, just run Shutter itself.

@hakonhagland
Copy link

just unpack it and run from ./bin/shutter

@Photon89 Do I need to install some Perl modules first? I tried perl bin/shutter using my perlbrew installed Perl with version 5.38.1 on Ubuntu 24.04. But get errors like: Can't locate Gtk3/ImageView.pm in @INC

@Photon89
Copy link
Member

Yes, it has a ton of dependencies. But you can install version 0.99.2 from Ubuntu's official repositories (sudo apt install shutter), then analogously install libmoo-perl which is a new dependency and you will have all dependencies required to run the latest Shutter version.

Thanks a lot for looking into my debug problem! 😃

@hakonhagland
Copy link

But you can install version 0.99.2 from Ubuntu's official repositories

@Photon89 Ok! But it is launching now. I installed the dependencies using cpanm. (Image::Magick and Goocanvas2 was most difficult to install). Since shutter is launching, it means that I am not able to reproduce this error, right?

@Photon89
Copy link
Member

It is not 100% reproducible, unfortunately. But quite frequent, actually, at least for me. Maybe try to close or open some windows and relaunch Shutter to trigger the crash.

Also, if you are using latest git, the crash won't appear, because I mitigated it in https://github.com/shutter-project/shutter/pull/696/files The crash is still present in the 0.99.5 release though.

@hakonhagland
Copy link

hakonhagland commented Oct 29, 2024

because I mitigated it

@Photon89 Sorry, so you solved this issue already? I thought it was related to https://stackoverflow.com/q/79137451/2173773 somehow 😄 Then how can I reproduce the error in the stackoverflow question?

@Photon89
Copy link
Member

Photon89 commented Oct 29, 2024

@hakonhagland Not actually solved. The current "solution" is to disable the window list functionality if the problematic array is undefined. But it would be better to find the underlying bug (probably in libwnck) such that the functionality would be there and not crashing Shutter any more. 😃

edit: You can reproduce it by using the latest release tarball instead of the git snapshot, for example: https://github.com/shutter-project/shutter/archive/refs/tags/v0.99.5.tar.gz

@hakonhagland
Copy link

Using the master branch, I set a breakpoint at

unless ($wnck_screen->get_windows_stacked) {

and I get a defined array like this:

  DB<2> x $wnck_screen->get_windows_stacked
0  ARRAY(0x601d20571610)
   0  Wnck::Window=HASH(0x601d205710d0)
        empty hash
   1  Wnck::Window=HASH(0x601d20571100)
        empty hash
   2  Wnck::Window=HASH(0x601d20571370)
        empty hash
   3  Wnck::Window=HASH(0x601d20571340)
        empty hash
   4  Wnck::Window=HASH(0x601d205713a0)
....

As I understand, this is unexpected? I should instead get an empty array?

@Photon89
Copy link
Member

Photon89 commented Oct 29, 2024

Umm, possibly this is a launch where Shutter doesn't crash. If you continue from this breakpoint and Shutter starts and show its main window, than this is this case.

It is not 100% reproducible even with the 0.99.5 release where the problematic code is in place. How can I set a breakpoint such that I can experiment with it myself? I can reproduce the crash with some probability at least.

edit:

If you continue from this breakpoint and Shutter starts and show its main window, than this is this case.

Sorry, my bad, of course, in the master branch Shutter won't crash, no matter if the array is empty or not...

@DarthGandalf
Copy link
Member

Do you mean this backtrace?
INFO: gathering system information...

Shutter 0.99.5 Rev.1783
Linux komputer 6.6.51-gentoo #1 SMP PREEMPT_DYNAMIC Mon Sep 30 04:43:33 IST 2024 x86_64 AMD Ryzen 9 3900X 12-Core Processor AuthenticAMD GNU/Linux


This is \n (\s \m \r) \t


Glib 1.3294 
Gtk3 0.038 

Glib built for 2.78.6, running with 2.78.6

Can't use an undefined value as an ARRAY reference at /usr/bin/shutter line 8457, <DATA> line 19.
        Shutter::App::fct_ret_window_menu() called at /usr/bin/shutter line 8560
        Shutter::App::fct_ret_tray_menu() called at /usr/bin/shutter line 483
        Shutter::App::STARTUP(Shutter::App=HASH(0x5557d5baff58)) called at /usr/lib64/perl5/vendor_perl/5.40/x86_64-linux/Glib/Object/Introspection.pm line 67
        Glib::Object::Introspection::__ANON__(Shutter::App=HASH(0x5557d5baff58)) called at /usr/bin/shutter line 11031
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0
GLib-GObject-CRITICAL **: g_boxed_free: assertion 'boxed != NULL' failed, <DATA> line 19 during global destruction.
 at /usr/bin/shutter line 0, <DATA> line 19.
        eval {...} called at /usr/bin/shutter line 0

This often happens for me if I unapply the fix from #696

@DarthGandalf
Copy link
Member

@DarthGandalf We really need Shutter to print its own version in the little system information report it prints at startup.

Yes, it's there. See the log

@Photon89
Copy link
Member

@DarthGandalf Yes, exactly! It's actually #659 but since the same problem happened to @vadi2 here, the discussion shifted to here.

Yes, it's there. See the log

Missed it, my bad!

@hakonhagland
Copy link

How can I set a breakpoint such that I can experiment with it myself?

@Photon89 You mean like this: $DB::single = 1; and then run shutter with perl -d bin/shutter ?

@hakonhagland
Copy link

It is not 100% reproducible

@Photon89 Yes I was able to reproduce now:

  DB<1> x $wnck_screen->get_windows_stacked
Can't call method "get_windows_stacked" on an undefined value

I think we need to step into libwnck with GDB to debug this further?

@Photon89
Copy link
Member

@Photon89 Yes I was able to reproduce now:

Nice!

I think we need to step into libwnck with GDB to debug this further?

Most probably! We cannot by chance get a backtrace including all relevant information from libwnck? 😄 I just tried to get something to help the libwnck dev as requested by him over at https://gitlab.gnome.org/GNOME/libwnck/-/issues/162 But I guess, it quickly grows over my head now!

@hakonhagland
Copy link

Can't call method "get_windows_stacked" on an undefined value

Actually, I think it is not the array that is undefined, but the screen itself $wnck_screen:

  DB<2> x $wnck_screen
0  undef

I can see that the screen is setup here:

my $wnck_screen = Wnck::Screen::get_default();

@Photon89
Copy link
Member

@DarthGandalf

Missed it, my bad!

Actually, I missed it because it wasn't there in the output posted by @DigitGram which indicates that he is using 0.99.2 from Ubuntu's repos which is known to crash under Wayland.

@hakonhagland

Actually, I think it is not the array that is undefined, but the screen itself $wnck_screen:

That's absolutely possible! Thanks for spending so much time for looking into it, I hope, you will be able to get a trace which helps to find the issue in libwnck.

@DarthGandalf
Copy link
Member

No, $wnck_screen is defined, but get_windows_stacked returns undefined, which was probably NULL on C side

@DarthGandalf
Copy link
Member

Though I cannot reproduce it anymore... I did it, then tried to add more debug output

@Photon89
Copy link
Member

Photon89 commented Oct 29, 2024

Though I cannot reproduce it anymore... I did it, then tried to add more debug output

Even without #696? I can reproduce it quite frequently in an Ubuntu 24.04 VM... I had the impression that opening/closing windows triggers it. But maybe it's a placebo effect.

@DarthGandalf
Copy link
Member

Yeah, I unapplied the patch, and immediatelly reproduced it. Multiple times. But now I cannot again

@hakonhagland
Copy link

hakonhagland commented Oct 29, 2024

This minimal example: https://github.com/hakonhagland/perl-wnck-screen-debug gives segmentation fault on my machine

@Photon89
Copy link
Member

Nice! I got the following backtrace from this minimal example:

(gdb) bt
#0  XQueryExtension (dpy=0x0, name=0x7ffff65d5000 "X-Resource", 
    major_opcode=0x7fffffffcfb4, first_event=0x7fffffffcfb8, 
    first_error=0x7fffffffcfbc) at ../../src/QuExt.c:48
#1  0x00007ffff670b097 in XInitExtension (dpy=dpy@entry=0x0, 
    name=name@entry=0x7ffff65d5000 "X-Resource") at ../../src/InitExt.c:59
#2  0x00007ffff59ee840 in XextAddDisplay (
    extinfo=0x7ffff65d7110 <_xres_ext_info_data>, dpy=dpy@entry=0x0, 
    ext_name=ext_name@entry=0x7ffff65d5000 "X-Resource", 
    hooks=hooks@entry=0x7ffff65d70a0 <xres_extension_hooks>, 
    nevents=nevents@entry=0, data=data@entry=0x0) at ../../src/extutil.c:110
#3  0x00007ffff65d33c9 in find_display (dpy=0x0)
    at /build/libxres-6CIuq8/libxres-1.2.1/src/XRes.c:41
#4  0x00007ffff65d34a6 in XResQueryExtension (dpy=dpy@entry=0x0, 
    event_base_return=event_base_return@entry=0x7fffffffd088, 
    error_base_return=error_base_return@entry=0x7fffffffd08c)
    at /build/libxres-6CIuq8/libxres-1.2.1/src/XRes.c:52
#5  0x00007ffff69951dd in init_xres (self=0x555555952700)
    at ../libwnck/wnck-handle.c:190
#6  wnck_handle_constructed (object=0x555555952700)
    at ../libwnck/wnck-handle.c:208
#7  0x00007ffff6dc3bba in g_object_new_internal (class=0x555555c022f0, 
    params=0x7fffffffd240, n_params=1) at ../../../gobject/gobject.c:2654
#8  0x00007ffff6dc5bc3 in g_object_new_internal (n_params=1, 
--Type <RET> for more, q to quit, c to continue without paging--c
    params=0x7fffffffd240, class=0x555555c022f0)
    at ../../../gobject/gobject.c:2920
#9  g_object_new_valist (object_type=<optimized out>, 
    first_property_name=<optimized out>, 
    var_args=var_args@entry=0x7fffffffd510) at ../../../gobject/gobject.c:2942
#10 0x00007ffff6dc5f4f in g_object_new (object_type=<optimized out>, 
    first_property_name=<optimized out>) at ../../../gobject/gobject.c:2415
#11 0x00007ffff6984dfa in _wnck_get_handle () at ../libwnck/util.c:161
#12 wnck_screen_get_default () at ../libwnck/screen.c:562
#13 0x00007ffff7e21b16 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#14 0x00007ffff7e1e3ef in ffi_call_int (cif=cif@entry=0x7fffffffd810, 
    fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, 
    closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#15 0x00007ffff7e210be in ffi_call (cif=cif@entry=0x7fffffffd810, 
    fn=fn@entry=0x7ffff6984dc0 <wnck_screen_get_default>, 
    rvalue=rvalue@entry=0x7fffffffd7f0, avalue=<optimized out>)
    at ../src/x86/ffi64.c:710
#16 0x00007ffff6bb2c2b in invoke_c_code (info=info@entry=0x55555595c110, 
    func_pointer=<optimized out>, sp=sp@entry=0x555555934d00, ax=ax@entry=1, 
    items=items@entry=4, internal_stack_offset=internal_stack_offset@entry=4, 
    package=<optimized out>, namespace=<optimized out>, 
    function=<optimized out>, mark=<optimized out>)
    at /usr/src/libglib-object-introspection-perl-0.051-1build3/gperl-i11n-invoke-c.c:202
#17 0x00007ffff6bb3aa8 in XS_Glib__Object__Introspection_invoke (
    my_perl=<optimized out>, cv=<optimized out>)
    at /usr/src/libglib-object-introspection-perl-0.051-1build3/GObjectIntrospection.xs:1018
#18 0x00005555556901da in ?? ()
#19 0x000055555568570e in Perl_runops_standard ()
#20 0x00005555555c41db in perl_run ()
#21 0x000055555559963a in main ()

Is this likely to be helpful for the libwnck dev?

@DarthGandalf
Copy link
Member

That's because you didn't initialize Gtk there. Or probably GIO or Glib instead of Gtk.

Your script crashes for me, but this fixes it:

diff --git a/p.pl b/p.pl
index b3c0239..e51d89a 100755
--- a/p.pl
+++ b/p.pl
@@ -11,6 +11,9 @@ BEGIN {
 		package  => 'Wnck',
 	);
 }
+
+use Gtk3 '-init';
+
 my $wnck_screen = Wnck::Screen::get_default();
 
 print Dumper( $wnck_screen );

@Photon89
Copy link
Member

It still crashes with the Gtk3 initialization, actually.

@hakonhagland
Copy link

That's because you didn't initialize Gtk there.

@DarthGandalf Yes I think you are right :) Found this related info: https://gitlab.gnome.org/GNOME/libwnck/-/blob/master/doc/libwnck-docs.sgml#L109

@Photon89
Copy link
Member

Photon89 commented Oct 29, 2024

Thinking about it, the error it spits is actually the well known error which we fixed in #611. So my question is: Why does initializing the screen work sometimes in Wayland, though it reproducibly failed in the line fixed by #611?

edit: Why does it actually fail on initializing the screen already in the minimal example, while it doesn't fail on initializing the screen in Shutter (only fails later when iterating over the stacked windows array)?

@hakonhagland
Copy link

Actually, I think it is not the array that is undefined, but the screen itself

I think I made a mistake there. The programmed stopped in the debugger before Wnck::Screen::get_default(); had been called (I don't know why it did not stop at my breakpoint, but somewhere else). Anyway, that was why the screen was undefined. Unfortunately, that means I am no longer able to reproduce the empty window list here:

unless ($wnck_screen->get_windows_stacked) {

@Photon89
Copy link
Member

It is probably due to the fact that the crash is not 100% reproducible. Is there some "debugging Perl for dummies" text where I can learn how to set breakpoints and do what you guys are doing? I can actually reproduce the crash quite well.

@hakonhagland
Copy link

Is there some "debugging Perl for dummies" text

@Photon89 This video might provide a useful introduction to the perl debugger: https://www.youtube.com/watch?v=LtAGbUYTnR0

@DarthGandalf
Copy link
Member

If we want to debug inside libwnck, gdb may be more useful than perl debugger.

Something like gdb --args /usr/bin/perl /usr/bin/shutter

@Photon89
Copy link
Member

@hakonhagland Thanks, I'm watching it now.

@DarthGandalf I started with gdb as well, but unfortunately gdb doesn't give a backtrace with this crash. For some reason Shutter keeps running after the line which causes the problem, even prints some more line to the stdout before it exits completely, and gdb reports that there is no stack when trying to obtain a backtrace. See also https://stackoverflow.com/questions/79137451/how-to-get-a-backtrace-in-a-perl-script-on-a-not-so-fatal-error/79137681?noredirect=1

@Photon89
Copy link
Member

Maybe this can help us: https://metacpan.org/pod/Devel::GDB::Parser::Breakpoint

@hakonhagland
Copy link

Maybe this can help

@Photon89 Yes, I think so. Alternatively, we can use study. See:
https://perldoc.perl.org/perlhacktips#Using-gdb-to-look-at-specific-parts-of-a-program

@nicomen
Copy link
Contributor

nicomen commented Oct 29, 2024

  1. First of all the warnings s about "not staying shared" is something I would sort out. There are subs inside subs defined. That means that variables inside close over values (closures) and you need to know exactly what you are doing with correct scopes and what not for variables used inside the subs. Perhaps that's is not really the intention. These warnings (errors) were common in the mod_perl era and has led to a lot of random crashes for many people before they understood the problem

  2. Secondly, when I run the minimal example on my Ubuntu 24.04 I don't get the ARRAY error, but I do get a segfault. For me that would indicate some error in the c code and a perl backtrace is not that helpful? So I'm wondering why exactly do you need a backtrace of perl for a c crash?

(Do you have a live chat somewhere to have a speedier debug session, maybe I can help at least from the perl side.)

@Photon89
Copy link
Member

That would be great, everbody who is interested, please feel free to join to the #shutter IRC channel at libera.chat!

@nicomen
Copy link
Contributor

nicomen commented Oct 29, 2024

Perhaps you just need Devel::Trace to get a pinpoint on where things go wrong?

GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
…
(gdb) run
Starting program: /usr/bin/perl -d:Trace /home/nicolas/shutter.pl
…
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:205:   foreach my $target (@OBJECT_PACKAGES_WITH_VFUNCS) {
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:217:   my %implementer_packages_seen;
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:218:   foreach my $target (@OBJECT_PACKAGES_WITH_VFUNCS) {
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:256:   @OBJECT_PACKAGES_WITH_VFUNCS = ();
>> /home/nicolas/shutter.pl:17: my $wnck_screen = Wnck::Screen::get_default();
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:66:       shift if $shift_package_name;
>> /usr/lib/x86_64-linux-gnu/perl5/5.38/Glib/Object/Introspection.pm:67:       return __PACKAGE__->invoke($basename, $namespace, $name, @_);

(process:240862): Wnck-WARNING **: 22:26:32.843: libwnck is designed to work in X11 only, no valid display found

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff71f71f6 in XQueryExtension () from /lib/x86_64-linux-gnu/libX11.so.6```

@Photon89
Copy link
Member

Regarding the actual comments:

  1. As far as I understand, the whole code would need a major change to get rid of the warnings (@DarthGandalf , correct me if I'm wrong)
  2. Yes, there is no array in the minimal example, because defining the screen object fails already. I don't fully understand so far, why it is the case in the minimal example, but not in Shutter.

@DarthGandalf
Copy link
Member

As far as I understand, the whole code would need a major change to get rid of the warnings

oh yes. This way was good enough for the Gtk2->Gtk3 migration.

https://github.com/shutter-project/shutter-rust should fix all of this, but it would be essentially new codebase, if ever finished that work at all

@nicomen
Copy link
Contributor

nicomen commented Oct 30, 2024

See if this quick and dirty fixing of the shared variables works any better
nico_shutter.txt
save it as /usr/bin/shutter_something (needs to be in /usr/bin/ as it looks up some files relative to its own path)

@Photon89
Copy link
Member

Woah, that's like magic! It works indeed and shows no "shared variables" warnings any more! Unfortunately, you worked with version 0.99.2, but I think, the changes should be easy to apply on latest git as well. I'll have a look into it!

@Photon89
Copy link
Member

Created #709 which implements your changes!

@nicomen
Copy link
Contributor

nicomen commented Oct 30, 2024

I think the fix I applied is not really appropriate as a real fix. Moving all the shared variables into the global scope is not that nice and makes the code harder to maintain. It should rather be a more curated fix. There are also some more errors in the modules themselves. I could try to do a better fix later today as a pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests