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

- dorothy

Dominik Vogt wrote:

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.



--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
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;[EMAIL PROTECTED] 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;[EMAIL PROTECTED] 
script done on Wed 04 Dec 2002 11:13:13 PM PST

Reply via email to