On Thu, Aug 16, 2001 at 10:58:58AM +0100, Tim Phipps wrote:
> fvwm-workers@fvwm.org wrote:
> > 
> > On Wed, Aug 15, 2001 at 08:06:42AM +0200, Olivier Chapuis wrote:
> > > I get a FvwmButtons core dump when I change colorsets and the buttons
> > > contains swallowed shaped app.
> > >
> > > FvwmButtons-WMakerApplets: Cause of next X Error.
> > >    Error: 4 (BadPixmap)
> > >    Major opcode of failed request:  54 (FreePixmap)
> > >    Minor opcode of failed request:  0
> > >    Resource id of failed request:  0x20000a2
> > >  Leaving a core dump now
> 
> > This core dump isn't very helpful.  Obviously an X error occured
> > that was not handled and then the routine that should generate the
> > core dump crashed (probably by accessing an array index of
> > (unsigned char)-1 ).
> 
> I think the routine worked correctly i.e. it called abort(). The X-error
> is included above. Where it originates is another matter, you have to
> run in synchronous mode or guess. From the description it sounds like
> FvwmButtons is trying to free the shape mask (which belongs to the
> swallowed app)

No, look closely:  The core dump occured in error_name(), but the
abort() is in PrintXErrorAndCoredump().  The responsible code
looked like this:

  static char *error_name(unsigned char code)
  {
    if (code > (sizeof(error_names) / sizeof(char *)))
      return "Unknown";
    return error_names[code - 1];
  }

So, if the code was ever called with code == 0, it tried to
access error_names[255].  I believe this is what happened.  Of
course the routine should never have been called with a zero
error code in the first place.

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