Assertion fails in riched20; relay debug segfaults

Vincent Béron vberon at mecano.gme.usherb.ca
Sun May 8 16:41:59 CDT 2005


Le dim 08/05/2005 à 16:53, Dustin Navea a écrit :
> Adrian Harvey wrote:
> > Thanks, Dustin, that sorts the riched problem.   Any ideas as to why the
> > relay trace segfaults though?  That was the bit I thought was
> > interesting... I have now found it will segfault even if wine is not
> > given an executable, so it's happening very early on.
> 
> 
> There are a couple of possible causes.
> 
> 1) Are you using a 64-bit Linux, or 32, and if 64, are you compiling 
> wine to 64-bit?  It defaults (AFAIK) to 32, until you tell it otherwise..

IIRC, Wine doesn't compile yet if x86-64 is the target processor
(Win64), it'll compile as x86 (32 bit) instead. Culprits are some
assembly routines (InterlockedIncrement et al.), plus 32 bit <-> 64 bit
translations (unless we want a "pure" Win64, but I'm sure some apps will
need both at the same time).

So my guess is he's running a 32 bit version.

> 
> 2) Im not sure (anyone else want to comment?), but I think relay was 
> deprecated by +trace, but then again I could be wrong.  If I am right 
> about 2 though, then we should probably either at least fix relay so it 
> doesnt segfault, or just remove it altogether.

relay and trace are two different things: relay is a debug channel
dumping info at each (or almost) function call, while trace is a class
of debug statements shown only when asked. relay is in the same league
as dll, file, opengl, while trace is in the same league as fixme, err
and message.

Relay shouldn't segfault, and it's still supported. I guess Adrian (if
nobody else can reproduce) will need to add further traces or go through
it with a debugger.

Vincent





More information about the wine-devel mailing list