On Wed, Feb 06, 2002 at 10:43:12AM -0600, fvwm-bug wrote: > FVWM Bug Tracking notification > > new message incoming/850 > > Message summary for PR#850 > From: [EMAIL PROTECTED] > Subject: deiconify crashes with FvwmIconMan transient and FvwmWinList > transient > Date: Wed, 06 Feb 2002 10:43:11 -0600 > 0 replies 0 followups > > Full_Name: Markus Schwarzenberg > Version: 2.4.5 > CVS_Date: > OS: SunOS 5.7 > X_Server: > Submission from: (NULL) (153.96.96.2) > > > Both FvwmWinList transient and FvwmIconMan transient > make fvwm segfaulting when trying to de-iconify an > iconified window which is shown in their window list: > > The (complete!) .fvwm2rc to reproduce this is simple: > > Mouse 1 1 N Close > Mouse 1 2 N Iconify true > Mouse 1 R A FvwmWinList Transient > > Start fvwm2. Open some windows (xterm, for example) and > iconify a couple of them. Now, when Mouse 1 Btn is hit on the root > window, the window list pops up. Now click an entry of this list > for an iconified window: fvwm2 dies with a segfault, emmitting > the following message (generated in module_interface.c): > > [FVWM][PositiveWrite]: <<ERROR>> Failed to read descriptor from > 'FvwmWinList Tra > nsient': > - data available=Y > - terminate signal=N > > [FVWM][PositiveWrite]: <<ERROR>> Failed to read descriptor from ' > > I'm not quite shure (but I think so) wether the first of these 1.5 > error messages comes from a first (of the same session) try where > fvwm2 still didn't crash. > > This happens with FvwmIconMan and FvwmWinList, so I suppose it's > not (only) a problem of these modules but an fvwm2 internal problem.
It core dumps in PositiveWrite: if (rc <= 0 || read(channel, &targetWindow, sizeof(targetWindow)) != sizeof(targetWindow)) { /* Doh! Something has gone wrong - get rid of the offender!! */ fvwm_msg(ERR, "PositiveWrite", "Failed to read descriptor from '%s':\n" "- data available=%c\n" "- terminate signal=%c\n", #ifndef WITHOUT_KILLMODULE_ALIAS_SUPPORT pipeAlias[module] ? CatString3(pipeName[module], " ", pipeAlias[module]) : pipeName[module], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #else pipeName[module], #endif (FD_ISSET(channel, &readSet) ? 'Y' : 'N'), isTerminated ? 'Y' : 'N'); KillModule(module); break; } Further up un PositiveWrite(), fvwm gets a DeadPipe signal from the closing transient module which destroys pipeAlias[module] and pipeName[module]. Fvwm should detect that situation and not even throw an error message. Bye Dominik ^_^ ^_^ -- Dominik Vogt, email: [EMAIL PROTECTED] LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20 -- 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 PROTECTED] To report problems, send mail to [EMAIL PROTECTED]