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

[Caja 1.26][Ubuntu MATE 22.04] Caja crashes WHEN clicking on "View -> Reset View to Default" HAVING default-sort-order='emblems' set #1753

Open
FabioArceri opened this issue Dec 7, 2023 · 2 comments

Comments

@FabioArceri
Copy link

Expected behaviour

Caja should just be applying the default settings and start ordering the icons by emblem.

Actual behaviour

Caja crashes after clicking.

Steps to reproduce the behaviour

  1. Open "Edit -> Preferences" and set emblems in the default sort order dropdown menu.
  2. Close the preferences window.
  3. Go to "View -> Reset View to Default" and you will see Caja crashing after about one second.

MATE general version

1.26.0

Linux Distribution and Package version

~$ lsb_release -rd

Description:	Ubuntu 22.04 LTS
Release:	22.04

~$ apt-cache policy caja

caja:
  Installato: 1.26.0-1ubuntu1
  Candidato:  1.26.0-1ubuntu1
  Tabella versione:
 *** 1.26.0-1ubuntu1 500
        500 http://it.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        100 /var/lib/dpkg/status

Link to bugreport of your Distribution (requirement)

@raveit65
Copy link
Member

raveit65 commented Dec 9, 2023

  1. Last stable release is caja-1.26.3 , you're not using latest bugfixes and improvements.
  2. I can confirm the issue with fedora 39 and caja-1-26.3.

But not with fedora 38 and caja-1.27.2 plus latest commits from master branch.
Here caja doesn't crash with your steps-to-reproduce.
We need to find out what is different here.

Backtrace from fedora 39 with caja-1.26.3:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/caja'.
Program terminated with signal SIGSEGV, Segmentation fault.
warning: Section `.reg-xstate/3175' in core file too small.
#0  0x000056450162aee4 in update_layout_menus (view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:758
758	        action_name = is_auto_layout ? view->details->sort->action : FM_ACTION_MANUAL_LAYOUT;
[Current thread is 1 (Thread 0x7f5573a5ab00 (LWP 3175))]

Thread 1 (Thread 0x7f5573a5ab00 (LWP 3175)):
#0  0x000056450162aee4 in update_layout_menus (view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:758
        action_name = <optimized out>
        is_auto_layout = 1
        action = <optimized out>
        file = 0x564503a79280 [CajaVFSFile]
#1  0x000056450162b139 in update_layout_menus (view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:744
        file = 0x564503a79280 [CajaVFSFile]
        icon_container = 0x56450386b400 [FMIconContainer]
        icon_view = 0x564503aad4c0 [FMIconView]
#2  real_set_sort_criterion (clear=1, sort=0x0, icon_view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:388
        file = 0x564503a79280 [CajaVFSFile]
        icon_container = 0x56450386b400 [FMIconContainer]
        icon_view = 0x564503aad4c0 [FMIconView]
#3  clear_sort_criterion (icon_view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:408
        icon_container = 0x56450386b400 [FMIconContainer]
        icon_view = 0x564503aad4c0 [FMIconView]
#4  fm_icon_view_reset_to_defaults (view=0x564503aad4c0 [FMIconView]) at file-manager/fm-icon-view.c:2049
        icon_container = 0x56450386b400 [FMIconContainer]
        icon_view = 0x564503aad4c0 [FMIconView]
#5  0x0000564501623af7 in fm_directory_view_reset_to_defaults (view=0x564503aad4c0 [FMIconView]) at file-manager/fm-directory-view.c:9970
        mode = <optimized out>
        __func__ = "fm_directory_view_reset_to_defaults"
#6  0x00007f557543852a in g_closure_invoke (closure=0x5645037c5ba0, return_value=0x0, n_param_values=1, param_values=0x7ffd453c7680, invocation_hint=0x7ffd453c75d0) at ../gobject/gclosure.c:832
        marshal = 0x7f557543d510 <g_cclosure_marshal_VOID__VOID>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x5645037c5b80
        __func__ = "g_closure_invoke"
#7  0x00007f5575466fec in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7ffd453c7750, detail=detail@entry=0, instance=instance@entry=0x5645037c5a60, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd453c7680) at ../gobject/gsignal.c:3980
        tmp = <optimized out>
        handler = 0x5645037c5bf0
        accumulator = <optimized out>
        emission = {next = 0x7ffd453c7a50, instance = 0x5645037c5a60, ihint = {signal_id = 363, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4 [void]}
        hlist = <optimized out>
        handler_list = 0x5645037c5bf0
        return_accu = <optimized out>
        accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = <optimized out>
        max_sequential_handler_number = <optimized out>
        return_value_altered = <optimized out>
        n_params = <optimized out>
#8  0x00007f5575457d59 in signal_emit_valist_unlocked (instance=instance@entry=0x5645037c5a60, signal_id=signal_id@entry=363, detail=detail@entry=0, var_args=var_args@entry=0x7ffd453c78c0) at ../gobject/gsignal.c:3612
        instance_and_params = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        node_copy = {signal_id = 363, itype = 0x564502c75570 [GtkAction], name = 0x7f55755fbb5c "activate", destroyed = 0, flags = 9, n_params = 0, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x0, return_type = 0x4 [void], class_closure_bsa = 0x564503082ee0, accumulator = 0x0, c_marshaller = 0x7f557543d510 <g_cclosure_marshal_VOID__VOID>, va_marshaller = 0x7f5575436240 <g_cclosure_marshal_VOID__VOIDv>, emission_hooks = 0x0, single_va_closure = 0x56450307cf60}
        __func__ = "signal_emit_valist_unlocked"
#9  0x00007f5575457f91 in g_signal_emit_valist (instance=0x5645037c5a60, signal_id=363, detail=0, var_args=var_args@entry=0x7ffd453c78c0) at ../gobject/gsignal.c:3355
#10 0x00007f5575458053 in g_signal_emit (instance=instance@entry=0x5645037c5a60, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3675
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd453c79a0, reg_save_area = 0x7ffd453c78e0}}
Python Exception <class 'gdb.error'>: value has been optimized out

Full backtrace is here: https://www.dropbox.com/scl/fi/t7322jxymmbo5q505v1iy/caja_backtrace.txt?rlkey=d603bmqynrw7xcebhzwpvno6z&dl=0

@lukefromdc
Copy link
Member

I was just unable to duplicate this on 1.27.2 (plus git commits to current master), though test was on wayland because that's what I am running at the moment. I will have to retest on an x11 session to determine if this was fixed by something unique to the 1.27 series

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants