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 317333 - wnck applet crashes in multihead setup (not xinerama)
wnck applet crashes in multihead setup (not xinerama)
Status: RESOLVED INCOMPLETE
Product: libwnck
Classification: Core
Component: tasklist
2.17.x
Other other
: High critical
: ---
Assigned To: libwnck maintainers
libwnck maintainers
: 318914 319114 324165 327063 328057 328506 335610 343525 344711 350035 454719 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-09-27 11:52 UTC by Miek Gieben
Modified: 2009-07-27 21:28 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description Miek Gieben 2005-09-27 11:52:08 UTC
Distribution: Ubuntu 5.10 (breezy)
Package: gnome-panel
Severity: critical
Version: GNOME2.12.0 2.12.x
Gnome-Distributor: Ubuntu
Synopsis: wnck applet crashes in multihead setup (not xinerama)
Bugzilla-Product: gnome-panel
Bugzilla-Component: Panel
Bugzilla-Version: 2.12.x
BugBuddy-GnomeVersion: 2.0 (2.12.0)
Description:
Description of the crash:
When using the wnck applet on the second monitor, it first complains
about a schema error:
Failed: Failed: Schema
`/schemas/apps/workspace_switcher_applet/prefs/display_all_workspaces'
specified for
`/apps/panel/applets/applet_11/prefs/display_all_workspaces'
stores a non-schema value

And then crashes

Steps to reproduce the crash:
1. Add the wnck applet to the panel on the second monitor
2. Switch workspaces a number of times

Expected Results:
It should not crash

How often does this happen?
If you switch often enough, always

Additional Information:
None


Debugging Information:

Backtrace was generated from '/usr/libexec/wnck-applet'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1223980512 (LWP 10073)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe410 in ?? ()

Thread 1 (Thread -1223980512 (LWP 10073))

  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #6 <signal handler called>
  • #7 wnck_window_get_transient
    from /usr/lib/libwnck-1.so.18
  • #8 wnck_tasklist_get_size_hint_list
    from /usr/lib/libwnck-1.so.18
  • #9 wnck_tasklist_get_size_hint_list
    from /usr/lib/libwnck-1.so.18
  • #10 wnck_tasklist_new
    from /usr/lib/libwnck-1.so.18
  • #11 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #16 wnck_screen_get_default
    from /usr/lib/libwnck-1.so.18
  • #17 wnck_screen_get_default
    from /usr/lib/libwnck-1.so.18
  • #18 wnck_screen_get_default
    from /usr/lib/libwnck-1.so.18
  • #19 g_child_watch_add
    from /usr/lib/libglib-2.0.so.0
  • #20 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #21 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #22 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #23 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #24 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #25 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #26 panel_applet_factory_main_closure
    from /usr/lib/libpanel-applet-2.so.0
  • #27 panel_applet_factory_main
    from /usr/lib/libpanel-applet-2.so.0
  • #28 main
  • #0 ??




------- Bug moved to this database by unknown@gnome.bugs 2005-09-27 11:52 UTC -------


The original reporter of this bug does not have
   an account here. Reassigning to the person who moved
   it here, unknown@gnome.bugs.
   Previous reporter was miek@miek.nl.

Comment 1 Sebastien Bacher 2005-09-27 13:09:31 UTC
Ubuntu bugzilla about this: http://bugzilla.ubuntu.com/show_bug.cgi?id=16426

"Hello,

When using a multihead setup in X (NOT xinerama), the wnck-applet keeps
crashing, also 
when trying to switch workspaces on the second monitor a get a schema error that
the number of workspaces (in my case 4) is not a correctly formatted schema value.

Using xinerama multihead support does work."
Comment 2 Sebastien Bacher 2005-09-27 14:18:59 UTC
Debug backtrace from the Ubuntu bug:

Backtrace was generated from '/usr/libexec/wnck-applet'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1223587296 (LWP 13222)]
0xffffe410 in ?? ()

Thread 1 (Thread -1223587296 (LWP 13222))

  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #6 <signal handler called>
  • #7 wnck_window_get_transient
    at window.c line 487
  • #8 wnck_tasklist_active_window_changed
    at tasklist.c line 1915
  • #9 wnck_tasklist_update_lists
    at tasklist.c line 1807
  • #10 wnck_tasklist_active_workspace_changed
    at tasklist.c line 1926
  • #11 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #16 emit_active_workspace_changed
    at screen.c line 1567
  • #17 update_active_workspace
    at screen.c line 1380
  • #18 do_update_now
    at screen.c line 1514
  • #19 update_idle
    at screen.c line 1532
  • #20 g_child_watch_add
    from /usr/lib/libglib-2.0.so.0
  • #21 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #22 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #23 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #24 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #25 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #26 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #27 panel_applet_factory_main_closure
    from /usr/lib/libpanel-applet-2.so.0
  • #28 panel_applet_factory_main
    from /usr/lib/libpanel-applet-2.so.0
  • #29 main
  • #0 ??

Comment 3 Gabriel Schulhof 2005-09-27 21:56:01 UTC
This is also true for GNOME 2.10.2 and Gentoo.
Comment 4 Gabriel Schulhof 2005-09-27 21:57:38 UTC
P.S.: The same can be said for the Window List applet.
P.P.S: Another way to almost deterministically crash the Workspace Switcher
applet is to attempt to bring up its properties.
Comment 5 Vincent Untz 2005-10-01 09:28:16 UTC
Moving to libwnck.
Comment 6 Elijah Newren 2005-10-01 15:34:26 UTC
So the crash seems to show that it's on the line that reads
  g_return_val_if_fail (WNCK_IS_WINDOW (window), None);
unless the line numbers have changed.  How could that line cause a crash, though?

And, uh, if the gconf value is set to something not in the schema, what's the
output of
  gconftool-2 --get /apps/panel/applets/applet_11/prefs/display_all_workspaces
and
  gconftool-2 --get \
    /schemas/apps/workspace_switcher_applet/prefs/display_all_workspaces
Comment 7 Miek Gieben 2005-10-04 08:34:01 UTC
Running in multihead again, with new hardware, stuff still crashes.

To answer your questions:
applet_7 is now my switcher:

gconftool-2 --get /apps/panel/applets/applet_7/prefs/display_all_workspaces
Failed to get value for
`/apps/panel/applets/applet_7/prefs/display_all_workspaces': Failed: Failed:
Schema `/schemas/apps/workspace_switcher_applet/prefs/display_all_workspaces'
specified for `/apps/panel/applets/applet_7/prefs/display_all_workspaces' stores
a non-schema value

%  gconftool-2 --get \
>     /schemas/apps/workspace_switcher_applet/prefs/display_all_workspaces
true

Hope this helps
Comment 8 Elijah Newren 2005-10-08 16:04:38 UTC
Uh, why would the schema be 'true'?  That totally doesn't make sense.  It ought
to be the description of what the preference means.  E.g., on my machine:

1002 newren@amr:~$ gconftool-2 --get \
    /schemas/apps/workspace_switcher_applet/prefs/display_all_workspaces
Type: bool
List Type: *invalid*
Car Type: *invalid*
Cdr Type: *invalid*
Default Value: true
Owner: workspace-switcher-applet
Short Desc: Display all workspaces
Long Desc:
            If true, the workspace switcher will show all workspaces. Otherwise
            it will only show the current workspace.


But anyway, I'm guessing that's unrelated to the crash.  The stack trace doesn't
make sense to me, unless it's some kind of memory corruption.  Could someone
with a multi-head setup run under valgrind?  Unfortunately, I only have single
head setups...
Comment 9 Miek Gieben 2005-10-17 09:10:39 UTC
With my new hardware I cannot reproduce the crash - so it was (I think) faulty
memory in my old workstation.

However libwnck still isn't usefull in a multihead setup. The workspace switching
only works on the main monitor. On the other monitor I only see only workspace
instead of the 4 I've defined.
Comment 10 Sebastien Bacher 2005-10-18 09:04:51 UTC
*** Bug 319114 has been marked as a duplicate of this bug. ***
Comment 11 Sebastien Bacher 2005-10-18 09:04:51 UTC
*** Bug 318914 has been marked as a duplicate of this bug. ***
Comment 12 Sebastien Bacher 2005-10-18 09:05:47 UTC
reopening due to the dups
Comment 13 bryan 2005-10-28 01:52:04 UTC
I may have found a way to reproduce this

1. Set up your computer in dual head mode for two monitors
2. Put a panel on each monitor, have the "Workspace switcher" and "Window List"
applets on each of those panels
3. Open an application like firefox/gedit
4. Now close that application
5. Now open that same application on the 2nd monitor
6. Crash!
7. Do the same in reverse
8. Open firefox/gedit on second monitor
9. Close the application
10. Open the application on the first monitor
11. Crash!
Comment 14 Vincent Untz 2006-01-25 08:03:38 UTC
*** Bug 327063 has been marked as a duplicate of this bug. ***
Comment 15 Vincent Untz 2006-01-25 08:03:48 UTC
*** Bug 324165 has been marked as a duplicate of this bug. ***
Comment 16 Vincent Untz 2006-01-25 08:04:45 UTC
*** Bug 328506 has been marked as a duplicate of this bug. ***
Comment 17 Vincent Untz 2006-01-26 10:11:04 UTC
*** Bug 328057 has been marked as a duplicate of this bug. ***
Comment 18 Karl Wagener 2006-01-26 17:47:53 UTC
Hi, I can confirm identical behaviour to bryan ie. open an app on screen 0, close app, open the same app on screen 1 - crash!! see bug 328057 :/
Comment 19 Sergej Kotliar 2006-03-23 09:33:31 UTC
*** Bug 335610 has been marked as a duplicate of this bug. ***
Comment 20 Elijah Newren 2006-05-31 17:32:44 UTC
*** Bug 343525 has been marked as a duplicate of this bug. ***
Comment 21 Elijah Newren 2006-06-13 04:00:57 UTC
*** Bug 344711 has been marked as a duplicate of this bug. ***
Comment 22 Karsten Bräckelmann 2006-08-05 15:43:31 UTC
*** Bug 350035 has been marked as a duplicate of this bug. ***
Comment 23 Sebastien Bacher 2006-11-22 13:53:50 UTC
Ubuntu bug with a similar backtrace (Ubuntu edgy): https://launchpad.net/products/libwnck/+bug/72632
Comment 24 K lall 2007-01-17 12:29:33 UTC
Another way:
1: Set up dual head with separate x screens.
2: Set up a workspace switcher on desktop 1 .
3: Select "Show Workspace Names in switcher".
4: Set up a workspace switcher on desktop 2 .
5: Select "Show Workspace Names in switcher".
6: Crash.
Comment 25 Sebastien Bacher 2007-03-05 15:56:23 UTC
new ubuntu bug with the same backtrace and GNOME 2.17: https://launchpad.net/bugs/89597

"Binary package hint: gnome-panel

Have been having a lotttttttt of trouble when trying to right click on the window 'frames' to send to a different desktop and clicking on 'view', in the 'file Browser' to make changes... When right clicking on the window 'frame' it's like nautilus cycles through all the windows on each desktop, until it stops on the one that I started with, trying to move it to a different desktop.... It's been doing this off and on for a month or so now.... I pretty much do the 'updates' for fiesty as they come out... I can't seem to nail this down as to when exactly it began though....
...
libwnck18 2.17.92-0ubuntu1
..."
Comment 26 Vincent Untz 2007-04-29 23:45:07 UTC
This crash is still happening, but we need a recent stack trace, or a valgrind log as Elijah already pointed out.

Marking as NEEDINFO until we get some new data.
Comment 27 Sebastien Bacher 2007-05-24 12:25:45 UTC
I've closed the distribution bug for now, I'll reopen if new datas are sent about the crash
Comment 28 Vincent Untz 2007-06-15 15:35:24 UTC
Can any of the people who were affected by this bug and who are cc'ed here still reproduce this?
Comment 29 Karl Wagener 2007-06-16 00:14:12 UTC
I am currently using Ubuntu Feisty Fawn, my locale is now New Zealand, I am using Evolution 2.10.1

Yes, the bug is still present for me, I tried updating my grandmothers D.O.B. (1914) and it still won't accept it, "Invalid Date Value" is the warning displayed.
Comment 30 Karl Wagener 2007-06-16 00:25:53 UTC
(In reply to comment #29)
> I am currently using Ubuntu Feisty Fawn, my locale is now New Zealand, I am
> using Evolution 2.10.1
> 
> Yes, the bug is still present for me, I tried updating my grandmothers D.O.B.
> (1914) and it still won't accept it, "Invalid Date Value" is the warning
> displayed.
> 

sorry for the noise, wrong bug....
Comment 31 Vincent Untz 2007-07-08 08:13:25 UTC
*** Bug 454719 has been marked as a duplicate of this bug. ***
Comment 32 Gabriel Schulhof 2008-08-28 10:51:59 UTC
I cannot reproduce this crash with GNOME 2.22. However, the following bug remains: Upon login, the applet instance running on the secondary screen does not display the status of the desktops associated with the secondary screen. Instead, it displays the status of the desktops associated with the primary screen. There's a bug about this here, but I can't find it. *scratch head*
Comment 33 Vincent Untz 2008-08-28 10:59:32 UTC
(In reply to comment #32)
> I cannot reproduce this crash with GNOME 2.22. However, the following bug
> remains: Upon login, the applet instance running on the secondary screen does
> not display the status of the desktops associated with the secondary screen.
> Instead, it displays the status of the desktops associated with the primary
> screen. There's a bug about this here, but I can't find it. *scratch head*

When you say "upon login", do you mean that after a while, it works correctly?
Comment 34 Gabriel Schulhof 2008-08-30 08:07:02 UTC
Here's the comment I made in bug #480710:

=========================
As of GNOME 2.22, the workspace switcher bug is still present:

1. Configure X to use 2 screens separately (:0.0 and :0.1)
2. Create a horizontal bottom panel on each screen.
3. Add a workspace switcher to each panel.
4. In each workspace-switcher, set the number of desktops to a total of 8, in 2
rows of 4.
5. Log out.
6. Log in.

At this point, both workspace switchers display the status of desktops on :0.0,
and neither of them displays the status of :0.1. If you remove the switcher on
:0.1 from its panel, and re-add it, it will work again, showing 8 desktops in a
row, instead of your pre-login choice of 2 rows of 4.

If the panel on :0.1 is a vertical panel, removing and re-adding the switcher
doesn't help. Even after re-adding the switcher, it still displays the status
of :0.0.

Here's hoping GNOME 2.24 will work (again).
=========================

This bug is actually #479959. The comment above is from a similar bug. I guess I put it in the wrong place.

I checked that the version of libwnck I have on my desktop contains a fix to bug #479959, however, on Gentoo at least the fix didn't work for me. I checked that the libwnck tarball Gentoo uses for building contains this change:

http://svn.gnome.org/viewvc/libwnck/trunk/libwnck/pager.c?view=log#rev1556

However, the above outlined steps still lead me to the misbehaviour I described in the above comment,
Comment 35 Gabriel Schulhof 2008-08-30 08:10:40 UTC
P.S.: I haven't checked if, after waiting a while, it works correctly. After all, that would mean that the switcher on :0.1 all of a sudden starts to display 1 row of 8 desktops instead of 2 rows of 4. And just to make the link work, it's bug #479959.
Comment 36 Tobias Mueller 2009-02-21 23:24:35 UTC
Hm. We still have no valgrind log Vincent has asked for :-/ Are we going to close this bug then in a few weeks?
Maybe this issue is fixed anyway?
Comment 37 Gabriel Schulhof 2009-02-22 12:06:42 UTC
Well, I haven't observed a crash recently. However, the switcher on :0.1 still doesn't work correctly. Whenever I log in, I have to remove the switcher from the :0.1 panel, then add a new one, then set the number of rows to 2 in its preferences.
Comment 38 Tobias Mueller 2009-02-23 19:39:14 UTC
May I suggest that we close this bug then and that you open a new one for your issue?
Comment 39 Kris Thomsen 2009-07-27 21:28:07 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!