Bug 250794 - x11-fm/nautilus crashes when trying access directories on HDD
Summary: x11-fm/nautilus crashes when trying access directories on HDD
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-02 06:09 UTC by Konstantin
Modified: 2020-12-21 04:03 UTC (History)
2 users (show)

See Also:
linimon: maintainer-feedback? (gnome)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin 2020-11-02 06:09:55 UTC
I upgraded to 12.2-RELEASE(amd64) last week. Since that time Nautilus cores sometimes as I try to open directories on HDD:

Segmentation fault (core dumped)
fstab: /etc/fstab:5: Inappropriate file type or format

Line 5 in /etc/fstab have this string:
proc            /proc           procfs  rw      0       0

It is required to run GNOME and I have it in fstab since 11.0-RELEASE.
Comment 1 Konstantin 2020-11-02 06:19:39 UTC
Also I noticed Nautilus doesn't crash if I access the root file system on SSD.
Comment 2 Barbara Guida freebsd_committer 2020-11-04 07:56:36 UTC
This looks like another duplicate of #250311.
Comment 3 rozhuk.im 2020-11-06 08:51:07 UTC
> Line 5 in /etc/fstab have this string:
> proc            /proc           procfs  rw      0       0

is ok.

Without coredump backtraces it is hard to say that it same error as thunar+glib.
At least we did not get:
> fstab: /etc/fstab:5: Inappropriate file type or format
because crash happen inside libc and there is no code to print this, and error caused by race condition.
Here more looks like app print error message and call abort().


You can set:
kern.sugid_coredump=1			# Allow setuid and setgid processes to dump core
kern.capmode_coredump=1			# Allow processes in capability mode to dump core.
kern.coredump=1				# Enable/Disable coredumps.
kern.nodump_coredump=1			# Enable setting the NODUMP flag on coredump files.
kern.coredump_devctl=1			# Generate a devctl notification when processes coredump.
kern.corefile=/tmp/%N.%I.core		# Process corefile name format string
kern.compress_user_cores=1		# Compression of user corefiles
kern.compress_user_cores_level=3	# Corefile compression level
debug.ncores=16				# Limiting the number of corefiles generated by a particular process
to get all corefiles into /tmp

then run: http://www.netlab.linkpc.net/download/software/os_cfg/FBSD/12.0/base/root/bin/coredumper.sh
to analyze coredumps and post results here.

Or do all same by hands :)
Comment 4 Konstantin 2020-11-06 09:26:32 UTC
(In reply to rozhuk.im from comment #3)
Found core: /tmp/nautilus.00.core.gz
Unpacking...done
App file name: /usr/local/bin/nautilus
(lldb) target create "/usr/local/bin/nautilus" --core "/tmp/nautilus.00.core"
Core file '/tmp/nautilus.00.core' (x86_64) was loaded.
(lldb) bt all
* thread #1, name = 'pool-org.gnome.', stop reason = signal SIGSEGV
  * frame #0: 0x00000008014cb1cf libc.so.7`_flockfile + 15
    frame #1: 0x00000008014aedeb libc.so.7`fgets + 59
    frame #2: 0x00000008013cf1b4 libc.so.7`___lldb_unnamed_symbol166$$libc.so.7 + 148
    frame #3: 0x00000008013cf03c libc.so.7`getfsent + 28
    frame #4: 0x0000000801192c28 libgio-2.0.so.0`g_unix_mount_points_get + 152
    frame #5: 0x0000000801192da9 libgio-2.0.so.0`g_unix_mount_point_at + 25
    frame #6: 0x00000008011f17a1 libgio-2.0.so.0`___lldb_unnamed_symbol2983$$libgio-2.0.so.0 + 145
    frame #7: 0x00000008011f15b4 libgio-2.0.so.0`___lldb_unnamed_symbol2982$$libgio-2.0.so.0 + 164
    frame #8: 0x00000008011f51c5 libgio-2.0.so.0`___lldb_unnamed_symbol3045$$libgio-2.0.so.0 + 293
    frame #9: 0x00000008011f2ace libgio-2.0.so.0`___lldb_unnamed_symbol3008$$libgio-2.0.so.0 + 94
    frame #10: 0x0000000801125a79 libgio-2.0.so.0`___lldb_unnamed_symbol662$$libgio-2.0.so.0 + 57
    frame #11: 0x0000000801170c45 libgio-2.0.so.0`___lldb_unnamed_symbol1530$$libgio-2.0.so.0 + 245
    frame #12: 0x0000000800503463 libglib-2.0.so.0`___lldb_unnamed_symbol238$$libglib-2.0.so.0 + 51
    frame #13: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #14: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #2, name = 'nautilus', stop reason = signal SIGSEGV
    frame #0: 0x00000008013d4fca libc.so.7`__sys__umtx_op + 10
    frame #1: 0x000000080100b0dd libthr.so.3`___lldb_unnamed_symbol113$$libthr.so.3 + 525
    frame #2: 0x000000080052b287 libglib-2.0.so.0`g_mutex_unlock + 23
    frame #3: 0x0000000800502b73 libglib-2.0.so.0`g_thread_pool_push + 179
    frame #4: 0x000000080116f8b5 libgio-2.0.so.0`g_task_run_in_thread + 117
    frame #5: 0x0000000801124891 libgio-2.0.so.0`___lldb_unnamed_symbol625$$libgio-2.0.so.0 + 177
    frame #6: 0x000000000037ddb5 nautilus`___lldb_unnamed_symbol1944$$nautilus + 133
    frame #7: 0x0000000801170f18 libgio-2.0.so.0`___lldb_unnamed_symbol1535$$libgio-2.0.so.0 + 40
    frame #8: 0x00000008004d7307 libglib-2.0.so.0`g_main_context_dispatch + 327
    frame #9: 0x00000008004d76ca libglib-2.0.so.0`___lldb_unnamed_symbol122$$libglib-2.0.so.0 + 538
    frame #10: 0x00000008004d7786 libglib-2.0.so.0`g_main_context_iteration + 102
    frame #11: 0x000000080119a0ad libgio-2.0.so.0`g_application_run + 557
    frame #12: 0x00000000002b83c1 nautilus`main + 177
    frame #13: 0x00000000002b810f nautilus`_start + 271
  thread #3, name = 'pool-spawner', stop reason = signal SIGSEGV
    frame #0: 0x000000080101168c libthr.so.3`___lldb_unnamed_symbol190$$libthr.so.3 + 92
    frame #1: 0x000000080100ecab libthr.so.3`___lldb_unnamed_symbol159$$libthr.so.3 + 491
    frame #2: 0x000000080052b9d5 libglib-2.0.so.0`g_cond_wait + 37
    frame #3: 0x00000008004a2425 libglib-2.0.so.0`___lldb_unnamed_symbol17$$libglib-2.0.so.0 + 117
    frame #4: 0x0000000800502868 libglib-2.0.so.0`___lldb_unnamed_symbol235$$libglib-2.0.so.0 + 72
    frame #5: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #6: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #4, name = 'gmain', stop reason = signal SIGSEGV
    frame #0: 0x000000080146f28a libc.so.7`__sys_poll + 10
    frame #1: 0x0000000801005a26 libthr.so.3`___lldb_unnamed_symbol38$$libthr.so.3 + 54
    frame #2: 0x00000008004d7667 libglib-2.0.so.0`___lldb_unnamed_symbol122$$libglib-2.0.so.0 + 439
    frame #3: 0x00000008004d7786 libglib-2.0.so.0`g_main_context_iteration + 102
    frame #4: 0x00000008004d9826 libglib-2.0.so.0`___lldb_unnamed_symbol127$$libglib-2.0.so.0 + 54
    frame #5: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #6: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #5, name = 'gdbus', stop reason = signal SIGSEGV
    frame #0: 0x000000080146f28a libc.so.7`__sys_poll + 10
    frame #1: 0x0000000801005a26 libthr.so.3`___lldb_unnamed_symbol38$$libthr.so.3 + 54
    frame #2: 0x00000008004d7667 libglib-2.0.so.0`___lldb_unnamed_symbol122$$libglib-2.0.so.0 + 439
    frame #3: 0x00000008004d7a0f libglib-2.0.so.0`g_main_loop_run + 239
    frame #4: 0x00000008011dd59b libgio-2.0.so.0`___lldb_unnamed_symbol2761$$libgio-2.0.so.0 + 27
    frame #5: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #6: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #6, name = 'pool-org.gnome.', stop reason = signal SIGSEGV
    frame #0: 0x000000080101168c libthr.so.3`___lldb_unnamed_symbol190$$libthr.so.3 + 92
    frame #1: 0x000000080100ecab libthr.so.3`___lldb_unnamed_symbol159$$libthr.so.3 + 491
    frame #2: 0x000000080052b9d5 libglib-2.0.so.0`g_cond_wait + 37
    frame #3: 0x00000008004a2425 libglib-2.0.so.0`___lldb_unnamed_symbol17$$libglib-2.0.so.0 + 117
    frame #4: 0x00000008005034a6 libglib-2.0.so.0`___lldb_unnamed_symbol238$$libglib-2.0.so.0 + 118
    frame #5: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #6: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #7, name = 'dconf worker', stop reason = signal SIGSEGV
    frame #0: 0x000000080146f28a libc.so.7`__sys_poll + 10
    frame #1: 0x0000000801005a26 libthr.so.3`___lldb_unnamed_symbol38$$libthr.so.3 + 54
    frame #2: 0x00000008004d7667 libglib-2.0.so.0`___lldb_unnamed_symbol122$$libglib-2.0.so.0 + 439
    frame #3: 0x00000008004d7786 libglib-2.0.so.0`g_main_context_iteration + 102
    frame #4: 0x00000008063bd42d libdconfsettings.so`___lldb_unnamed_symbol78$$libdconfsettings.so + 29
    frame #5: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #6: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #8, name = 'pool-org.gnome.', stop reason = signal SIGSEGV
    frame #0: 0x00000008014c8bea libc.so.7`___lldb_unnamed_symbol1639$$libc.so.7 + 650
    frame #1: 0x00000008004c0d4b libglib-2.0.so.0`g_file_test + 171
    frame #2: 0x00000008011f67a1 libgio-2.0.so.0`___lldb_unnamed_symbol3052$$libgio-2.0.so.0 + 369
    frame #3: 0x00000008011f5eac libgio-2.0.so.0`___lldb_unnamed_symbol3048$$libgio-2.0.so.0 + 2956
    frame #4: 0x00000008011f4f51 libgio-2.0.so.0`___lldb_unnamed_symbol3041$$libgio-2.0.so.0 + 705
    frame #5: 0x0000000801128b80 libgio-2.0.so.0`___lldb_unnamed_symbol730$$libgio-2.0.so.0 + 112
    frame #6: 0x0000000801170c45 libgio-2.0.so.0`___lldb_unnamed_symbol1530$$libgio-2.0.so.0 + 245
    frame #7: 0x0000000800503463 libglib-2.0.so.0`___lldb_unnamed_symbol238$$libglib-2.0.so.0 + 51
    frame #8: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #9: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
  thread #9, name = 'pool-org.gnome.', stop reason = signal SIGSEGV
    frame #0: 0x0000000801249f7f libgobject-2.0.so.0`g_param_value_validate + 79
    frame #1: 0x0000000801245908 libgobject-2.0.so.0`___lldb_unnamed_symbol99$$libgobject-2.0.so.0 + 152
    frame #2: 0x00000008012450fb libgobject-2.0.so.0`___lldb_unnamed_symbol96$$libgobject-2.0.so.0 + 235
    frame #3: 0x0000000801244dbc libgobject-2.0.so.0`g_object_new_valist + 732
    frame #4: 0x000000080124483f libgobject-2.0.so.0`g_object_new + 159
    frame #5: 0x0000000801171eaa libgio-2.0.so.0`g_themed_icon_new_from_names + 298
    frame #6: 0x000000080118b5a8 libgio-2.0.so.0`___lldb_unnamed_symbol1798$$libgio-2.0.so.0 + 280
    frame #7: 0x00000008011f59ec libgio-2.0.so.0`___lldb_unnamed_symbol3048$$libgio-2.0.so.0 + 1740
    frame #8: 0x00000008011f2aef libgio-2.0.so.0`___lldb_unnamed_symbol3008$$libgio-2.0.so.0 + 127
    frame #9: 0x0000000801125a79 libgio-2.0.so.0`___lldb_unnamed_symbol662$$libgio-2.0.so.0 + 57
    frame #10: 0x0000000801170c45 libgio-2.0.so.0`___lldb_unnamed_symbol1530$$libgio-2.0.so.0 + 245
    frame #11: 0x0000000800503463 libglib-2.0.so.0`___lldb_unnamed_symbol238$$libglib-2.0.so.0 + 51
    frame #12: 0x0000000800502252 libglib-2.0.so.0`___lldb_unnamed_symbol230$$libglib-2.0.so.0 + 66
    frame #13: 0x0000000801002fac libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 348
==========================================================
Comment 5 rozhuk.im 2020-11-06 22:36:44 UTC
(In reply to Konstantin from comment #4)

Looks like this is same bug as in: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250311

It should be fixed, update glib20