crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/KERN-EXEC.htm
changeset 0 5ad7ad99af01
equal deleted inserted replaced
-1:000000000000 0:5ad7ad99af01
       
     1 <h1>KERN-EXEC</h1>
       
     2 <p>
       
     3 These panics represent program errors which are detected by the Kernel
       
     4 Executive. Typically, they are caused by passing bad or contradictory
       
     5 parameters to functions. Threads which cause exceptions also raise a KERN-EXEC
       
     6 panic. 
       
     7 </p>
       
     8 <p>
       
     9 The thread causing the panic is terminated. 
       
    10 </p>
       
    11 <code>0</code>
       
    12 <p>
       
    13 This panic is raised when the Kernel cannot find an object in the
       
    14 object index for the current process or current thread using the specified
       
    15 object index number (the raw handle number). 
       
    16 </p>
       
    17 <p>
       
    18 The most common reason for this is trying to use a kernel-side
       
    19 resource without first having sucessfully created it or sucessfully opened it.
       
    20 Typically, such resources are created or opened through user side handles,
       
    21 which are instances of classes derived from <a href="../reference-cpp/E32_EKA2/RHandleBaseClass.html#%3a%3aRHandleBase" title="class RHandleBase"><code class="ApiItem">RHandleBase</code></a>,
       
    22 for example, <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary" title="class RLibrary"><code class="ApiItem">RLibrary</code></a>, <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread" title="class RThread"><code class="ApiItem">RThread</code></a>,
       
    23 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess" title="class RProcess"><code class="ApiItem">RProcess</code></a>, <a href="../reference-cpp/E32_EKA2/RSemaphoreClass.html#%3a%3aRSemaphore" title="class RSemaphore"><code class="ApiItem">RSemaphore</code></a> etc. [Note that
       
    24 this list is not exhaustive].
       
    25 </p>
       
    26 <p>
       
    27 For example, a call to <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary%3a%3aLookup%28%29" title="function RLibrary::Lookup()"><code class="ApiItem">RLibrary::Lookup()</code></a>
       
    28 panics with KERN-EXEC 0 if not preceded by a successful call to
       
    29 <a href="../reference-cpp/E32_EKA2/RLibraryClass.html#%3a%3aRLibrary%3a%3aLoad%28%29" title="function RLibrary::Load()"><code class="ApiItem">RLibrary::Load()</code></a>. 
       
    30 </p>
       
    31 <code>1</code>
       
    32 <p>
       
    33 This is a general panic raised as a result of trying an
       
    34 unauthorised activity such as trying to suspend a thread, to set the priority
       
    35 of a thread or to set the priority of a process, when not authorised to do so. 
       
    36 </p>
       
    37 <code>2</code>
       
    38 <p>
       
    39 This panic is raised by the kernel when opening a kernel side
       
    40 object, a <a href="../reference-cpp/E32_EKA2/DObjectClass.html#%3a%3aDObject" title="class DObject"><code class="ApiItem">DObject</code></a> type, and the fullname is invalid. 
       
    41 </p>
       
    42 <p>
       
    43 The fullname is deemed to be invalid if it contains a character
       
    44 that is not one of the printable characters lying between 0x20 and 0x7e
       
    45 inclusive, or it contains an asterisk or a question mark. 
       
    46 </p>
       
    47 <p>
       
    48 See also <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aValidateFullName%28%29" title="function Kern::ValidateFullName()"><code class="ApiItem">Kern::ValidateFullName()</code></a>. 
       
    49 </p>
       
    50 <code>3</code>
       
    51 <p>
       
    52 This panic is raised when an unhandled exception occurs. Exceptions
       
    53 have many causes, but the most common are access violations caused, for
       
    54 example, by dereferencing NULL. Among other possible causes are: general
       
    55 protection faults, executing an invalid instruction, alignment checks, etc. 
       
    56 </p>
       
    57 <code>4</code>
       
    58 <p>
       
    59 This panic is not used. 
       
    60 </p>
       
    61 <code>5</code>
       
    62 <p>
       
    63 This panic is not used. 
       
    64 </p>
       
    65 <code>6</code>
       
    66 <p>
       
    67 This panic is raised by the kernel when a handle to a code segment
       
    68 is invalid. 
       
    69 </p>
       
    70 <code>7</code>
       
    71 <p>
       
    72 This panic is not used. 
       
    73 </p>
       
    74 <code>8</code>
       
    75 <p>
       
    76 This panic is not used. 
       
    77 </p>
       
    78 <code>9</code>
       
    79 <p>
       
    80 This is a general type of panic that is usually raised by a device
       
    81 driver when dealing with an asynchronous request, and it finds that an
       
    82 asynchronous request is already outstanding. For an example of the context in
       
    83 which this is raised, see
       
    84 <code class="filename">...\cedar\e32test\examples\driver1\driver1_ldd.cpp</code>. 
       
    85 </p>
       
    86 <p>
       
    87 This panic is also raised when trying to subscribe to a property
       
    88 through a call to <a href="../reference-cpp/E32_EKA2/RPropertyClass.html#%3a%3aRProperty%3a%3aSubscribe%28%29" title="function RProperty::Subscribe()"><code class="ApiItem">RProperty::Subscribe()</code></a> and there is
       
    89 already an outstanding subscription on this property handle. 
       
    90 </p>
       
    91 <code>10</code>
       
    92 <p>
       
    93 This panic is raised by
       
    94 <a href="../reference-cpp/E32_EKA2/DLogicalChannelClass.html#%3a%3aDLogicalChannel%3a%3aRequest%28%29" title="function DLogicalChannel::Request()"><code class="ApiItem">DLogicalChannel::Request()</code></a> when the request number passed
       
    95 to the function is smaller than the permitted minimum. 
       
    96 </p>
       
    97 <p>
       
    98 See also <a href="../reference-cpp/E32_EKA2/DLogicalChannelClass.html#%3a%3aDLogicalChannel%3a%3aEMinRequestId" title="field DLogicalChannel::EMinRequestId"><code class="ApiItem">DLogicalChannel::EMinRequestId</code></a>. 
       
    99 </p>
       
   100 <code>11</code>
       
   101 <p>
       
   102 This panic is raised when creating a logical channel, and the unit number is outside the permitted range: 
       
   103 </p>
       
   104 <p>
       
   105 If unit numbers are not permitted, the unit number value must
       
   106 be <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKNullUnit" title="field KNullUnit"><code class="ApiItem">KNullUnit</code></a>. 
       
   107 </p>
       
   108 <p>
       
   109 If unit numbers are permitted, the unit number value must be
       
   110 less than <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKMaxUnits" title="field KMaxUnits"><code class="ApiItem">KMaxUnits</code></a>. 
       
   111 </p>
       
   112 <p>
       
   113 A logical channel is created as a result of a call to
       
   114 <a href="../reference-cpp/E32_EKA2/RBusLogicalChannelClass.html#%3a%3aRBusLogicalChannel%3a%3aDoCreate%28%29" title="function RBusLogicalChannel::DoCreate()"><code class="ApiItem">RBusLogicalChannel::DoCreate()</code></a>. 
       
   115 </p>
       
   116 <code>12</code>
       
   117 <p>
       
   118 This panic is raised by the kernel if an event capture hook has already been designated. 
       
   119 </p>
       
   120 <code>13</code>
       
   121 <p>
       
   122 This panic is raised by the kernel if the current thread is not the designated event capture hook. 
       
   123 </p>
       
   124 <code>14</code>
       
   125 <p>
       
   126 This panic is raised when an attempt is made to set the priority of
       
   127 a thread or process to an illegal value. 
       
   128 </p>
       
   129 <p>
       
   130 The permitted priority values for a user process are a subset of
       
   131 the values defined by the <a href="../reference-cpp/E32_EKA2/TProcessPriorityEnum.html#%3a%3aTProcessPriority" title="enum TProcessPriority"><code class="ApiItem">TProcessPriority</code></a> enum. The
       
   132 permitted values are: 
       
   133 </p>
       
   134 <code> EPriorityLow
       
   135 </code>
       
   136 <p>
       
   137 <code>EPriorityBackground
       
   138 </code>
       
   139 </p>
       
   140 <p>
       
   141 <code>EPriorityForeground
       
   142 </code>
       
   143 </p>
       
   144 <p>
       
   145 <code>EPriorityHigh
       
   146 </code>
       
   147 </p>
       
   148 <p>
       
   149 The permitted priority values for a user thread are a subset of the
       
   150 values defined by the <a href="../reference-cpp/E32_EKA2/TThreadPriorityEnum.html#%3a%3aTThreadPriority" title="enum TThreadPriority"><code class="ApiItem">TThreadPriority</code></a> enum. The permitted
       
   151 values are: 
       
   152 </p>
       
   153 <p>
       
   154 <code> EPriorityMuchLess
       
   155 </code>
       
   156 </p>
       
   157 <p>
       
   158 <code> EPriorityLess
       
   159 </code>
       
   160 </p>
       
   161 <p>
       
   162 <code> EPriorityNormal
       
   163 </code>
       
   164 </p>
       
   165 <p>
       
   166 <code>EPriorityMore
       
   167 </code>
       
   168 </p>
       
   169 <p>
       
   170 <code> EPriorityMuchMore
       
   171 </code>
       
   172 </p>
       
   173 <code>EPriorityRealTime
       
   174 </code>
       
   175 </p>
       
   176 <p>
       
   177 <code>EPriorityAbsoluteVeryLow
       
   178 </code>
       
   179 </p>
       
   180 <p>
       
   181 <code> EPriorityAbsoluteLow
       
   182 </code>
       
   183 </p>
       
   184 <p>
       
   185 <code> EPriorityAbsoluteBackground
       
   186 </code>
       
   187 </p>
       
   188 <p>
       
   189 <code> EPriorityAbsoluteForeground
       
   190 </code>
       
   191 </p>
       
   192 <p>
       
   193 <code> EPriorityAbsoluteHigh
       
   194 </code>
       
   195 </p>
       
   196 <code>15</code>
       
   197 <p>
       
   198 This panic is raised when a timer event is requested from an
       
   199 asynchronous timer service, an <a href="../reference-cpp/E32_EKA2/RTimerClass.html#%3a%3aRTimer" title="class RTimer"><code class="ApiItem">RTimer</code></a>, and a timer event
       
   200 is already outstanding. It is caused by calling either the <code>At()</code>,
       
   201 <code>After()</code> or <code>Lock()</code> member functions after a previous
       
   202 call to any of these functions, but before the timer event requested by those
       
   203 functions has completed. 
       
   204 </p>
       
   205 <code>16</code>
       
   206 <p>
       
   207 This panic is not used. 
       
   208 </p>
       
   209 <code>17</code>
       
   210 <p>
       
   211 The panic is raised if kernel heap checking has failed. 
       
   212 </p>
       
   213 <code>18</code>
       
   214 <p>
       
   215 This panic is not used. 
       
   216 </p>
       
   217 <code>19</code>
       
   218 <p>
       
   219 This panic is raised by the Kernel when a server program makes a
       
   220 request to receive a message, i.e. when it calls the <code>Receive()</code>
       
   221 member function of <code>RServer2</code>, the handle to the Kernel side server
       
   222 object. The panic occurs when a receive message request has previously been
       
   223 made and is still outstanding. 
       
   224 </p>
       
   225 <p>
       
   226 Note that <code>RServer2</code> is internal to Symbian 
       
   227 </p>
       
   228 <code>20</code>
       
   229 <p>
       
   230 This panic is raised by the Kernel when a request for an event, as
       
   231 originated by a call to <code>UserSvr::RequestEvent()</code>, defined in
       
   232 <code class="filename">e32svr.h</code>, is made while a previously made request is still
       
   233 outstanding. 
       
   234 </p>
       
   235 <code>21</code>
       
   236 <p>
       
   237 This panic is not used. 
       
   238 </p>
       
   239 <code>22</code>
       
   240 <p>
       
   241 This panic is not used. 
       
   242 </p>
       
   243 <code>23</code>
       
   244 <p>
       
   245 This panic is raised in a call to
       
   246 <a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase%3a%3aShareAuto%28%29" title="function RSessionBase::ShareAuto()"><code class="ApiItem">RSessionBase::ShareAuto()</code></a> or
       
   247 <a href="../reference-cpp/E32_EKA2/RSessionBaseClass.html#%3a%3aRSessionBase%3a%3aShareProtected%28%29" title="function RSessionBase::ShareProtected()"><code class="ApiItem">RSessionBase::ShareProtected()</code></a>, i.e. when attempting to
       
   248 create a session with a server that can be shared, and the server does not
       
   249 allow or support shared sessions. 
       
   250 </p>
       
   251 <code>24</code>
       
   252 <p>
       
   253 This panic is raised when writing global DLL data, and the length
       
   254 of data to be written is greater than the space available. 
       
   255 </p>
       
   256 <code>25</code>
       
   257 <p>
       
   258 This panic is raised when searching for objects, using the internal
       
   259 function <code>TFindHandleBase::NextObject()</code>, and an invalid type of
       
   260 object is specified; i.e. it is not a thread, process, chunk, mutex etc. etc. 
       
   261 </p>
       
   262 <code>26</code>
       
   263 <p>
       
   264 This panic is raised by kernel side code that implements heap
       
   265 debugging behaviour, when a specific debug request is not recognised. 
       
   266 </p>
       
   267 <code>27</code>
       
   268 <p>
       
   269 This panic is raised when an executive call is made with an invalid
       
   270 call number. 
       
   271 </p>
       
   272 <code>28</code>
       
   273 <p>
       
   274 This panic is not used. 
       
   275 </p>
       
   276 <code>29</code>
       
   277 <p>
       
   278 This panic is not used. 
       
   279 </p>
       
   280 <code>30</code>
       
   281 <p>
       
   282 This panic is raised when an attempt is being made to send a
       
   283 synchronous message to a server more than once, using the current thread's
       
   284 dedicated synchronous message. 
       
   285 </p>
       
   286 <code>31</code>
       
   287 <p>
       
   288 This panic is not used. 
       
   289 </p>
       
   290 <code>32</code>
       
   291 <p>
       
   292 This panic is called by <code>DProcess::Resume()</code> when trying
       
   293 to resume a process that is still being loaded. 
       
   294 </p>
       
   295 <code>33</code>
       
   296 <p>
       
   297 This panic is raised in a call to
       
   298 <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesInfo%28%29" title="function Kern::KUDesInfo()"><code class="ApiItem">Kern::KUDesInfo()</code></a>, <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a>
       
   299 etc, when an invalid descriptor is passed. 
       
   300 </p>
       
   301 <code>34</code>
       
   302 <p>
       
   303 This panic is raised in a call to
       
   304 <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesSetLength%28%29" title="function Kern::KUDesSetLength()"><code class="ApiItem">Kern::KUDesSetLength()</code></a> &amp;
       
   305 <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a> when the descriptor passed to it is not a
       
   306 modifiable type; i.e. is derived from <a href="../reference-cpp/E32_EKA2/TDesCTypedef.html#%3a%3aTDesC" title="typedef TDesC"><code class="ApiItem">TDesC</code></a> but not
       
   307 derived from <a href="../reference-cpp/E32_EKA2/TDesTypedef.html#%3a%3aTDes" title="typedef TDes"><code class="ApiItem">TDes</code></a>. 
       
   308 </p>
       
   309 <code>35</code>
       
   310 <p>
       
   311 This panic is raised in a call to
       
   312 <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesSetLength%28%29" title="function Kern::KUDesSetLength()"><code class="ApiItem">Kern::KUDesSetLength()</code></a> &amp;
       
   313 <a href="../reference-cpp/E32_EKA2/KernClass.html#%3a%3aKern%3a%3aKUDesPut%28%29" title="function Kern::KUDesPut()"><code class="ApiItem">Kern::KUDesPut()</code></a> when the length of the source descriptor
       
   314 is longer than the maximum length of the target descriptor. 
       
   315 </p>
       
   316 <code>36</code>
       
   317 <p>
       
   318 This panic is raised by the kernel side code that implements the
       
   319 setting of the currency symbol when the length of the currency symbol is
       
   320 greater than <a href="../reference-cpp/E32_EKA2/e32const.hVariables.html#%3a%3aKMaxCurrencySymbol" title="field KMaxCurrencySymbol"><code class="ApiItem">KMaxCurrencySymbol</code></a>. 
       
   321 </p>
       
   322 <code>37</code>
       
   323 <p>
       
   324 This panic is raised by kernel code when it tries to acquire the
       
   325 process DLL lock just before a load, and the wait DLL lock is invalid. 
       
   326 </p>
       
   327 <code>38</code>
       
   328 <p>
       
   329 This panic is raised by internal kernel code when an illegal
       
   330 attempt is made to attach to a library. 
       
   331 </p>
       
   332 <code>39</code>
       
   333 <p>
       
   334 This panic is raised when extracting a list of DLL entry points,
       
   335 and the number exceeds the maximum permitted. 
       
   336 </p>
       
   337 <code>40</code>
       
   338 <p>
       
   339 This panic is raised by internal kernel code when an illegal
       
   340 attempt is made to detach a library. 
       
   341 </p>
       
   342 <code>41</code>
       
   343 <p>
       
   344 This panic is raised by internal kernel code when an illegal
       
   345 attempt is made to attach to a library. 
       
   346 </p>
       
   347 <code>42</code>
       
   348 <p>
       
   349 This panic is raised by internal kernel code when an illegal
       
   350 attempt is made to detach a library. 
       
   351 </p>
       
   352 <code>43</code>
       
   353 <p>
       
   354 This panic is raised by kernel code when it tries to release the
       
   355 process DLL lock when a load fails, and the release DLL lock is invalid. 
       
   356 </p>
       
   357 <code>44</code>
       
   358 <p>
       
   359 This panic is raised when a bad message handle is passed to the
       
   360 kernel. This usually occurs when using functions called on the
       
   361 <a href="../reference-cpp/E32_EKA2/RMessagePtr2Class.html#%3a%3aRMessagePtr2" title="class RMessagePtr2"><code class="ApiItem">RMessagePtr2</code></a> or <a href="../reference-cpp/E32_EKA2/RMessage2Class.html#%3a%3aRMessage2" title="class RMessage2"><code class="ApiItem">RMessage2</code></a> classes
       
   362 after the message has been completed; or when the <code>iHandle</code> data
       
   363 member of the base class <a href="../reference-cpp/E32_EKA2/RHandleBaseClass.html#%3a%3aRHandleBase" title="class RHandleBase"><code class="ApiItem">RHandleBase</code></a> has become corrupt. 
       
   364 </p>
       
   365 <code>45</code>
       
   366 <p>
       
   367 This panic is not used. 
       
   368 </p>
       
   369 <code>46</code>
       
   370 <p>
       
   371 This panic can be raised as a result of a call to one of a large
       
   372 number of functions. In general, the panic indicates an attempt to perform an
       
   373 operation on a thread or process by code running in another process - violating
       
   374 the security principle of process isolation. 
       
   375 </p>
       
   376 <p>
       
   377 There are exceptions to this general rule, for example, where the
       
   378 panic is raised because the calling process has insufficient capability. The
       
   379 precise reason is stated with the function(s). 
       
   380 </p>
       
   381 <p>
       
   382 The panic is raised on a call to the following function if the
       
   383 process owning the thread performing the call is not the creator of the target
       
   384 process or, if a handle is specified, the handle is not local. 
       
   385 </p>
       
   386 <p>
       
   387 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aSetParameter%28%29" title="function RProcess::SetParameter()"><code class="ApiItem">RProcess::SetParameter()</code></a>
       
   388 </p>
       
   389 <p>
       
   390 The panic is raised on a call to the following functions if the
       
   391 process owning the thread performing the call is not the same as the target
       
   392 process. 
       
   393 </p>
       
   394 <p>
       
   395 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aKill%28%29" title="function RProcess::Kill()"><code class="ApiItem">RProcess::Kill()</code></a>
       
   396 </p>
       
   397 <p>
       
   398 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aTerminate%28%29" title="function RProcess::Terminate()"><code class="ApiItem">RProcess::Terminate()</code></a>
       
   399 </p>
       
   400 <p>
       
   401 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aPanic%28%29" title="function RProcess::Panic()"><code class="ApiItem">RProcess::Panic()</code></a>
       
   402 </p>
       
   403 <p>
       
   404 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aSetJustInTime%28%29" title="function RProcess::SetJustInTime()"><code class="ApiItem">RProcess::SetJustInTime()</code></a>
       
   405 </p>
       
   406 <p>
       
   407 <a href="../reference-cpp/E32_EKA2/RProcessClass.html#%3a%3aRProcess%3a%3aResume%28%29" title="function RProcess::Resume()"><code class="ApiItem">RProcess::Resume()</code></a>
       
   408 </p>
       
   409 <p>
       
   410 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aKill%28%29" title="function RThread::Kill()"><code class="ApiItem">RThread::Kill()</code></a>
       
   411 </p>
       
   412 <p>
       
   413 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aTerminate%28%29" title="function RThread::Terminate()"><code class="ApiItem">RThread::Terminate()</code></a>
       
   414 </p>
       
   415 <p>
       
   416 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aPanic%28%29" title="function RThread::Panic()"><code class="ApiItem">RThread::Panic()</code></a>
       
   417 </p>
       
   418 <p>
       
   419 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aSuspend%28%29" title="function RThread::Suspend()"><code class="ApiItem">RThread::Suspend()</code></a>
       
   420 </p>
       
   421 <p>
       
   422 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aResume%28%29" title="function RThread::Resume()"><code class="ApiItem">RThread::Resume()</code></a>
       
   423 </p>
       
   424 <p>
       
   425 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aSetPriority%28%29" title="function RThread::SetPriority()"><code class="ApiItem">RThread::SetPriority()</code></a>
       
   426 </p>
       
   427 <p>
       
   428 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aRequestComplete%28%29" title="function RThread::RequestComplete()"><code class="ApiItem">RThread::RequestComplete()</code></a>
       
   429 </p>
       
   430 <p>
       
   431 <a href="../reference-cpp/E32_EKA2/RThreadClass.html#%3a%3aRThread%3a%3aRequestSignal%28%29" title="function RThread::RequestSignal()"><code class="ApiItem">RThread::RequestSignal()</code></a>
       
   432 </p>
       
   433 <p>
       
   434 NOTE: the creator of a new process can kill or panic the new
       
   435 process, change the new process priority and set the new process startup
       
   436 parameters until the process is resumed (which the creator can also do). After
       
   437 the new process has been resumed, then it becomes totally independent of its
       
   438 creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46
       
   439 panic. 
       
   440 </p>
       
   441 <p>
       
   442 The panic is raised on call to the following (Symbian partner
       
   443 only) functions if the calling process does not have the <em>PowerMgmt</em>
       
   444 capability (<code class="ApiItem">TCapability::ECapabilityPowerMgmt</code>): 
       
   445 </p>
       
   446 <p>
       
   447 <a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aPowerDown%28%29" title="function Power::PowerDown()"><code class="ApiItem">Power::PowerDown()</code></a>
       
   448 </p>
       
   449 <p>
       
   450 <a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aEnableWakeupEvents%28%29" title="function Power::EnableWakeupEvents()"><code class="ApiItem">Power::EnableWakeupEvents()</code></a>
       
   451 </p>
       
   452 <p>
       
   453 <a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aDisableWakeupEvents%28%29" title="function Power::DisableWakeupEvents()"><code class="ApiItem">Power::DisableWakeupEvents()</code></a>
       
   454 </p>
       
   455 <p>
       
   456 <a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aRequestWakeupEventNotification%28%29" title="function Power::RequestWakeupEventNotification()"><code class="ApiItem">Power::RequestWakeupEventNotification()</code></a>
       
   457 </p>
       
   458 <p>
       
   459 <a href="../reference-cpp/E32_EKA2/PowerClass.html#%3a%3aPower%3a%3aCancelWakeupEventNotification%28%29" title="function Power::CancelWakeupEventNotification()"><code class="ApiItem">Power::CancelWakeupEventNotification()</code></a>
       
   460 </p>
       
   461 <p>
       
   462 The panic is raised on call to the following functions if the
       
   463 calling process does not have the <em>WriteDeviceData</em> capability
       
   464 (<code class="ApiItem">TCapability::ECapabilityWriteDeviceData</code>): 
       
   465 </p>
       
   466 <p>
       
   467 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetMachineConfiguration%28%29" title="function User::SetMachineConfiguration()"><code class="ApiItem">User::SetMachineConfiguration()</code></a>
       
   468 </p>
       
   469 <p>
       
   470 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetHomeTime%28%29" title="function User::SetHomeTime()"><code class="ApiItem">User::SetHomeTime()</code></a>
       
   471 </p>
       
   472 <p>
       
   473 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCTime%28%29" title="function User::SetUTCTime()"><code class="ApiItem">User::SetUTCTime()</code></a>
       
   474 </p>
       
   475 <p>
       
   476 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCOffset%28%29" title="function User::SetUTCOffset()"><code class="ApiItem">User::SetUTCOffset()</code></a>
       
   477 </p>
       
   478 <p>
       
   479 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aSetUTCTimeAndOffset%28%29" title="function User::SetUTCTimeAndOffset()"><code class="ApiItem">User::SetUTCTimeAndOffset()</code></a>
       
   480 </p>
       
   481 <p>
       
   482 The panic is raised on call to the following function if the
       
   483 calling process does not have the <em>ReadDeviceData</em> capability
       
   484 (<code class="ApiItem">TCapability::ECapabilityReadDeviceData</code>): 
       
   485 </p>
       
   486 <p>
       
   487 <a href="../reference-cpp/E32_EKA2/UserClass.html#%3a%3aUser%3a%3aMachineConfiguration%28%29" title="function User::MachineConfiguration()"><code class="ApiItem">User::MachineConfiguration()</code></a>
       
   488 </p>
       
   489 <code>47</code>
       
   490 <p>
       
   491 This panic is raised when the user issues a request to be notified
       
   492 of messages or the availability of space, when a request has already been
       
   493 issued and is still outstanding. 
       
   494 </p>
       
   495 <p>
       
   496 See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
       
   497 </p>
       
   498 <code>48</code>
       
   499 <p>
       
   500 This panic is raised when creating a message queue, and the size of
       
   501 the template parameter is invalid. 
       
   502 </p>
       
   503 <p>
       
   504 See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
       
   505 </p>
       
   506 <code>49</code>
       
   507 <p>
       
   508 This panic is raised when creating a message queue, and the
       
   509 specified number of slots is not positive. 
       
   510 </p>
       
   511 <p>
       
   512 See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
       
   513 </p>
       
   514 <code>50</code>
       
   515 <p>
       
   516 This panic is raised if an attempt is made to cancel an outstanding
       
   517 request to be notified of messages or the availability of space, and the cancel
       
   518 is being made by a thread in a different process to the one from which the
       
   519 request was originally made. 
       
   520 </p>
       
   521 <p>
       
   522 See <a href="../reference-cpp/E32_EKA2/RMsgQueueClass.html#%3a%3aRMsgQueue" title="class RMsgQueue"><code class="ApiItem">RMsgQueue</code></a>, asynchronous message queues. 
       
   523 </p>
       
   524 <code>51</code>
       
   525 <p>
       
   526 This panic is raised by <code>RProcess::Setparameter()</code> if a
       
   527 slot value is invalid. 
       
   528 </p>
       
   529 <code>52</code>
       
   530 <p>
       
   531 This panic is raised by <code>RProcess::Setparameter()</code> if a
       
   532 slot is in use. 
       
   533 </p>
       
   534 <code>53</code>
       
   535 <p>
       
   536 This panic is raised by <code>RProcess::Setparameter()</code> if
       
   537 the length of the data passed is negative. 
       
   538 </p>
       
   539 <code>54</code>
       
   540 <p>
       
   541 This panic is raised by <a href="../reference-cpp/E32_EKA2/RCondVarClass.html#%3a%3aRCondVar%3a%3aWait%28%29" title="function RCondVar::Wait()"><code class="ApiItem">RCondVar::Wait()</code></a> when
       
   542 the current thread does not hold the specified mutex. 
       
   543 </p>
       
   544 <code>55</code>
       
   545 <p>
       
   546 This panic is raised when a call is made to <code>RThread::GetDesMaxLength()</code>, which is now obsolete. 
       
   547 </p>
       
   548 <code>56</code>
       
   549 <p>
       
   550 This panic is raised on a process which has not yet been resumed,
       
   551 and whose creator has died. 
       
   552 </p>
       
   553 <code>57</code>
       
   554 <p>
       
   555 This panic is raised when a session receives a message to connect
       
   556 to a server when the session is already connected to that server. 
       
   557 </p>
       
   558 <code>58</code>
       
   559 <p>
       
   560 This panic is raised during an attempt to connect to a server. As
       
   561 part of this process, a pointer to an instance of the
       
   562 <a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
       
   563 <a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
       
   564 </p>
       
   565 <p>
       
   566 The panic is caused when the pointer to the session object is NULL.
       
   567 </p>
       
   568 <code>59</code>
       
   569 <p>
       
   570 This panic is raised during an attempt to connect to a server. As
       
   571 part of this process, a pointer to an instance of the
       
   572 <a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
       
   573 <a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
       
   574 </p>
       
   575 <p>
       
   576 This panic is caused when a pointer to the session has previously
       
   577 been set. 
       
   578 </p>
       
   579 <code>60</code>
       
   580 <p>
       
   581 This panic is raised during an attempt to connect to a server. As
       
   582 part of this process, a pointer to an instance of the
       
   583 <a href="../reference-cpp/E32_EKA2/CSession2Class.html#%3a%3aCSession2" title="class CSession2"><code class="ApiItem">CSession2</code></a> derived class is saved in the instance of the
       
   584 <a href="../reference-cpp/E32_EKA2/CServer2Class.html#%3a%3aCServer2" title="class CServer2"><code class="ApiItem">CServer2</code></a> derived class. 
       
   585 </p>
       
   586 <p>This panic is caused when a pointer to a session is being set, and
       
   587 the message is not the connect message.</p>