crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN.htm
author Matti Laitinen <matti.t.laitinen@nokia.com>
Thu, 11 Feb 2010 15:06:45 +0200
changeset 0 5ad7ad99af01
permissions -rw-r--r--
Initial version of CrashAnalyser under EPL

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