build problem on current cvs

Jacek Caban jack at itma.pwr.wroc.pl
Wed Dec 29 14:26:14 CST 2004


Hello.

>Hello,
>
>this problem confuses me. I have started regession testing. It turn out to be 
>a problem of 'out of tree' builds and the name of the directory containing 
>the cvs tree. If i use the cvs tree as checked out from winehq widl crashes. 
>If i rename the main directory wine of the cvs tree to wine-saved1 widl 
>works. It looks like the length of the name makes this difference wine-123456 
>works also. Shorter names crash widl but in different files. If i build wine 
>in the cvs tree itself it works too.
>
>  
>
I tried to reproduce a youre situation, but even with the same directory 
names widl didn't crash.

>Logfile of gdb session attached.
>
>Thanks Stefan
>  
>
>------------------------------------------------------------------------
>
>GNU gdb 5.3.92
>Copyright 2003 Free Software Foundation, Inc.
>GDB is free software, covered by the GNU General Public License, and you are
>welcome to change it and/or distribute copies of it under certain conditions.
>Type "show copying" to see the conditions.
>There is absolutely no warranty for GDB.  Type "show warranty" for details.
>This GDB was configured as "i586-suse-linux"...
>(gdb) r
>Starting program: /usr/src/wine/wine-build/tools/widl/widl -I../../wine/include -I. -I../../wine/include -I../include -h -H oaidl.h ../../wine/include/oaidl.idl
>
>Program received signal SIGSEGV, Segmentation fault.
>0x4009e05a in _int_malloc () from /lib/i686/libc.so.6
>(gdb) bt
>#0  0x4009e05a in _int_malloc () from /lib/i686/libc.so.6
>#1  0x4009d06c in malloc () from /lib/i686/libc.so.6
>#2  0x080525a0 in pp_xmalloc (size=11) at ../../../wine/libs/wpp/preproc.c:80
>#3  0x0805264a in pp_xstrdup (str=0xbfffec68 "\"11:25:54\"")
>    at ../../../wine/libs/wpp/preproc.c:108
>  
>
It is probably caused by overwritting the allocated memory. The last 
changes of widl look well so I think it is
some old hidden problem. Lookng at code I found a potential bug, but I'm 
not sure if it a bug. In parsers,
both widl's and wpp's, strings are not duplicated whie adding to 
structures. If it helps, I'll see if it is correct at all.
This is included in diffs: wppppy.diff and widl.diff. Could you try it? 
I also found another small bug in wpp, but
it's not what we're looking for. I included it with some code cleanup in 
wpppreproc.diff.

Thanks,
    Jacek
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wppppy.diff
Type: text/x-patch
Size: 791 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20041229/b1d96acc/wppppy.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wpppreproc.diff
Type: text/x-patch
Size: 1790 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20041229/b1d96acc/wpppreproc.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: widl.diff
Type: text/x-patch
Size: 3991 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20041229/b1d96acc/widl.bin


More information about the wine-devel mailing list