These panic numbers represent errors which cause the Kernel itself to terminate. When the kernel terminates for the reasons listed here, it is said to fault rather than panic.
The faults themselves are raised by kernel side code.
Note:many of the faults listed here are raised in debug builds only.
0-3
Not used.
4
This fault is raised when a system thread has panicked or terminated causing the entire system to re-boot.
5
Not used.
6
This fault is raised when adding a code segment, a
DCodeSeg
object, to the dependency table of another code segment.
The fault occurs when the number of dependent code segments added exceeds the maximum expected, suggesting some inconsistency.
Note: DCodeSeg
is internal to Symbian OS
7
Not used.
8
This fault is raised when the thread that deals with raw hardware events, as generated by the hardware drivers of a pointer device, a keyboard etc., has terminated. The thread is referred to as the thread event hook.
Note:
The most common cause is the death of the window server "wserv".
Raw hardware events are represented by
TRawEvent
objects.
9
This fault is raised when an attempt to allocate the buffer that is
to contain raw hardware events (as represented by a set of
TRawEvent
objects), cannot be allocated.
10-14
Not used.
15
This fault is raised when a thread or process is panicked or terminated when one of the following is true:
the kernel is locked.
the current thread holds a fast mutex.
16
Not used.
17
Not used.
18
This fault is raised by internal functions, which as part of their
implementation, fetch a DObject
based on the object type,
a TObjectType
type.
The fault occurs when the value representing the object type lies outside the permitted values.
The fault can also be raised by
Kern::ObjectFromHandle()
.
Note:
TObjectType
is internal to
Symbian OS.
19
This fault is raised by a kernel side session
(DSession
) object's destructor if that session has not been
detached from the kernel side server (DServer
) object by the time
the destructor is called.
Note:
DSession
and DServer
are internal to Symbian OS.
20
This fault is raised in debug builds only.
The fault is raised by DSession::Send()
when an
ASSERT, that expects a message to be free, fails.
Note:
DSession
is internal to Symbian OS.
21
Not used.
22
This fault is raised by a kernel side session
(DSession
) object's destructor if there are still messages
outstanding on that session by the time the destructor is called.
Note:
DSession
is internal to Symbian OS.
23
Not used.
24
This fault is raised by a kernel side server (DServer
)
object's destructor if there are sessions still attached to that server by the
time the destructor is called.
Note:
DServer
is internal to Symbian OS.
25
This fault is raised by a kernel side server (DServer
)
object's destructor if that server still has messages that have been delivered
but not yet accepted by the time the destructor is called.
26
This fault is raised by a kernel side server (DServer
)
object's Close()
function if that server still has messages that
have been delivered but not yet accepted.
27
This fault is raised by a kernel side session
(DSession
) object when the server calls its
ClosefromDisconnect()
function to indicate completion of the
disconnection, and the session object's access count is not zero.
Note:
DSession
is internal to Symbian OS.
28
This fault is raised in debug builds only.
This fault is raised when a message is being freed and the message appears to belong to an unknown message pool.
29
This fault is raised by a kernel side session
(DSession
) object's destructor if there are still messages
outstanding on that session by the time the destructor is called.
Note:
DSession
is internal to Symbian OS.
30-40
Not used.
41
This fault is raised when the DFC that is used to restart the
second absolute timer queue (TSecondQ
) finds that the queue is not
locked.
42
This fault is raised by the DLogicalChannel
destructor if there are outstanding messages by the time the destructor is
called.
43
This fault is raised by a kernel side session
(DSession
) object's destructor if the object's access count and
the total client access count are not zero by the time the destructor is
called.
Note:
DSession
is internal to Symbian OS.
44
This fault is raised when the kernel heap is being created and the
specified initial size is less than or equal to the minimum value defined by
KMinHeapSize
.
45-47
Not used.
48
This fault is raised if creation of the machine configuration mutex fails during initialisation of the RAM drive.
49
This fault is raised if creation of a new chunk for the internal RAM drive fails.
50
This fault is raised if creation of the microkernel fails.
51
This fault is raised if the 3rd phase initialisation of the kernel fails.
52
This fault is raised if the startup of kernel extensions fails.
53-56
Not used.
57
This fault is raised if initialisation of the RAM drive fails.
58-62
Not used.
63
This fault acts as a trap if a thread calls
NKern::ThreadKill()
to terminate itself, and the call to
that NKern::ThreadKill()
function returns. When a thread
calls on itself, the call should not return.
64
This fault is raised if an attempt is made to set an invalid timer
type (TTimer::SetType()
).
Note:
TTimer
is internal to Symbian OS.
65
The fault is raised when updating a tick timer queue, and the delta value is greater than the maximum permitted.
66
This fault is raised in debug builds only.
The fault is raised when setting the thread (DThread
)
priority, and the priority value is not a valid value.
Note:
DThread
is internal to Symbian OS.
67
This fault is raised in debug builds only.
This fault is raised when a mutex (DMutex
) is
signalled (DMutex::Signal()
) by the wrong thread.
Note:
DMutex
is internal to Symbian OS.
68
This fault is raised in debug builds only.
This fault is raised when a mutex (DMutex
) is
signalled (DMutex::Signal()
) and the current thread
(DThread
) is not ready to run.
Note:
DMutex
and DThread
are
internal to Symbian OS.
69
This fault is raised in debug builds only.
This fault is raised when a wait is called on a mutex
(DMutex::Wait()
), and the current thread (DThread
) is
not ready to run.
Note:
DMutex
and DThread
are
internal to Symbian OS.
70
This fault is raised in debug builds only.
This fault is raised when a wait is called on a mutex
(DMutex::Wait()
), and the current thread (DThread
) is
blocked, waiting on another object.
Note:
DMutex
and DThread
are
internal to Symbian OS.
71
This fault is raised in debug builds only.
The fault is raised when a semaphore (DSemaphore
) is
signalled and the current thread (DThread
) is not ready to run.
Note:
DSemaphore
and DThread
are internal to Symbian OS.
72
This fault is raised in debug builds only.
The fault is raised when a wait is called on a semaphore
(DSemaphore::Wait()
) and the current thread (DThread
)
is not ready to run.
Note:
DSemaphore
and DThread
are internal to Symbian OS.
73
This fault is raised in debug builds only.
This fault is raised when a wait is called on a semaphore
(DSemaphore::Wait()
), and the current thread
(DThread
) is blocked, waiting on another object.
Note:
DSemaphore
and DThread
are internal to Symbian OS.
74
This fault is raised in debug builds only.
This fault is raised during kernel heap manipulation.
75
This fault is raised by the DLibrary
destructor if the
number of user references on the library, which is equal to the number of
handles on the library opened by the process or by any of its threads, is not
zero.
Note:
DLibrary
is internal to Symbian OS.
76
This fault is raised by DProcess::Release()
if the
number of dynamically loaded code segments attached to this process is not
zero.
Note: the code segments referred to are only those corresponding to DLLs that have been explicitly loaded.
Note:
DProcess
is internal to Symbian OS.
77
This fault is raised during the creation of a code segment if a process data address is invalid.
78
This fault is raised in debug builds only.
This fault is raised when attaching a process to a code segment
(DCodeSeg::SetAttachProcess()
).
The fault occurs if the code segment's iExeCodeSeg
field already points to some process's EXE code segment.
Note:
DCodeSeg
and DProcess
are internal to Symbian OS.
79
This fault is raised when attaching a process to a code segment
(DCodeSeg::SetAttachProcess()
).
The fault occurs if a process (DProcess
) has already
been attached to this code segment.
Note:
DCodeSeg
and DProcess
are internal to Symbian OS.
80
This fault is raised when an essential system thread terminates.
Such a thread is flagged as being permanent
(KThreadFlagSystemPermanent
).
81
This fault is raised in debug builds only.
This fault is raised if creation of the just-in-time handler
(DJitCrashHandler
) fails during the third phase of system
initialisation (Asic::Init3()
).
Note:
DJitCrashHandler
is internal to
Symbian OS.
82
Not used.
83
This fault is raised in debug builds only.
This fault is raised by Kern::ProcessFromId()
if the process container mutex is not held by the current thread.
84
This fault is raised in debug builds only.
This fault is raised by Kern::ThreadFromId()
if the thread container mutex is not held by the current thread.
85
Not used.
86
Not used.
87
This fault is raised in debug builds only.
This fault is raised when an access-counted event handler callback
object, DKernelEventHandler
, is created with a NULL
TCallback
object.
88
This fault is raised in debug builds only.
This fault is raised if attempting to wait on a mutex
(DMutex::Wait()
) that has been created with an order value that
violates the rules that prevent deadlock prevention.
89
This fault is raised in debug builds only.
This fault is raised when waiting on a condition variable object
(DCondVar
) if the current thread is not ready to run.
Note:
DCondVar
is internal to Symbian OS.
90
This fault is raised in debug builds only.
This fault is raised when waiting on a condition variable object
(DCondVar
) if the current (Nanokernel) thread is not in a
recognised state.
Note:
DCondVar
is internal to Symbian OS.
91
This fault is raised in debug builds only.
This fault is raised when waiting on a condition variable object
(DCondVar
) if the current (Symbian OS) thread is not in a
recognised state.
Note:
DCondVar
is internal to Symbian OS.
92
This fault is raised when attempting to unblock a thread in a call
to DCondVar::UnBlockThread()
if the thread state indicates that it
is not suspended waiting on the DCondVar
object.
93
Not used.
94
This fault is raised in a call to
Kern::ThreadKill()
if an attempt is being made to kill a
non-user thread that is also not the currently running thread.