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 416370 - gdmsetup has problems running with a11y
gdmsetup has problems running with a11y
Status: RESOLVED OBSOLETE
Product: at-spi
Classification: Platform
Component: performance
unspecified
Other opensolaris
: High critical
: ---
Assigned To: At-spi maintainer(s)
At-spi maintainer(s)
: 394765 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-03-09 08:59 UTC by Brian Cameron
Modified: 2014-11-15 00:54 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
this patch makes GDM display the Configure GDM choice. (2.34 KB, patch)
2007-04-30 06:15 UTC, Brian Cameron
none Details | Review

Description Brian Cameron 2007-03-09 08:59:42 UTC
When you run gdmsetup with a11y enabled, it is very slow to start due to a11y, and sometimes fails to come up.  If you start without a11y it has no problems.

To see this problem just su as root, and run gdmsetup.

While it is hanging I notice it is in this stack trace:

 cefb88f5 pollsys  (819e9e0, 5, 0, 0)
 cef6f7b2 poll     (819e9e0, 5, ffffffff) + 52
 d0358775 g_main_context_poll (80cd7d8, ffffffff, 7fffffff, 819e9e0, 5) + 135
 d03577b3 g_main_context_iterate (80cd7d8, 1, 1, 80a42a8) + 563
 d0357a75 g_main_context_iteration (80cd7d8, 1) + b5
 cd319b11 link_main_iteration (1) + 21
 cd2ff6d9 giop_recv_buffer_get (8046098, 80460d8) + 65
 cd302cdc ORBit_small_invoke_stub (80de660, cd3e0400, 0, 804619c, 0, cd405520) +
 140
 cd302b7d ORBit_small_invoke_stub_n (80de660, cd3e03e0, 0, 0, 804619c, 0) + 3d
 cd314356 ORBit_c_stub_invoke (80de660, cd3e03e0, 0, 0, 804619c, 0) + 12e
 cd3aa084 Accessibility_EventListener_notifyEvent (80de660, 80461c4, cd405520) +
 4c
 cd3f3968 spi_atk_emit_eventv (8311ef8, 1f, 0, 8046244, cd3f4930, 80d28f0) + 1dc
 cd3f458a spi_atk_bridge_signal_listener (8046314, 3, 8046404, 80d8ff0) + 3da
 d044bff0 signal_emit_unlocked_R (80ca790, 1af, 8311ef8, 0, 8046404) + 6c0
 d044b259 g_signal_emit_valist (8311ef8, 60, 1af, 80465a0) + ad9
 d044b86f g_signal_emit_by_name (8311ef8, ceedb988, 1f, 0, 0) + 1ef
 ceed1cd9 model_row_inserted (84abea0, 9473cd0, 947f5d0, 82108d8) + 1ad
 d09e89e6 _gtk_marshal_VOID__BOXED_BOXED (8693e98, 0, 3, 8046800, 8046710, 0) +
e6
 d0431ebf g_closure_invoke (8693e98, 0, 3, 8046800, 8046710) + 1af
 d044c64c signal_emit_unlocked_R (819be30, 0, 84abea0, 0, 8046800) + d1c
 d044b259 g_signal_emit_valist (84abea0, 9d, 0, 8046984) + ad9
 d044b66c g_signal_emit (84abea0, 9d, 0, 9473cd0, 80469e0) + 3c
 d0b09de1 gtk_tree_model_row_inserted (84abea0, 9473cd0, 80469e0) + 111
 d0b13399 gtk_tree_model_sort_row_inserted (849ce50, 8eb8818, 947f510, 84abea0)
+ 319
 d09e89e6 _gtk_marshal_VOID__BOXED_BOXED (85e2828, 0, 3, 8046c10, 8046b20, 0) +
e6
 d0431ebf g_closure_invoke (85e2828, 0, 3, 8046c10, 8046b20) + 1af
 d044c240 signal_emit_unlocked_R (819be30, 0, 849ce50, 0, 8046c10) + 910
 d044b259 g_signal_emit_valist (849ce50, 9d, 0, 8046d94) + ad9
 d044b66c g_signal_emit (849ce50, 9d, 0, 8eb8818, 8046ddc) + 3c
 d0b09de1 gtk_tree_model_row_inserted (849ce50, 8eb8818, 8046ddc) + 111
 d09853a6 do_files_added (849ce50, 0, 86d4e20) + 286
 d0985b90 root_files_added_callback (84b1650, 86d4e20, 849ce50) + 30
 d044da4f g_cclosure_marshal_VOID__POINTER (85e2688, 0, 2, 8047028, 8046f38, 0)
+ df
 d0431ebf g_closure_invoke (85e2688, 0, 2, 8047028, 8046f38) + 1af
 d044c240 signal_emit_unlocked_R (84a4bd0, 0, 84b1650, 0, 8047028) + 910
 d044b259 g_signal_emit_valist (84b1650, 124, 0, 80471c0) + ad9
 d044b86f g_signal_emit_by_name (84b1650, cc9de090, 86d4e20) + 1ef
 cc9dc896 directory_load_callback (8a, 12, 84a5560, 1fd, 84b1650) + 1d6
 cce07676 dispatch_job_callback (868b780) + 15a
 d035a345 g_idle_dispatch (868b7b8, cce0751c, 868b780) + 55
 d0355a29 g_main_dispatch (80baf20) + 209
 d03571c7 g_main_context_dispatch (80baf20) + a7
 d03577e2 g_main_context_iterate (80baf20, 1, 1, 80a42a8) + 592
 d03581ba g_main_loop_run (85957a0) + 44a
 d09e1ebd gtk_main (d0ffb7c0, 813a908, 813c6a8, 0, 64, 813a948) + 10d
 08076217 main     (1, 80473e0, 80473e8) + 577
 08061dba _start   (1, 804752c, 0, 8047535, 8047569, 80475c3) + 7a
Comment 1 Brian Cameron 2007-03-09 09:01:36 UTC
I also see this stack while it is hanging.

2511:   gdmsetup
 cefb7cf5 __time   (0) + 15
 d096eac3 list_mtime_data_func (81abdc0, 82b2138, 85d2cf0, 8045f90, 81b91e8) + f3
 d0b4905e gtk_tree_view_column_cell_set_cell_data (81abdc0, 85d2cf0, 8045f90, 0, 0) + 1de
 ceeceb80 gail_tree_view_ref_child (82ba4f8, 151) + 214
 d0d25004 atk_object_ref_accessible_child (82ba4f8, 151) + 94
 cd3f4274 spi_atk_bridge_signal_listener (8046144, 3, 8046234, 80d8ff0) + c4
 d044bff0 signal_emit_unlocked_R (80d6090, 1af, 82ba4f8, 0, 8046234) + 6c0
 d044b259 g_signal_emit_valist (82ba4f8, 60, 1af, 80463d0) + ad9
 d044b86f g_signal_emit_by_name (82ba4f8, ceedb988, 151, 0, 0) + 1ef
 ceed1cd9 model_row_inserted (85d2cf0, 902d5d8, 9046c20, 81cf540) + 1ad
 d09e89e6 _gtk_marshal_VOID__BOXED_BOXED (86cd360, 0, 3, 8046630, 8046540, 0) + e6
 d0431ebf g_closure_invoke (86cd360, 0, 3, 8046630, 8046540) + 1af
 d044c64c signal_emit_unlocked_R (8146848, 0, 85d2cf0, 0, 8046630) + d1c
 d044b259 g_signal_emit_valist (85d2cf0, 9e, 0, 80467b4) + ad9
 d044b66c g_signal_emit (85d2cf0, 9e, 0, 902d5d8, 8046810) + 3c
 d0b09de1 gtk_tree_model_row_inserted (85d2cf0, 902d5d8, 8046810) + 111
 d0b13399 gtk_tree_model_sort_row_inserted (8367250, 85eaf50, 9046b60, 85d2cf0) + 319
 d09e89e6 _gtk_marshal_VOID__BOXED_BOXED (8644008, 0, 3, 8046a40, 8046950, 0) + e6
 d0431ebf g_closure_invoke (8644008, 0, 3, 8046a40, 8046950) + 1af
 d044c240 signal_emit_unlocked_R (8146848, 0, 8367250, 0, 8046a40) + 910
 d044b259 g_signal_emit_valist (8367250, 9e, 0, 8046bc4) + ad9
 d044b66c g_signal_emit (8367250, 9e, 0, 85eaf50, 8046c0c) + 3c
 d0b09de1 gtk_tree_model_row_inserted (8367250, 85eaf50, 8046c0c) + 111
 d09853a6 do_files_added (8367250, 0, 8711ea8) + 286
 d0985b90 root_files_added_callback (8544200, 8711ea8, 8367250) + 30
 d044da4f g_cclosure_marshal_VOID__POINTER (8646ba8, 0, 2, 8046e58, 8046d68, 0) + df
 d0431ebf g_closure_invoke (8646ba8, 0, 2, 8046e58, 8046d68) + 1af
 d044c240 signal_emit_unlocked_R (837bb30, 0, 8544200, 0, 8046e58) + 910
 d044b259 g_signal_emit_valist (8544200, 124, 0, 8046ff0) + ad9
 d044b86f g_signal_emit_by_name (8544200, cc9de090, 8711ea8) + 1ef
 cc9dc896 directory_load_callback (8c, 12, 85bb580, 1fd, 8544200) + 1d6
 cce07676 dispatch_job_callback (86cf4d8) + 15a
 d035a345 g_idle_dispatch (86cf510, cce0751c, 86cf4d8) + 55
 d0355a29 g_main_dispatch (80baf20) + 209
 d03571c7 g_main_context_dispatch (80baf20) + a7
 d03577e2 g_main_context_iterate (80baf20, 1, 1, 80a42a8) + 592
 d03581ba g_main_loop_run (82fc220) + 44a
 d09e1ebd gtk_main (d0ffb7c0, 813a898, 813c568, 0, 64, 813a8d8) + 10d
 08076217 main     (1, 8047208, 8047210) + 577
 08061dba _start   (1, 804736c, 0, 8047375, 80473af, 804740d) + 7a
Comment 2 Li Yuan 2007-04-25 02:28:42 UTC
Hi Brian, which OS are you using? NV? On my system gdmsetup can startup in about 3 seconds.
Comment 3 Brian Cameron 2007-04-25 03:37:42 UTC
I am using GDM 2.18 on the recent Nevada builds.  

Note the hang isn't with gdmsetup starting up, but when you try to exit gdmsetup.
Also, the hang only happens when you do the following:

1) From gdmlogin start gdmsetup by selecting "Configure Login Program" from
   the menu.
2) gdmsetup starts up just fine, but hangs when you try to exit gdmsetup.

Note that GDM is now hacked to disable the "Configure Login Program" when
a11y is enabled, so if you want to look into this, I can provide you with
a version of GDM with this feature turned back on for testing.
Comment 4 Li Yuan 2007-04-25 05:16:51 UTC
Yes, please. Is it a tarball or just a change of the configuration option?
Comment 5 Li Yuan 2007-04-25 09:56:32 UTC
*** Bug 394765 has been marked as a duplicate of this bug. ***
Comment 6 Brian Cameron 2007-04-30 06:15:24 UTC
Created attachment 87262 [details] [review]
this patch makes GDM display the Configure GDM choice.


This patch makes GDM display the menu choice "Configure GDM" in both gdmlogin and gdmgreeter.  I will also mail you packages that you can use, but for reference this patch can also be used to build GDM with this feature enabled so you can see the problem.
Comment 7 Brian Cameron 2007-04-30 07:08:17 UTC
Also, note related bug #407008
Comment 8 Li Yuan 2007-05-14 07:06:23 UTC
Hi Brian,

I looked into this bug. Seems gdm-setup hangs because gdm-binary hangs. the trace is:

  [1] _read(0x7, 0x80479a3, 0x1), at 0xcf7ce2b5 
  [2] read(0x7, 0x80479a3, 0x1), at 0xcf7bfd79 
=>[3] gdm_fdgetc(fd = 7), line 1397 in "misc.c"
  [4] gdm_slave_greeter_ctl(cmd = '!', str = 0x80b3884 ""), line 5209 in "slave.c"
  [5] gdm_slave_greeter_ctl_no_ret(cmd = '!', str = 0x80b3884 ""), line 5234 in "slave.c"
  [6] restart_the_greeter(), line 1881 in "slave.c"
  [7] check_notifies_now(), line 587 in "slave.c"
  [8] slave_waitpid(wp = 0x8136758), line 539 in "slave.c"
  [9] run_config(display = 0x80f3700, pwent = 0x80f3854), line 1854 in "slave.c"
  [10] gdm_slave_wait_for_login(), line 2101 in "slave.c"
  [11] gdm_slave_run(display = 0x80f3700), line 1545 in "slave.c"
  [12] gdm_slave_start(display = 0x80f3700), line 862 in "slave.c"
  [13] gdm_display_manage(d = 0x80f3700), line 324 in "display.c"
  [14] gdm_cleanup_children(), line 1105 in "gdm.c"
  [15] mainloop_sig_callback(sig = 18, data = (nil)), line 1238 in "gdm.c"
  [16] ve_signal_dispatch(source = 0x80e7500, callback = 0x806f270 = &`gdm-binary`gdm.c`mainloop_sig_callback(int sig, gpointer data), user_data = (nil)), line 69 in "ve-signal.c"
  [17] g_main_dispatch(0x80d3758), at 0xcfa65105 
  [18] g_main_context_dispatch(0x80d3758), at 0xcfa661f5 
  [19] g_main_context_iterate(0x80d3758, 0x1, 0x1, 0x80d3a10), at 0xcfa66612 
  [20] g_main_loop_run(0x80cfca0), at 0xcfa66c14 
  [21] main(argc = 1, argv = 0x8047e48), line 1801 in "gdm.c"

The restart_the_greeter never gets chance to call gdm_slave_sensitize_config.
I don't really know why it reads from a file and why this only happen when A11Y is enabled.
Do you have any idea?
Comment 9 Brian Cameron 2007-05-16 04:00:00 UTC
Looking at the function restart_the_greeter, it calls gdm_slave_greeter_ctl_no_ret 3 times (once with GDM_SAVEDIE, then with GDM_DISABLE, then with GDM_NOFOCUS).  It is waiting on read because the greeter is supposed to return a STX to stdout which the daemon will read to know the greeter has responded to the request.

Could you turn on Debug by turning on enable=true in the debug section of the GDM configuration and attach the gdm related debug lines that get appended to syslog (var/adm/messages on Solaris or /var/log/messages on Linux).  This will highlight which message the daemon is waiting for.



Comment 10 André Klapper 2012-02-26 10:43:49 UTC
[Resetting QA Contact to newly introduced "at-spi-maint@gnome.bugs". 
Reason: So far it was impossible to watch changes in at-spi bug reports without following all the specific persons (Li Yuan, Bill Haneman, Jeff Wai, ...) and also their activity outside of at-spi reports.

IMPORTANT: Anyone interested in following all bug activity (including all maintainers) must watch the "at-spi-maint@gnome.bugs" dummy user by adding it to the 'Users to watch' list under Preferences->Email preferences. This is also the default procedure nowadays in GNOME when setting up new products.]
Comment 11 André Klapper 2013-08-14 10:06:51 UTC
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
Comment 12 Magdalen Berns (irc magpie) 2014-11-15 00:54:11 UTC
I'm going to go ahead and close this because it concerns a very old version.
Feel free to open a new bug if the problem persists.