Subject: Re: bug#8562: Emacs 23.1 and later don't work in windows 98

From: Eli Zaretskii <[email-masked]>
Date: Mon, 23 May 2011 20:39:16 +0300

> Date: Sun, 22 May 2011 23:32:22 +0200
> From: oslsachem <[email-masked]>
> Cc: [email-masked]
> 
> I have tried building Emacs-23.3 under windows XP and debugging it
> under windows 98 (by copying the whole directory). It hangs showing a
> fatal error too, but at least the initial Emacs window appears (though
> still at that small size)
> 
> http://www.speedyshare.com/files/28593350/Emacs-23.3GDBWXPW98.txt

Thank you for all your efforts.  I think we are getting somewhere.

> Program received signal SIGSEGV, Segmentation fault.
> 0x01051020 in display_mode_line (w=0x3495c00, face_id=MODE_LINE_FACE_ID, 
>     format=46642574) at xdisp.c:17289
> 17289	      last->right_box_line_p = 1;
> (gdb) warning: clipped frame 03495000 (EMACS@OEMCOMPUTER) got WM_PAINT - ignored
> 
> list
> 17284	  extend_face_to_end_of_line (&it);
> 17285	  if (face->box != FACE_NO_BOX)
> 17286	    {
> 17287	      struct glyph *last = (it.glyph_row->glyphs[TEXT_AREA]
> 17288				    + it.glyph_row->used[TEXT_AREA] - 1);
> 17289	      last->right_box_line_p = 1;
> 17290	    }
> 17291	
> 17292	  return it.glyph_row->height;
> 17293	}

As Jason requested, please show the values of
it.glyph_row->glyphs[TEXT_AREA] and it.glyph_row->used[TEXT_AREA].

I suspect that the former is a valid address, but the latter is zero.

I think at this stage we need more help from Emacs.  I'm sorry to ask
you to do another build, but could you perhaps compile Emacs again (on
Windows XP will probably be the best in terms of not wasting too much
of your time), and this time manually edit src/makefile to add the
following compiler flags to CFLAGS:

   -DENABLE_CHECKING -DXASSERTS

Then delete src/oo/i386/*.o and type "make" again.

This will enable additional checking in various places in Emacs.  If
we are lucky, you will see Emacs aborting somewhere earlier during its
startup, and that will hopefully show us the problem which leads to
this crash.

Thanks again.