Subject: Re: Segfault under cygwin 1.7.62
From: "Stephen J. Turnbull" <[email-masked]>
To: Vin Shelton <[email-masked]>
Cc: The Cygwin Mailing List <[email-masked]>, XEmacs developers <[email-masked]>
Date: Fri, 09 Oct 2009 03:36:19 +0900
List-Id: <cygwin.cygwin.com>

Vin Shelton writes:

 > (gdb) pobj charset
 > Cannot access memory at address 0x4

Urk.  That's unexpected.  You might want to try going up the stack to
frame 1 and trying that.  If that's not more sensible, what does print
charset say?

Diving into the stack

 > #9  0x0056d4d7 in qxe_realpath (path=0x22248c "",
 >     resolved_path=0x22651c
 > "c:/cygwin/tmp/s360339.aoa/\201Ð\201Ð\201Ð\201Ð02ABFx",
 >     links_only=0) at
 > /usr/local/src/xemacs-21.5-test-2009-10-07-mule/src/realpath.c:348

Does the filename above make sense to you?  Is there a
"c:/cygwin/tmp/s360339.aoa" directory?  Does it contain non-ASCII
filenames?

 > #8  0x0056cd68 in readlink_or_correct_case (name=<value optimized out>,
 >     buf=0x21e464
 > "/tmp/s360339.aoa/\201ï\217£\217°\201ï\217£\217°\201ï\217£\217°\201ï\217£\217°02ABFx",
 > size=16383, links_only=0)
 >     at /usr/local/src/xemacs-21.5-test-2009-10-07-mule/src/realpath.c:176

Urk the representation of the filename has changed ...

 > #3  0x005151bc in Lstream_really_write (lstr=0x176ea00,
 >     data=0x148d0c0
 > "c;C:\\cygwin\\cygwin\\tmp\\s360339.aoa\\ï\202\201Ð\201Ð\201Ð\201ï\203\22002ABFxi-string)g)Àâw\001\200ÑH\001Â\200\t",
 > size=53)
 >     at /usr/local/src/xemacs-21.5-test-2009-10-07-mule/src/lstream.c:380

and it changes back to something similar but not identical to the
original.  Note the "ï\202" that got inserted somehow.  The original
stuff at frame #9 is Mule internal coding, but this is not.

 > #1  0x005f05de in unicode_convert (str=0x176ea48,
 >     src=0x148d0e3
 > "ï\202\201Ð\201Ð\201Ð\201ï\203\22002ABFxi-string)g)Àâw\001\200ÑH\001Â\200\t",
 > dst=0x14e8b60, n=17)
 >     at /usr/local/src/xemacs-21.5-test-2009-10-07-mule/src/charset.h:247

And unsurprising we toss in the towel with the stream pointer at
exactly that point in the string.

Time for bed, but maybe somebody else can make something of this.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple