Opened 15 years ago

Closed 14 years ago

Last modified 14 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 by Jakub Jermář, 14 years ago

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 by Jakub Jermář, 14 years ago

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