Bug 30955

Summary: wmaker aborts when gnome panel starts on multi-screen display
Product: [Retired] Red Hat Linux Reporter: Bill Crawford <billc>
Component: WindowMakerAssignee: Crutcher Dunnavant <crutcher>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-04-09 18:40:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Bill Crawford 2001-03-07 16:26:31 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.1-0.1.9 i686)


wmaker aborts (assert "bad_root_window") when gnome panel starts.  It *is*
then possible to restart WindowMaker.  Not sure exactly what causes it to
be looking for the wrong window, but I have a small band-aid patch that
solves the problem for me.


Reproducible: Always
Steps to Reproduce:
1. Choose WindowMaker as window manager for GNOME
2. Start up X/GNOME on multi-head display
3. Wait for panel to appear.


Actual Results:  A message box pops up saying that wmaker has crashed, and
giving the option to restart.


Expected Results:  Panel should appear, and wmaker should not abort :)

Temporary fix for the problem ...

diff --recursive --unified WindowMaker-0.62.1-orig/src/startup.c
WindowMaker-0.62.1/src/startup.c
--- WindowMaker-0.62.1-orig/src/startup.c       Sun Apr  2 22:18:19 2000
+++ WindowMaker-0.62.1/src/startup.c    Mon Mar  5 14:43:05 2001
@@ -585,9 +585,7 @@
        }
     }
 
-    assert("bad_root_window" && 0);
-    
-    return NULL;
+    return wScreenForWindow (window);
 }
 
 
@@ -610,7 +608,7 @@
        }
     }
     
-    return NULL;
+    return wScreenForWindow (window);
 }

Comment 1 Bill Crawford 2001-03-19 18:37:27 UTC
This looks like a fault in the GNOME support in wmaker, as it always happens at
the same time the GNOME panel starts.  Also the band-aid fix I have suggests
that a non-root window (possibly a virtual root) is being passed to the
wScreenForRootWindow function.


Comment 2 Crutcher Dunnavant 2001-04-03 16:36:19 UTC
Please try this with the latest rawhide, and also see if it works without dual
head. Otherwise, I can't seem to reproduce it here.

Comment 3 Bill Crawford 2001-04-03 16:53:40 UTC
It's always worked fine *without* dual head, which is why it took a while to
figure it out.  It always would bomb out on my work system, but *only* when
using GNOME rather than just WindowMaker.

The crunch was realising that it always bombed exactly as the gnome panel
appeared on the screen.

It's not been fixed in Raw Hide to date, as I had to re-patch the latest version
I have (which is WindowMaker-0.62.1-16) when I upgraded it last.  I have no idea
whether the current GNOME environment would trigger the problem, but I suspect
it will.  I may try later.

It's only *dual (or multi) head, when used as the WM with GNOME* that it's a
problem.  Without GNOME (i.e. just running wmaker without the panel and stuff)
it's fine.  On a single head system (at home) it's fine.  And the patch I put up
there fixes it.

I tried, really I did.  That's the only way to do it.  The root cause is
probably the "wrong" window ID being passed to that function as though it were a
root window.  Perhaps it's a "virtual root" which isn't being recognised as
such.  I really don't have the inclination to look, as simply making sure we get
the right screen for the window concerned actually makes wmaker more robust in
the face of possible errors elsewhere in the code or in the GNOME infrastructure
somewhere.


Comment 4 Bill Crawford 2001-04-09 18:18:51 UTC
Yes, this does still happen with the package from Raw Hide:

[bill@fraser bill]$ rpm -q WindowMaker
WindowMaker-0.64.0-2

I start up, the panel appears, it stays a grey block for a while, and the error
dialog pops up saying that WindowMaker has aborted.
I'll be pactching it in a minute.



Comment 5 Bill Crawford 2001-04-09 18:40:02 UTC
Same patch applies clean and fixes the problem for me.

I would guess the bug is most likely related to the GNOME support and either the
panel or one of the applets (I have deskguide and tasklist running).