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]

Reply via email to