This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: egcs/Solaris status


craig@jcb-sc.com wrote:
> 
> >  The program crashes randomly (1 failure out of ~100 runs).
> 
> Some programs have inherit exposures to random behavior.  For example,
> games that pick random numbers, programs that are sensitive to timing
> of asynchronous events in their *design* (such as transaction-processing
> programs), and so on.
> 
> But even programs that don't have these inherit exposures can have
> bugs that manifest as random problems due to other factors.
> 
> [...]

Thanks for this very complete explanation of what seems to be the most
probable cause for this problem. If the bug is not in the compiler or
Solaris, it's good news!

> In particular, if a program has a bug involving an uninitialized
> variable, and that variable happens to "live" in the stack frame
> at an appropriate location, it might happen to *normally* end up
> with the "correct" value *except* when it is asynchronously trashed,
> before being used, by a register-window spill operation.
> 
> [...]

Just two questions though. I believe Qt is Purified. Doesn't Purify
detect unitialized variables? Also, is it possible that 'this' is
not initialized? The "corrupted" variable is 'this'.

Qt and its examples are very prone to other asynchronous events - this
is a GUI toolkit. So the cause could be anything indeed :(

> Archives of comp.arch (USENET) might provide more info on this problem,
> and other net resources might exist that offer advice about how to
> search for the source of a bug that might be triggered by a window spill.
> 
> [...]

I'll have a look there. But the whole problem seems rather complicated :(
And I was able to reproduce the problem only once in ~200 runs today.
Maybe because my machine was not under heavy load? I'll just have to
forget the whole thing and upgrade to GCC 2.95.1, I guess. Our Qt programs
are not that mission-critical...

Regards,
--
Dimitri


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]