Subject: FVWM: fvwm crashing

From: Lionel Cons <[email-masked]>
Date: Fri, 14 Jun 1996 09:50:02 +0200

I know that the version 1 is frozen but 2 is still in beta...

We use fvwm 1.24r on several UNIXes and we see some core dumps on some
systems like Digital/UNIX or Solaris 2. Did anybody out there see this
kind of problems? Is there any (even unofficial) patch to 1.24r?

(please reply directly to me, I'll summarise)

Thanks in advance for your help,

Lionel Cons

+------- CERN - European Laboratory for Particle Physics ------+
| E-mail: [email-masked]             PGP key ID: D3CFFDA5 |
| Earth-mail: CN/DCI/UWS, CERN, CH-1211 GENEVE 23, Switzerland |
| Phone: + (41 22) 767 49 13          Fax: + (41 22) 767 71 55 |
+--------------------------------------------------------------+

Exceptions always outnumber rules.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: <[email-masked]> (Charles Hines)
Date: Fri, 14 Jun 1996 08:51:48 -0400

>>>>> "LC" == Lionel Cons <[email-masked]> writes:

LC> I know that the version 1 is frozen but 2 is still in beta...  We
LC> use fvwm 1.24r on several UNIXes and we see some core dumps on
LC> some systems like Digital/UNIX or Solaris 2. Did anybody out there
LC> see this kind of problems? Is there any (even unofficial) patch to
LC> 1.24r?

Could you be a little more specific as to what the problem is?

I do know of one crash situation in 1.24r if you are using
ClickToFocus and try to close several windows at once, and I do have a
fix for that if that is the problem.

Chuck

*******************************************************************************
Charles K. Hines <[email-masked]>
IBM Logic Synthesis Developer [BooleDozer (TM)]
Martial Arts Instructor [Modern Arnis, Presas Style Filipino Martial Arts]

         "Go back to sleep, Chuck.  You're just havin' a nightmare
             -- of course, we ARE still in Hell." (Gary Larson)
*******************************************************************************
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Lionel Cons <[email-masked]>
Date: Fri, 14 Jun 1996 15:52:35 +0200

> Could you be a little more specific as to what the problem is?

On Digital/UNIX, the crashes are random and there is no obvious
pattern.

On Solaris 2, two different users reported crashes in different
situations. The first one was connected to the use of the tool
tkpostage (with some home-made modifications): when tkpostage queried
the mail server frequently (1/min), fvwm crashed randomly after some
time. Without tkpostage, nor more crashes... The user will use again
tkpostage to get a core dump, it may give a clue...

The other one is connected to the use of Netscape and FrameMaker,
here are some mails extracts:
 >     one of our stations is giving lots of problems when running Fvwm
 >  with Netscape (2.02) and FrameMaker (5).
 >  
 >  The first panic appears when Netscape and FrameMaker run in different
 >  desks. At the moment to change desk, fvwm core dumps and the window
 >  system dies.

Hope this helps...

Lionel Cons

---

From: <[email-masked]> (Charles Hines)
Date: Fri, 14 Jun 1996 10:04:30 -0400

>> Could you be a little more specific as to what the problem is?

LC> On Digital/UNIX, the crashes are random and there is no obvious
LC> pattern.

That's unfortunate, since it'll be nearly impossible to guess what
might be wrong then.

LC> On Solaris 2, two different users reported crashes in different
LC> situations. The first one was connected to the use of the tool
LC> tkpostage (with some home-made modifications): when tkpostage queried
LC> the mail server frequently (1/min), fvwm crashed randomly after some
LC> time. Without tkpostage, nor more crashes... The user will use again
LC> tkpostage to get a core dump, it may give a clue...

Hm.  Odd.

LC> The other one is connected to the use of Netscape and FrameMaker,
>> desks. At the moment to change desk, fvwm core dumps and the window

LC> Hope this helps...

I don't know if it does...  But I'll give you the patch here that
fixes the coredump that I mentioned, which may or may not help you.
The change is pretty small and it shouldn't hurt at all.

Otherwise, you might want to pick up the latest 2.xx beta (2.0.42,
with 2.0.43 out shortly and the first official release 2.1.0 out
hopefully soon after that) and give it a try (see

                     http://www.hpc.uh.edu/fvwm/

for info).

Chuck

======================================================================
diff -u -r ./fvwm-1.24r/ChangeLog ./fvwm-1.24rb/ChangeLog
--- ./fvwm-1.24r/ChangeLog      Mon Jan  9 16:33:28 1995
+++ ./fvwm-1.24rb/ChangeLog     Mon Dec  5 12:40:27 1994
@@ -1,12 +1,3 @@
-ra to rb
-      1. Changed way click-to-focus problem was fixed to using only
-         CurrentTime instead of more elaborate fix, because it was
-         core dumping a lot for some reason.
-
-r to ra
-      1. Fixed click-to-focus problem with clicking on Motif menubars
-         to exit a program causing focus to be lost.
-
 q to r
       1. Fixed blatant GoodStuff boo-boo, with the 'Swallow' command.

diff -u -r ./fvwm-1.24r/fvwm/borders.c ./fvwm-1.24rb/fvwm/borders.c
--- ./fvwm-1.24r/fvwm/borders.c Mon Jan  9 16:11:55 1995
+++ ./fvwm-1.24rb/fvwm/borders.c        Tue Dec  6 10:16:14 1994
@@ -1205,7 +1205,7 @@
                  }
              Scr.Focus = NULL;
              Scr.Ungrabbed = NULL;
-             XSetInputFocus(dpy, Scr.NoFocusWin,RevertToParent,CurrentTime);
+             XSetInputFocus(dpy, Scr.NoFocusWin,RevertToParent,lastTimestamp);
            }
          return;
        }
@@ -1254,30 +1254,30 @@

   if(Scr.flags & Lenience)
     {
-      XSetInputFocus (dpy, w, RevertToParent, CurrentTime);
+      XSetInputFocus (dpy, w, RevertToParent, lastTimestamp);
       Scr.Focus = Fw;
     }
   else if(!((Fw)&&(Fw->wmhints)&&(Fw->wmhints->flags & InputHint)&&
            (Fw->wmhints->input == False)))
     {
       /* Window will accept input focus */
-      XSetInputFocus (dpy, w, RevertToParent, CurrentTime);
+      XSetInputFocus (dpy, w, RevertToParent, lastTimestamp);
       Scr.Focus = Fw;
     }
   else if ((Scr.Focus)&&(Scr.Focus->Desk == Scr.CurrentDesk))
     {
       /* Window doesn't want focus. Leave focus alone */
-      XSetInputFocus (dpy,Scr.Hilite->w , RevertToParent, CurrentTime);
+      XSetInputFocus (dpy,Scr.Hilite->w , RevertToParent, lastTimestamp);
     }
   else
     {
-      XSetInputFocus (dpy, Scr.NoFocusWin, RevertToParent, CurrentTime);
+      XSetInputFocus (dpy, Scr.NoFocusWin, RevertToParent, lastTimestamp);
       Scr.Focus = NULL;
     }

   if ((Fw)&&(Fw->flags & DoesWmTakeFocus))
-    send_clientmessage (w,_XA_WM_TAKE_FOCUS, CurrentTime);
+    send_clientmessage (w,_XA_WM_TAKE_FOCUS, lastTimestamp);

   XSync(dpy,0);

diff -u -r ./fvwm-1.24r/version.h ./fvwm-1.24rb/version.h
--- ./fvwm-1.24r/version.h      Mon Jan  9 16:31:03 1995
+++ ./fvwm-1.24rb/version.h     Mon Dec  5 12:39:55 1994
@@ -1,2 +1,2 @@
-#define VERSION "1.24rb"
+#define VERSION "1.24r"

---

From: <[email-masked]> (Charles Hines)
Date: Fri, 14 Jun 1996 10:09:30 -0400

Whoops!  Messed up that 1.24r patch slightly.  This one should
actually be it:

======================================================================
diff -u -r ./fvwm-1.24r/ChangeLog ./fvwm-1.24rb/ChangeLog
--- ./fvwm-1.24r/ChangeLog      Mon Dec  5 12:40:27 1994
+++ ./fvwm-1.24rb/ChangeLog     Mon Jan  9 16:33:28 1995
@@ -1,3 +1,12 @@
+ra to rb
+      1. Changed way click-to-focus problem was fixed to using only
+         CurrentTime instead of more elaborate fix, because it was
+         core dumping a lot for some reason.
+
+r to ra
+      1. Fixed click-to-focus problem with clicking on Motif menubars
+         to exit a program causing focus to be lost.
+
 q to r
       1. Fixed blatant GoodStuff boo-boo, with the 'Swallow' command.

diff -u -r ./fvwm-1.24r/fvwm/borders.c ./fvwm-1.24rb/fvwm/borders.c
--- ./fvwm-1.24r/fvwm/borders.c Tue Dec  6 10:16:14 1994
+++ ./fvwm-1.24rb/fvwm/borders.c        Mon Jan  9 16:11:55 1995
@@ -1205,7 +1205,7 @@
                  }
              Scr.Focus = NULL;
              Scr.Ungrabbed = NULL;
-             XSetInputFocus(dpy, Scr.NoFocusWin,RevertToParent,lastTimestamp);
+             XSetInputFocus(dpy, Scr.NoFocusWin,RevertToParent,CurrentTime);
            }
          return;
        }
@@ -1254,30 +1254,30 @@

   if(Scr.flags & Lenience)
     {
-      XSetInputFocus (dpy, w, RevertToParent, lastTimestamp);
+      XSetInputFocus (dpy, w, RevertToParent, CurrentTime);
       Scr.Focus = Fw;
     }
   else if(!((Fw)&&(Fw->wmhints)&&(Fw->wmhints->flags & InputHint)&&
            (Fw->wmhints->input == False)))
     {
       /* Window will accept input focus */
-      XSetInputFocus (dpy, w, RevertToParent, lastTimestamp);
+      XSetInputFocus (dpy, w, RevertToParent, CurrentTime);
       Scr.Focus = Fw;
     }
   else if ((Scr.Focus)&&(Scr.Focus->Desk == Scr.CurrentDesk))
     {
       /* Window doesn't want focus. Leave focus alone */
-      XSetInputFocus (dpy,Scr.Hilite->w , RevertToParent, lastTimestamp);
+      XSetInputFocus (dpy,Scr.Hilite->w , RevertToParent, CurrentTime);
     }
   else
     {
-      XSetInputFocus (dpy, Scr.NoFocusWin, RevertToParent, lastTimestamp);
+      XSetInputFocus (dpy, Scr.NoFocusWin, RevertToParent, CurrentTime);
       Scr.Focus = NULL;
     }

   if ((Fw)&&(Fw->flags & DoesWmTakeFocus))
-    send_clientmessage (w,_XA_WM_TAKE_FOCUS, lastTimestamp);
+    send_clientmessage (w,_XA_WM_TAKE_FOCUS, CurrentTime);

   XSync(dpy,0);

diff -u -r ./fvwm-1.24r/version.h ./fvwm-1.24rb/version.h
--- ./fvwm-1.24r/version.h      Mon Dec  5 12:39:55 1994
+++ ./fvwm-1.24rb/version.h     Mon Jan  9 16:31:03 1995
@@ -1,2 +1,2 @@
-#define VERSION "1.24r"
+#define VERSION "1.24rb"

---

From: Lionel Cons <[email-masked]>
Date: Fri, 14 Jun 1996 16:20:03 +0200

> fixes the coredump that I mentioned, which may or may not help you.

We'll try this patch, thanks.

 > Otherwise, you might want to pick up the latest 2.xx beta [...]

Is there an easy way to convert version 1 fvwmrc to version 2?

I just received a core dump that occured on Solaris 2.4:

> gdb /usr/local/bin/X11/fvwm core_fvwm
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (sparc-sun-solaris2.4), 
Copyright 1996 Free Software Foundation, Inc...
Core was generated by `/usr/local/bin/X11/fvwm -f /afs/cern.ch/user/o/oevrard/.fvwmrc'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/local/lib/libXpm.so.4.1...done.
Reading symbols from /usr/local/lib/libXext.so.5.0...done.
Reading symbols from /usr/local/lib/libX11.so.5.0...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libintl.so.1...done.
Reading symbols from /usr/lib/libw.so.1...done.
#0  0xef5bc5b8 in t_splay ()
(gdb) bt
#0  0xef5bc5b8 in t_splay ()
#1  0xef5bc324 in t_delete ()
#2  0xef5bba38 in _malloc_unlocked ()
#3  0xef5bb884 in malloc ()
#4  0x2ba68 in safemalloc ()
#5  0x287ac in AddToQueue ()
#6  0x2877c in PositiveWrite ()
#7  0x285f8 in BroadcastConfig ()
#8  0x1b810 in SetupFrame ()
#9  0x1f294 in MoveViewport ()
#10 0x1e2a0 in ExecuteFunction ()
#11 0x28214 in HandleModuleInput ()
#12 0x19574 in My_XNextEvent ()
#13 0x172e0 in HandleEvents ()
#14 0x1344c in main ()

Lionel Cons