[gccsdk] Threading + Alt-Break = Trashed Computer
John.Tytgat at aaug.net
Sat Jul 12 09:44:55 PDT 2008
In message <66f698bd4f.Rien at rien/mertens.hccnet.nl>
Rien Mertens <rien.mertens at hccnet.nl> wrote:
> I my opinion this might very well be related to the newer RISC OS
> versions; my RiscPC with RO4.02 does a better job to recover from an
> error with ALT_Break than my A9Home with RO4.42, which is much less
> successful in recovering with ALT_Break. It often fails and results in
> a a stiffed machine without the keyboard or mouse usable anymore,
> b or a machine that can only be reset with the choice CTRL-Break or
> red button..
What we know so far is that this watchdog bug can only be triggered when you
kill a task which is not the current task, i.e. when you have to click one
or more times on 'Next' after pressing <Alt><Break>. And whether or not this
really leads to system instability afterwards depends on the task itself you
killed, i.e. whether it really needs to have its Exit handler called or
So it would be interesting if you could test both OS versions concerning
stability but each time killing the first task avoiding this bug at all.
We enabled the Pre/Post filter code in UnixLib only one year ago
(08 July 2007, both in GCCSDK 3.4.6 r3 as in GCCSDK 4) so basically from
that moment on we need to have our Exit handler called for pthread using
programs. So killing an UnixLib based program using pthreads (like e.g.
Firefox) when it was not the current task made that this watchdog bug will
bring the system down shortly after it. Before that date, you got away it.
At the time you were using RO4.02 it could be very well be that there were
no programs around (or in use by you) which would suffer from this very
same problem. And that you now use a recent Firefox on your A9home which
can trigger this problem...
With other words, so far I'm not convinced that a change in RISC OS is
causing more problems with <Alt><Break> than before.
John Tytgat, in his comfy chair at home BASS
John.Tytgat at aaug.net ARM powered, RISC OS driven
More information about the gcc