Subject: Notification: incoming/965

From: [email-masked]
Date: Mon, 02 Dec 2002 23:51:25 -0600

FVWM Bug Tracking notification

new message incoming/965

Message summary for PR#965
	From: [email-masked]
	Subject: ewmh   mozilla   taskbar = hang
	Date: Mon, 02 Dec 2002 23:51:24 -0600
	0 replies 	0 followups

====> ORIGINAL MESSAGE FOLLOWS <====

>From [email-masked] Mon Dec 02 23:51:25 2002
From: [email-masked]
To: [email-masked]
Subject: ewmh + mozilla + taskbar = hang
Date: Mon, 02 Dec 2002 23:51:24 -0600

Full_Name: Dorothy Robinson
Version: fvwm-2.5.4
CVS_Date: 
OS: SunOS 5.8 on sparc
X_Server: Sun Microsystems
Submission from: (NULL) (216.99.209.149)

If I compile with extended window manager hints, I can cause a terrible
hang by trying to resize Mozilla and accidentally dragging the cursor onto
the TaskBar, which I have at the top of the screen.  When I do that, the
cursor stays in the diagonal-arrow state and blinks rapidly, forever. The
only thing to do then is log in from another machine and kill fvwm2.
Killing Mozilla, or the taskbar, or any other module doesn't do it.  The
screen stays in that state, displaying a resizing Mozilla, even after
Mozilla is dead.

If I compile with --disable-ewmh, it doesn't happen.  I'm not running
Gnome, or I'd blame it on that.

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

---

From: [email-masked]
Date: Tue, 3 Dec 2002 20:24:06 +0100

> Gnome, or I'd blame it on that.

Please provide some more details:

 - What Mozilla version do you have?

 - Are you using the task bar coming with fvwm?  If not, which
   task bar is it (and which version)?

 - How do you resize the window?  By dragging from the frame?  Or
   by some function built into Mozilla?  Is it a wire frame or
   opaque resize?

 - Does it help to press Crtl-Alt-Esc to get out of the hang?

 - Please try to strip down your .fvwm2rc file as much as possible
   so that the problem still happens and post it to the mailing
   list.  If it stops happening when you remove a specific line,
   please say so.

 - When you log in from a different machine, try to attach a
   debugger to the running fvwm process to see where it hangs.
   If you have gdb:

     $ gdb fvwm <fvwm-process-id>

Then, at the gdb prompt, type

     (gdb) where

(this prints a stack trace in clear text, please post that
output).  Next, single step through the code until you come across
the same code line as "where" printed:

     (gdb) s
     <some output>
     (gdb) <hit return repeatedly>

And post all output.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dorothy Robinson <[email-masked]>
Date: Tue, 03 Dec 2002 23:08:00 -0800

The ewmh-mozilla-resize problem turns out to be simpler than I thought.
It happens with no FvwmTaskBar, and resizing at any corner. I removed
my .fvwm2rc entirely, and it still happened with the base configuration.
The Mozilla verson is 1.1. I tried to resize it by grabbing the corner
of the FVWM window decoration.  Resizing other things, including
Nautilus, has no problem.  I tend to be suspicious of all things Gtk
on Solaris, in case you can't tell :-)

I've attached the gdb output you asked for.  This FVWM2 is compiled from
CVS head on Dec 2, which is version 2.5.5, I guess.

Ctl-Alt-Esc did nothing. (is it supposed to on a Sun?)
BTW I've seen this on two machines - my little Ultra 10 at home and
the Blade 2000 I use at work.  They're both running Solaris 8, though
probably different patchlevels. I'm afraid they're both running the same 
Mozilla, too.  I'll try downloading a newer version soon.

Dorothy

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Dorothy Robinson
http://www.twobarleycorns.net

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 4 Dec 2002 12:00:43 +0100

> CVS head on Dec 2, which is version 2.5.5, I guess.

Interesting.  Fvwm should not be in the HandlePropertyNotify()
function at all.  My guess is that either an innfinite number of
PropertyNotify events is generated by the application, or that
fvwm receives the same event again and again.  Can you please add
this code at the front of the HandlePropertyNotify() function in
events.c (line 2526), right after the "DBUG" statement:

---------------------------- snip ---------------------------
fprintf(
	stderr, "pn: ser 0x%x time 0x%x atom 0x%x w 0x%08x '%s'\n",
	(int)te->xproperty.serial, (int)te->xproperty.time,
	(int)te->xproperty.atom, (int)te->xproperty.window,
	(fw) ? fw->visible_name : "(null)");
---------------------------- snip ---------------------------

And post a few lines from the end of the output once it is hung?
THis should confirm either of my theories.  If the numbers "ser"
and "time" do not change, it is the same event again and again.

In any case, can you repeat the single stepping session until it
enters HandlePropertyNotify() for a second time, please?  Just
hold down the return key in gdb and wait until you have seen the
"fprint" from above two times.

> Ctl-Alt-Esc did nothing. (is it supposed to on a Sun?)

It's an fvwm thing to bug out of certain 'hang' conditions.

Bye

Dominik ^_^  ^_^

---

From: Dorothy Robinson <[email-masked]>
Date: Wed, 04 Dec 2002 23:38:44 -0800

I put the code snippet in and captured some of its output, and caught
about 4 HandlePropertyNotify calls in gdb.  Hope this helps.

- dorothy

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Dorothy Robinson
http://www.twobarleycorns.net
pn: ser 0xc38a time 0xed921240 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc391 time 0xed921247 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc398 time 0xed921250 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc39f time 0xed921257 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3a6 time 0xed92125f atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3ad time 0xed921267 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3b4 time 0xed92126f atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3bb time 0xed921277 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3c2 time 0xed92127f atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3c9 time 0xed921287 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3d0 time 0xed92128e atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3d7 time 0xed921296 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3de time 0xed92129f atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3e5 time 0xed9212a6 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3ec time 0xed9212ae atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3f3 time 0xed9212b6 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc3fa time 0xed9212be atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc401 time 0xed9212c6 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc408 time 0xed9212ce atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc40f time 0xed9212d6 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc416 time 0xed9212dd atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc41d time 0xed9212e5 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc424 time 0xed9212ed atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b 'Two Barleycorns Home Page - Mozilla'
pn: ser 0xc42b time 0xed9212f5 atom 0x10e w 0x02000022 'Two Barleycorns Home Page - Mozilla'
pn: ser 0x1d4f time 0x0 atom 0x25 w 0x00c0014b '[1]    Killed               fvwm2
Gdk-ERROR **: X connection to X connection to :0.0 broken (explicit kill or server shutdown).
:0.0 broken (explicit kill or server shutdown).
Script started on Wed 04 Dec 2002 11:09:47 PM PST
[33;1mdorothyr@brigid[~][0m gdb fvwm2 29238
GNU gdb 5.2.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "sparc-sun-solaris2.8"...
Attaching to program `/usr/local/bin/fvwm', process 29238
Reading symbols from /usr/local/lib/libXpm.so.4.11...done.
Loaded symbols for /usr/local/lib/libXpm.so.4.11
Reading symbols from /usr/lib/libSM.so.6...done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6...done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libXext.so.0...done.
Loaded symbols for /usr/lib/libXext.so.0
Reading symbols from /usr/lib/libX11.so.4...done.
Loaded symbols for /usr/lib/libX11.so.4
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/local/lib/libpng12.so.0...done.
Loaded symbols for /usr/local/lib/libpng12.so.0
Reading symbols from /usr/lib/libz.so...done.
Loaded symbols for /usr/lib/libz.so
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/openwin/lib/libdga.so.1...done.
Loaded symbols for /usr/openwin/lib/libdga.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
Reading symbols from /usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2...done.
Loaded symbols for /usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2
Reading symbols from /usr/openwin/lib/locale/common/xlibi18n.so.2...done.
Loaded symbols for /usr/openwin/lib/locale/common/xlibi18n.so.2
Reading symbols from /usr/openwin/lib/locale/iso8859-1/xomEuro.so.2...done.
Loaded symbols for /usr/openwin/lib/locale/iso8859-1/xomEuro.so.2
Retry #1:
Retry #2:
Retry #3:
Retry #4:
[New LWP 1]
Symbols already loaded for /usr/local/lib/libXpm.so.4.11
Symbols already loaded for /usr/lib/libSM.so.6
Symbols already loaded for /usr/lib/libICE.so.6
Symbols already loaded for /usr/lib/libXext.so.0
Symbols already loaded for /usr/lib/libX11.so.4
Symbols already loaded for /usr/lib/libsocket.so.1
Symbols already loaded for /usr/lib/libnsl.so.1
Symbols already loaded for /usr/lib/libm.so.1
Symbols already loaded for /usr/local/lib/libpng12.so.0
Symbols already loaded for /usr/lib/libz.so
Symbols already loaded for /usr/lib/libc.so.1
Symbols already loaded for /usr/lib/libdl.so.1
Symbols already loaded for /usr/openwin/lib/libdga.so.1
Symbols already loaded for /usr/lib/libmp.so.2
Symbols already loaded for /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
Symbols already loaded for /usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2
Symbols already loaded for /usr/openwin/lib/locale/common/xlibi18n.so.2
Symbols already loaded for /usr/openwin/lib/locale/iso8859-1/xomEuro.so.2
0xff01d190 in _poll () from /usr/lib/libc.so.1
(gdb) where
#0  0xff01d190 in _poll () from /usr/lib/libc.so.1
#1  0xfefcd15c in select () from /usr/lib/libc.so.1
#2  0xff21bb58 in _XWaitForReadable () from /usr/lib/libX11.so.4
#3  0xff21b988 in _XRead () from /usr/lib/libX11.so.4
#4  0xff21c904 in _XReply () from /usr/lib/libX11.so.4
#5  0xff223d2c in XSync () from /usr/lib/libX11.so.4
#6  0x0002cbd0 in flush_property_notify (atom=37, w=29360165) at events.c:3745
#7  0x0002b568 in HandlePropertyNotify (ea=0xffbeef10) at events.c:2651
#8  0x00032104 in __resize_window (cond_rc=0x0, exc=0xdace0, action=0xc98c6 "")
    at move_resize.c:3319
#9  0x000324f0 in CMD_Resize (cond_rc=0xffbef25c, exc=0xdace0, action=0xc98c6 "")
    at move_resize.c:3450
#10 0x0006159c in __execute_function (cond_rc=0xffbef25c, exc=0xdac58, action=0xc9840 "$0", 
    exec_flags=224 '€', args=0x980bc) at functions.c:586
#11 0x00061978 in __run_complex_function_items (cond_func_rc=0xffbef25c, cond=109 'm', 
    func=0xd6188, exc=0xdac58, args=0xffbef2e8) at functions.c:771
#12 0x00061fb8 in execute_complex_function (cond_rc=0x0, exc=0xdabd0, 
    action=0x6d <Address 0x6d out of bounds>, desperate=0xffbef2e8) at functions.c:1063
#13 0x000615fc in __execute_function (cond_rc=0xffbef39c, exc=0xcf7b8, 
    action=0xb9890 "FuncFvwmRaiseLowerX Resize", exec_flags=208 'Ï', args=0x0) at functions.c:605
#14 0x00062150 in execute_function (cond_rc=0x0, exc=0xcf7b8, 
    action=0xb97f0 "FuncFvwmRaiseLowerX Resize", exec_flags=0 '\0') at functions.c:1176
#15 0x000288bc in __handle_bpress_action (exc=0xcf7b8, 
    action=0xb97f0 "FuncFvwmRaiseLowerX Resize") at events.c:568
#16 0x00028b00 in __handle_bpress_on_managed (exc=0xcf7b8) at events.c:673
#17 0x00028bdc in HandleButtonPress (ea=0xcf7b8) at events.c:717
#18 0x0002c0e0 in dispatch_event (e=0xffbef6d0) at events.c:3210
#19 0x0002c198 in HandleEvents () at events.c:3248
#20 0x0004b0bc in main (argc=848256, argv=0x94488) at fvwm.c:2412
(gdb) s
Single stepping until exit from function _poll, 
which has no line number information.
0xfefcd15c in select () from /usr/lib/libc.so.1
(gdb) 
Single stepping until exit from function select, 
which has no line number information.
0xff21bb58 in _XWaitForReadable () from /usr/lib/libX11.so.4
(gdb) 
Single stepping until exit from function _XWaitForReadable, 
which has no line number information.
0xff21b988 in _XRead () from /usr/lib/libX11.so.4
(gdb) 
Single stepping until exit from function _XRead, 
which has no line number information.
0xff21c904 in _XReply () from /usr/lib/libX11.so.4
(gdb) 
Single stepping until exit from function _XReply, 
which has no line number information.
0xff223d2c in XSync () from /usr/lib/libX11.so.4
(gdb) 
Single stepping until exit from function XSync, 
which has no line number information.
flush_property_notify (atom=37, w=29360165) at events.c:3746
3746		for (count = 0; FCheckTypedWindowEvent(dpy, w, PropertyNotify, &e);
(gdb) 
FCheckTypedWindowEvent (display=0xbcf70, w=29360165, event_type=28, event_return=0xffbeed60)
    at FEvent.c:312
312		rc = XCheckTypedWindowEvent(display, w, event_type, &fev_event);
(gdb) 
313		if (rc == True)
(gdb) 
315			*event_return = fev_event;
(gdb) 
316			fev_update_last_timestamp(event_return);
(gdb) 
fev_update_last_timestamp (ev=0xb54e8) at FEvent.c:56
56	{
(gdb) 
fev_update_last_timestamp (ev=0xffbeed60) at FEvent.c:59
59		switch (ev->type)
(gdb) 
81			break;
(gdb) 
94		if (new_timestamp > fev_last_timestamp ||
(gdb) 
97			fev_last_timestamp = new_timestamp;
(gdb) 
101	}
(gdb) 
FCheckTypedWindowEvent (display=0x1, w=29360165, event_type=28, event_return=0xffbeed60)
    at FEvent.c:320
320	}
(gdb) 
flush_property_notify (atom=37, w=29360165) at events.c:3749
3749			if (e.xproperty.atom != atom)
(gdb) 
3751				FPutBackEvent(dpy, &e);
(gdb) 
FPutBackEvent (display=0xbcf70, event=0xffbeed60) at FEvent.c:426
426		rc = XPutBackEvent(display, event);
(gdb) 
429	}
(gdb) 
flush_property_notify (atom=37, w=29360165) at events.c:3757
3757	}
(gdb) 
HandlePropertyNotify (ea=0xffbeef10) at events.c:2652
2652			if (HAS_EWMH_WM_ICON_NAME(fw))
(gdb) 
2656			FlocaleGetNameProperty(
(gdb) 
FlocaleGetNameProperty (func=0xb3190 <XGetWMIconName>, dpy=0xbcf70, w=29360165, 
    ret_name=0xffbeee60) at Flocale.c:1570
1570		if (func(dpy, w, &text_prop) == 0)
(gdb) 
1575		if (text_prop.encoding == XA_STRING)
(gdb) 
1600			ret_name->name = (char *)text_prop.value;
(gdb) 
1601			ret_name->name_list = NULL;
(gdb) 
1600			ret_name->name = (char *)text_prop.value;
(gdb) 
1603	}
(gdb) 
HandlePropertyNotify (ea=0xffbeef10) at events.c:2658
2658			if (new_name.name == NULL)
(gdb) 
2662			free_window_names(fw, False, True);
(gdb) 
free_window_names (fw=0xd2aa8, nukename=0, nukeicon=1) at add_window.c:2838
2838		if (!fw)
(gdb) 
2843		if (nukename && fw->visible_name &&
(gdb) 
2892			if ((fw->name.name != fw->icon_name.name) &&
(gdb) 
2895				FlocaleFreeNameProperty(&(fw->icon_name));
(gdb) 
FlocaleFreeNameProperty (ptext=0xd2ab0) at Flocale.c:1607
1607		if (ptext->name_list != NULL)
(gdb) 
1614		else if (ptext->name != NULL)
(gdb) 
1616			XFree(ptext->name);
(gdb) 
1618		ptext->name = NULL;
(gdb) 
free_window_names (fw=0xd2aa8, nukename=0, nukeicon=1) at add_window.c:2896
2896				fw->visible_icon_name = NULL;
(gdb) 
2902	}
(gdb) 
HandlePropertyNotify (ea=0xffbeef10) at events.c:2663
2663			fw->icon_name = new_name;
(gdb) 
2664			if (fw->icon_name.name && strlen(fw->icon_name.name) >
(gdb) 
2671			if (fw->icon_name.name == NULL)
(gdb) 
2670			SET_WAS_ICON_NAME_PROVIDED(fw, 1);
(gdb) 
2671			if (fw->icon_name.name == NULL)
(gdb) 
2676			setup_visible_name(fw, True);
(gdb) 
setup_visible_name (fw=0xd2aa8, is_icon=1) at add_window.c:1522
1522		if (fw == NULL)
(gdb) 
1528		if (is_icon)
(gdb) 
1530			if (fw->visible_icon_name != NULL &&
(gdb) 
1539			setup_icon_name_count(fw);
(gdb) 
setup_icon_name_count (fw=0xd2aa8) at add_window.c:517
517		if (!fw->icon_name.name)
(gdb) 
521		if (fw->name.name &&
(gdb) 
517		if (!fw->icon_name.name)
(gdb) 
521		if (fw->name.name &&
(gdb) 
527		while (!done)
(gdb) 
530			for (t = Scr.FvwmRoot.next; t != NULL; t = t->next)
(gdb) 
532				if (t == fw)
(gdb) 
536				if ((t->icon_name.name &&
(gdb) 
548		}
(gdb) 
549		fw->icon_name_count = count;
(gdb) 
552	}
(gdb) 
setup_visible_name (fw=0xd2aa8, is_icon=1) at add_window.c:1541
1541		}
(gdb) 
1556		if (name == NULL)
(gdb) 
1561		if (count > MAX_WINDOW_NAME_NUMBER - 1)
(gdb) 
1566		if (count != 0 &&
(gdb) 
1578			ext_name = name;
(gdb) 
1581		if (is_icon)
(gdb) 
1584		}
(gdb) 
1591	}
(gdb) 
HandlePropertyNotify (ea=0xffbeef10) at events.c:2677
2677			BroadcastWindowIconNames(fw, False, True);
(gdb) 
BroadcastWindowIconNames (fw=0xd2aa8, window=0, icon=1) at module_interface.c:1333
1333		if (window)
(gdb) : kill
Kill the program being debugged? (y or n) y
(gdb) quit
[33;1mdorothyr@brigid[~][0m 
script done on Wed 04 Dec 2002 11:13:13 PM PST

---

From: [email-masked]
Date: Thu, 5 Dec 2002 11:27:16 +0100

On Wed, Dec 04, 2002 at 11:38:44PM -0800, Dorothy Robinson wrote:
> pn: ser 0x1d4f time 0x0 ...
> pn: ser 0x1d4f time 0x0 ...
> pn: ser 0x1d4f time 0x0 ...
          ^^^^^^      ^^^

As I suspected, the same event gets processed again and again.

> 0xfefcd15c in select () from /usr/lib/libc.so.1
...

I'm sorry, but this is still too short to see what is going on.
You probably just looked for "HandlePropertyNotify" in the output.
That string is printed every time a function call inside
HandlePropertyNotify returns.  May I ask you to repeat the
procedure?  The output should be much longer.  I am sorry that I
have to bother you again, but I can not find the root cause of the
problem by looking at the code, and it works fine on my machine.

Apply this patch to events.c:

------------------------------ snip -----------------------------
*** events.c.orig       Thu Dec  5 11:08:40 2002
--- events.c    Thu Dec  5 11:09:05 2002
***************
*** 2642,2647 ****
--- 2642,2648 ----
                break;
  
        case XA_WM_ICON_NAME:
+ fprintf(stderr,"********************** XA_WM_ICON_NAME\n");
                flush_property_notify(XA_WM_ICON_NAME, FW_W(fw));
                if (HAS_EWMH_WM_ICON_NAME(fw))
                {
------------------------------ snip -----------------------------

(Paste it into a file events.patch and the run
"patch < events.patch" in the fvwm/fvwm directory, or just add the
fprintf line without the '+' manually).

Then, after recompiling and reinstalling, trigger a hang and
attach the debugger as usual.  Note the line number of the fprintf
statement.

Switch to events.c, set a breakpoint at the fprintf statement and
let fvwm run into it

  (gdb) list events.c:1
  <ignore output>
  (gdb) break <line number of fprintf statement>
  (gdb) cont

Fvwm should stop again at the line with the fprintf statement.
Now, single step through the code as before until you come across
the fprintf line again.  This should generate at least several
hundred lines of output.

--

When you generated the necessary output, please fetch the latest
CVS code and check wheter the problem persists.  I fixed a bug
that is related to the debug output, but I do not think it should
fix the problem.  Even if it does, I suspect there must be another
bug.

Bye

Dominik ^_^  ^_^