After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 786656 - gdm crashes on unlocking my session.
gdm crashes on unlocking my session.
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
3.25.x
Other Linux
: Normal critical
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2017-08-22 22:10 UTC by Hussam Al-Tayeb
Modified: 2017-08-23 13:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
valgrind log. (5.25 KB, text/plain)
2017-08-23 11:24 UTC, Hussam Al-Tayeb
  Details
manager: fix dangling pointer free (3.42 KB, patch)
2017-08-23 13:34 UTC, Ray Strode [halfline]
committed Details | Review

Description Hussam Al-Tayeb 2017-08-22 22:10:40 UTC
I am getting the following crash on unlocking my session


GNU gdb (GDB) 8.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/gdm...done.
[New LWP 1517]
[New LWP 1538]
[New LWP 1518]
[New LWP 1520]
[New LWP 1519]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/gdm'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 2 (Thread 0x7fbea9811700 (LWP 1538))

  • #0 syscall
  • #1 g_cond_wait_until
    at gthread-posix.c line 1442
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop
    at gasyncqueue.c line 543
  • #4 g_thread_pool_wait_for_new_pool
    at gthreadpool.c line 167
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 364
  • #6 g_thread_proxy
    at gthread.c line 784
  • #7 start_thread
  • #8 clone

Thread 1 (Thread 0x7fbeaf7e1180 (LWP 1517))

  • #0 malloc_consolidate
  • #1 _int_malloc
  • #2 calloc
  • #3 open_memstream
  • #4 __vsyslog_chk
  • #5 __syslog_chk
  • #6 g_logv
    at gmessages.c line 1341
  • #7 g_log
    at gmessages.c line 1403
  • #8 g_return_if_fail_warning
    at gmessages.c line 2702
  • #9 g_variant_builder_add_value
    at gvariant.c line 3486
  • #10 g_variant_builder_add
    at gvariant.c line 5531
  • #11 g_dbus_message_to_blob
    at gdbusmessage.c line 2670
  • #12 g_dbus_connection_send_message_unlocked
    at gdbusconnection.c line 1617
  • #13 g_dbus_connection_send_message
    at gdbusconnection.c line 1731
  • #14 invoke_get_property_in_idle_cb
    at gdbusconnection.c line 4148
  • #15 g_main_dispatch
    at gmain.c line 3148
  • #16 g_main_context_dispatch
    at gmain.c line 3813
  • #17 g_main_context_iterate
    at gmain.c line 3886
  • #18 g_main_loop_run
    at gmain.c line 4082
  • #19 main
    at main.c line 404
        ret = 1
        res = <optimized out>
        do_timed_exit = 0
        print_version = 0
        fatal_warnings = 0
        entries = 
            {{long_name = 0xaab7893ee9 "fatal-warnings", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xaab7ab4194 <fatal_warnings>, description = 0xaab7893ef8 "Make all warnings fatal", arg_description = 0x0}, {long_name = 0xaab7893f10 "timed-exit", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xaab7ab4190 <do_timed_exit>, description = 0xaab7894110 "Exit after a time (for debugging)", arg_description = 0x0}, {long_name = 0xaab7893f25 "version", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xaab7ab4198 <print_version>, description = 0xaab7893f1b "Print GDM version", arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
Comment 1 Hussam Al-Tayeb 2017-08-23 11:24:46 UTC
Created attachment 358228 [details]
valgrind log.

I was able to get a valgrind log with assistance in #Gnome-shell irc channel (that you very much for that).
Comment 2 Ray Strode [halfline] 2017-08-23 13:34:11 UTC
Created attachment 358237 [details] [review]
manager: fix dangling pointer free

When reauthenticating, we can crash if configured with
--disable-user-display-server and a non-login screen session
unlocks the screen due to a dangling pointer.

This commit fixes that.
Comment 3 Ray Strode [halfline] 2017-08-23 13:36:39 UTC
Attachment 358237 [details] pushed as 42ae130 - manager: fix dangling pointer free