gnome-shell will crash when running with accountsservice current master (5fc9a51), if the accountsservice daemon is the system one (not ported to gdbus). (gdb) bt full #0 0x00007f1f270b96c3 in g_str_hash (v=0x0) at ghash.c:1730 p = 0x0 h = 5381 #1 0x00007f1f270b7c1d in g_hash_table_lookup_node (hash_table=0x30ca240, key=0x0, hash_return=0x7fff15f52678) at ghash.c:401 node_index = 32543 node_hash = 655272149 hash_value = 32767 first_tombstone = 0 have_tombstone = 0 step = 0 #2 0x00007f1f270b8bde in g_hash_table_lookup (hash_table=0x30ca240, key=0x0) at ghash.c:1074 node_index = 0 node_hash = 51381088 __PRETTY_FUNCTION__ = "g_hash_table_lookup" #3 0x00007f1f1c32e433 in add_new_user_for_object_path (object_path=0x0, manager=0x2de7180) at act-user-manager.c:719 user = 0x3100360 #4 0x00007f1f1c32edf6 in on_list_cached_users_finished (object=0x13d4180, result=0x30fa6a0, data=0x2de7180) at act-user-manager.c:986 user = 0x7f1f180b3970 i = 0x307fb38 proxy = 0x13d4180 manager = 0x2de7180 users = 0x307fb10 error = 0x0 #5 0x00007f1f2785695a in g_simple_async_result_complete (simple=0x30fa6a0) at gsimpleasyncresult.c:744 current_source = 0x7f1f180882e0 current_context = 0x1387e10 __PRETTY_FUNCTION__ = "g_simple_async_result_complete" #6 0x00007f1f278d1f0f in reply_cb (connection=0x26c6a10, res=0x333c2a0, user_data=0x30fa6a0) at gdbusproxy.c:2612 simple = 0x30fa6a0 value = 0x324d610 error = 0x0 fd_list = 0x0 #7 0x00007f1f2785695a in g_simple_async_result_complete (simple=0x333c2a0) at gsimpleasyncresult.c:744 current_source = 0x7f1f180882e0 current_context = 0x1387e10 __PRETTY_FUNCTION__ = "g_simple_async_result_complete" #8 0x00007f1f278c14a2 in g_dbus_connection_call_done (source=0x26c6a10, result=0x3354d20, user_data=0x331cc90) at gdbusconnection.c:5300 simple = 0x333c2a0 connection = 0x26c6a10 state = 0x331cc90 error = 0x0 reply = 0x324b5e0 #9 0x00007f1f2785695a in g_simple_async_result_complete (simple=0x3354d20) at gsimpleasyncresult.c:744 current_source = 0x7f1f180882e0 current_context = 0x1387e10 __PRETTY_FUNCTION__ = "g_simple_async_result_complete" #10 0x00007f1f278569a6 in complete_in_idle_cb (data=0x3354d20) at gsimpleasyncresult.c:756 simple = 0x3354d20 #11 0x00007f1f270cd565 in g_idle_dispatch (source=0x7f1f180882e0, callback=0x7f1f27856973 <complete_in_idle_cb>, user_data=0x3354d20) at gmain.c:4629 No locals. #12 0x00007f1f270cae3b in g_main_dispatch (context=0x1387e10) at gmain.c:2510 dispatch = 0x7f1f270cd519 <g_idle_dispatch> was_in_call = 0 user_data = 0x3354d20 callback = 0x7f1f27856973 <complete_in_idle_cb> cb_funcs = 0x7f1f271bce20 cb_data = 0x7f1f1800f980 need_destroy = 20478688 current_source_link = {data = 0x7f1f180882e0, next = 0x0} source = 0x7f1f180882e0 current = 0x26be720 i = 0 __PRETTY_FUNCTION__ = "g_main_dispatch" #13 0x00007f1f270cbafc in g_main_context_dispatch (context=0x1387e10) at gmain.c:3047 No locals. #14 0x00007f1f270cbcdf in g_main_context_iterate (context=0x1387e10, block=1, dispatch=1, self=0x26be2f0) at gmain.c:3118 max_priority = 2147483647 timeout = 909 some_ready = 1 nfds = 12 allocated_nfds = 12 fds = 0x13c5e60 #15 0x00007f1f270cc108 in g_main_loop_run (loop=0x1388070) at gmain.c:3312 self = 0x26be2f0 __PRETTY_FUNCTION__ = "g_main_loop_run" #16 0x00007f1f2aac8551 in meta_run () at core/main.c:555 log_domains = {0x0, 0x7f1f2ab26fde "mutter", 0x7f1f2ab27172 "Gtk", 0x7f1f2ab27176 "Gdk", 0x7f1f2ab2717a "GLib", 0x7f1f2ab2717f "Pango", 0x7f1f2ab27185 "GLib-GObject", 0x7f1f2ab27192 "GThread"} i = 8 #17 0x000000000040231f in main (argc=1, argv=0x7fff15f52c68) at main.c:352 ctx = 0x1378260 error = 0x0 session_type = SHELL_SESSION_USER ecode = 0 sender = 0x26d5400
Created attachment 57167 [details] [review] lib: change loop iteration idiom Some of the recent code for iterating through the results of dbus code uses i when isn't an integer. I find that really hard to wrap my head around, and it appears to be causing crashes. (I believe the loop condition should be *i not i) This commit changes things up to be, in my opinion, clearer.
i'm going to close this out, but REOPEN/let me know if it still causes problems.
I confirm it fixed my crash in gnome-shell; thanks!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.