Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 11 years ago

Closed 9 years ago

Last modified 9 years ago

#31 closed enhancement (fixed)

Revision of panics

Reported by: Martin Decky Owned by: Martin Decky
Priority: minor Milestone: 0.4.3
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Revise all uses of panic() and if it is possible and reasonable, try to make the code fail safe (i.e. proceed in a degraded mode without panicking).

Change History (2)

comment:1 Changed 9 years ago by Jakub Jermář

Component: unspecified
Resolution: fixed
Status: newclosed

During my recent work on the Unified Panic Architecture, I went through almost
all calls to panic(). I fixed a couple of instances of this ticket, where the
use of panic() was apparently too conservative, such as in:

changeset:mainline,605.1.1
changeset:mainline,551.1.8

I also logged tickets for cases where the code which unconditionally calls
panic() needs improvements:

#249 arm32 load/store decoder is too limited

There are perhaps other instances of this ticket (but hopefully not that many),
i.e. calls to panic() that should try to do something else first. These places
needn't necessarily be calls to function panic() (or a derivative), but also
various ASSERT()s and userspace abort()s and assert()s. But I don't think that
those should be covered by a generic ticket like this one. Instead, when they
are discovered, they should be eliminated one by one, possibly each having its
dedicated ticket. Or else this ticket will be left open for ever.

comment:2 Changed 9 years ago by Jakub Jermář

Milestone: 0.5.10.5.0
Note: See TracTickets for help on using tickets.