Version 1.0.13. The most important changes are: default tip
authorJussi Ryoma <ext-jussi.s.ryoma@nokia.com>
Fri, 27 Aug 2010 12:21:46 +0300
changeset 3 045ade241ef5
parent 2 0c91f0baec58
Version 1.0.13. The most important changes are: -detailed defect hash added -panic descriptions updated -release build is working -simple command line usage added
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/BAFL.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/CMdaAudioOutputStream.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/E32USER-CBase.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Etel_Server.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FBSCLI.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FSCLIENT_panic.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Form.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/ImageConversion.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/KERN-EXEC.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Kern-Heap.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MATX.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MSGS.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/PLAT_generic_Kernel.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/USER.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/W32.xml
crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/WSERV.xml
crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/CrashInfoFilePlugin.csproj
crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoFileDocument.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CrashInfoConsts.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Document/CXmlDocumentRoot.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Utilities/SegConstants.cs
crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Utiltities/Constants.cs
crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlDataBlock.cs
crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs
crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/PlainTextOutput.cs
crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/XmlConsts.cs
crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/XmlFilePlugin.csproj
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Engine/DbgEngine.cs
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfig.cs
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfigManager.cs
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianNativeTools/SymbianNativeTools.vcproj
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianStructuresLib/SymbianStructuresLib.csproj
crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianSymbolLib/QueryAPI/SymbolQueryAPI.cs
crashanalysercmd/ReleaseNotes.txt
crashanalysercmd/UI/CrashServer/CrashAnalyserServerExe.sln
crashanalysercmd/UI/CrashServer/Engine/CACmdLineEngine.cs
crashanalysercmd/UI/CrashServer/Engine/Inputs/CACmdLineInputParameters.cs
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/BAFL.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/BAFL.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <panic_category>
   <category_name>BAFL</category_name>
-  <category_description> &lt;p&gt;Basic Application Framework Library (BFL.lib) panics. A number of APIs raise these panics. &lt;/p&gt; &lt;p&gt;These are:&lt;/p&gt; &lt;p&gt;Application Utilities &lt;/p&gt; &lt;p&gt;Command Line Parsing &lt;/p&gt; &lt;p&gt;Environment Change Notifier &lt;/p&gt; &lt;p&gt;Incremental Matcher &lt;/p&gt; &lt;p&gt;Interface to Resource Files &lt;/p&gt;</category_description>
+  <category_description> &lt;p&gt;Basic Application Framework Library (BFL.lib) panics. A number of APIs raise these panics. These are:&lt;/p&gt;&lt;p&gt;&amp;#183; Application Utilities&lt;/p&gt;&lt;p&gt; &amp;#183; Command Line Parsing &lt;/p&gt;&lt;p&gt; &amp;#183; Environment Change Notifier&lt;/p&gt;&lt;p&gt; &amp;#183; Incremental Matcher&lt;/p&gt;&lt;p&gt; &amp;#183; Interface to Resource Files&lt;/p&gt;</category_description>
   <panics>
     <panic>
       <panic_id>1</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/CMdaAudioOutputStream.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/CMdaAudioOutputStream.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -29,7 +29,7 @@
     </panic>
     <panic>
       <panic_id>12</panic_id>
-      <panic_description>&lt;p&gt;&lt;code&gt;CMdaAudioOutputStream::Open()&lt;/code&gt; was called with an incorrect audio package type&amp;#0160;&amp;#8212; it must be of type &lt;code&gt;TMdaAudioDataSettings&lt;/code&gt;.&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;code&gt;CMdaAudioOutputStream::Open()&lt;/code&gt; was called with an incorrect audio package type &amp;mdash; it must be of type &lt;code&gt;TMdaAudioDataSettings&lt;/code&gt;.&lt;/p&gt;</panic_description>
     </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/E32USER-CBase.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/E32USER-CBase.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -1,359 +1,359 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <panic_category>
   <category_name>E32USER-CBase</category_name>
-  <category_description>Panics with this category are raised in user side code by member functions of CBase derived classes that reside in euser.dll. Typically, they are caused by passing bad or contradictory values to class constructors or member functions.&lt;br&gt;&lt;br&gt;The thread causing the panic is terminated.</category_description>
+  <category_description> &lt;p&gt;Panics with this category are raised in user side code by member functions of &lt;code&gt;CBase&lt;/code&gt; derived classes that reside in &lt;code class="filename"&gt;euser.dll&lt;/code&gt;. Typically, they are caused by passing bad or contradictory values to class constructors or member functions. &lt;/p&gt;&lt;p&gt; The thread causing the panic is terminated. &lt;/p&gt;</category_description>
   <panics>
-	<panic>
-    	<panic_id>1</panic_id>
-    	<panic_description>This panic is raised by the Set() member function of CAsyncCallBack, if this active object is already active when the function is called.</panic_description>
-  	</panic>
-	<panic>
-		<panic_id>2</panic_id>
-	    <panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;This panic is raised by the Call() member function of CAsyncOneShot if the active object has not already been added to the active scheduler.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>3</panic_id>
-    	<panic_description>This panic is raised during construction of a dynamic buffer (a CBufFlat or a CBufSeg) when the value of the granularity passed to the constructors is negative.</panic_description>
-  	</panic>
-	<panic>
-		<panic_id>4</panic_id>
-		<panic_description>This panic is raised when reading from a dynamic buffer (a CBufFlat or a CBufSeg) using the Read() member function. It is caused by attempting to read beyond the end of the buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>5</panic_id>
-		<panic_description>This panic is raised when writing to a dynamic buffer (a CBufFlat or a CBufSeg) using the Write() member function. It is caused by attempting to write beyond the end of the buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>6</panic_id>
-		<panic_description>This panic is raised when reading from a dynamic buffer (a CBufFlat or a CBufSeg) using the Read() member function. It is caused by specifying a negative length for the amount of data to be read.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>7</panic_id>
-		<panic_description>This panic is raised when writing to a dynamic buffer (a CBufFlat or a CBufSeg) using the Write() member function. It is caused by specifying a negative length for the amount of data to be written.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>8</panic_id>
-    	<panic_description>This panic is raised when inserting data into a dynamic buffer (a CBufFlat or a CBufSeg) using the InsertL() member function or when inserting an uninitialized region into the dynamic buffer using the ExpandL() member function. It is caused by passing a negative length value to these functions.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>9</panic_id>
-    	<panic_description>This panic is raised when inserting data into a dynamic buffer (a CBufFlat or a CBufSeg) using the InsertL() member function. It is caused when the variant of InsertL() which takes a pointer to TAny, is passed a NULL pointer value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>10</panic_id>
-		<panic_description>This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a CBufFlat) should occupy using the SetReserveL() member function. It is caused when the size value passed to the function is negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>11</panic_id>
-		<panic_description>This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a CBufFlat) should occupy using the SetReserveL() member function. It is caused when the size value passed to the function is less than the current size of the buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>12</panic_id>
-		<panic_description>This panic is raised by the Delete(), Ptr(), BackPtr() member functions of a flat dynamic buffer (a CBufFlat); the panic can also be raised by InsertL() and ExpandL(). It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>13</panic_id>
-		<panic_description>This panic is raised by the Delete() member function of a flat dynamic buffer (a CBufFlat). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the flat buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>14</panic_id>
-		<panic_description>This panic is raised by the Delete(), Ptr(), BackPtr() member functions of a segmented dynamic buffer (a CBufSeg); the panic can also be raised by InsertL() and ExpandL(). It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>15</panic_id>
-		<panic_description>This panic is raised by the Delete() member function of a segmented dynamic buffer (a CBufSeg). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the segmented buffer.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>16</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;This panic is raised by the InsertL(), Delete(), Ptr() and BackPtr() member functions as implemented for segmented buffers (CBufSeg), when the offset within a segment, where data is to be inserted or removed, is greater than the buffer granularity.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>17</panic_id>
-		<panic_description>This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes CArrayFixFlat, CArrayFixSeg and CArrayFixFlat&lt;TAny&gt;. It is caused when the record length is either negative or zero.&lt;br&gt;&lt;br&gt;The record length is either explicitly specified as in the case of the CArrayFixFlat&lt;TAny&gt; class or is implied by the length of the template class as in the case of the CArrayFixFlat class.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>18</panic_id>
-		<panic_description>This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes: CArrayFixFlat and CArrayFixSeg. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>19</panic_id>
-		<panic_description>This panic is raised by the constructors of arrays of variable length objects as represented, for example, by the classes: CArrayVarFlat and CArrayVarSeg. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>20</panic_id>
-		<panic_description>This panic is raised by the constructors of packed arrays as represented, for example, by the class CArrayPakFlat. It is caused when the granularity passed to the constructors is either negative or zero.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>21</panic_id>
-		<panic_description>This panic is raised by any operation which accesses an element of an array by explicit reference to an index number, for example, the Delete(), InsertL() and At() member functions or the operator Operator[]. It is caused by specifying an index value which is either negative or is greater than or equal to the number of objects currently within the array.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>22</panic_id>
-		<panic_description>This panic is raised when deleting contiguous elements from an array of fixed length objects (derived from CArrayFixBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>23</panic_id>
-		<panic_description>This panic is raised when inserting contiguous elements into an array of fixed length objects (derived from CArrayFixBase) using the InsertL() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>24</panic_id>
-		<panic_description>This panic is raised when resizing an array of fixed length objects (derived from CArrayFixBase) using the ResizeL() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>25</panic_id>
-		<panic_description>This panic is raised when deleting contiguous elements from an array of variable length objects (derived from CArrayVarBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>26</panic_id>
-		<panic_description>This panic is raised when deleting contiguous elements from a packed array (derived from CArrayPakBase) using the Delete() member function. It is caused by specifying the number of contiguous elements as a zero or negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>27</panic_id>
-		<panic_description>This panic is raised when reserving space in flat arrays of fixed length objects, (the CArrayFixFlat,CArrayFixFlat&lt;TAny&gt; and CArrayPtrFlat classes ) using the SetReserveL() member function. It is caused by specifying the number of elements, for which space is to be reserved, as less than the current number of elements in the array.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>28</panic_id>
-		<panic_description>This panic is raised when inserting or appending replicated elements to the arrays of fixed length objects CArrayFixFlat and CArrayFixSeg using the InsertL() or AppendL() functions. It is caused by specifying the number of replicas as negative or zero.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>29</panic_id>
-		<panic_description>This panic is raised when deleting elements from a fixed length, variable length or packed array (derived from CArrayFixBase, CArrayVarBase and CArrayPakBase) using the Delete() function. It is caused when the specification of the position of the first element to be deleted and the number of contiguous elements to be deleted refers to elements which are outside the bounds of the array.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>30</panic_id>
-		<panic_description>This panic is raised when inserting into, appending onto, expanding or extending a variable length array or a packed array (i.e. arrays derived from CArrayVar or CArrayPak) using the InsertL(), AppendL(), ExpandL() or ExtendL() functions respectively. It is caused by specifying the length of the element as a negative value.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>33</panic_id>
-		<panic_description>This panic is raised by the destructor of a CObject. It is caused, if an attempt is made to delete the CObject when the reference count is not zero.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>34</panic_id>
-		<panic_description>This panic is raised by the Close() member function of a CObject. It is caused, if the reference count is negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>35</panic_id>
-		<panic_description>This panic is raised by the Remove() member function of an object container, a CObjectCon. It is caused when the CObject to be removed from the container is not contained by the container.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>36</panic_id>
-		<panic_description>This panic is raised by the Remove() member function of a container index, a CObjectConIx. It is caused when the object container, a CObjectCon, to be removed from the index is not contained by the index.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>37</panic_id>
-		<panic_description>This panic is raised by the Remove() member function of an object index, a CObjectIx. It is caused when the handle passed to the Remove() function does not represent a CObject known to the object index.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>38</panic_id>
-		<panic_description>This panic is raised by the At(), FindByName() and FindByFullName() member functions of an object container, a CObjectCon. It is caused when the unique ID as derived from the handle is not the same as the unique ID held by the object container.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>39</panic_id>
-		<panic_description>This panic is raised by the At() member function of an object container, a CObjectCon. It is caused when the index represented by the handle is outside the permitted range. In effect, the handle is bad.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>40</panic_id>
-		<panic_description>This panic is raised by the destructor of an active object, a CActive. It is caused by an attempt to delete the active object while it still has a request outstanding.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>41</panic_id>
-		<panic_description>This panic is raised by the Add() member function of an active scheduler, a CActiveScheduler. It is caused by an attempt to add an active object to the active scheduler when it has already been added to the active scheduler.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>42</panic_id>
-		<panic_description>This panic is raised by the SetActive() member function of an active object, a CActive. It is caused by an attempt to flag the active object as active when it is already active, i.e. a request is still outstanding.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>43</panic_id>
-		<panic_description>This panic is raised by the Install() member function of an active scheduler, a CActiveScheduler. It is caused by attempting to install this active scheduler as the current active scheduler when there is already a current active scheduler; i.e. an active scheduler has already been installed.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>44</panic_id>
-		<panic_description>This panic is raised by calls to the Start(), Stop() and Add() member functions of an active scheduler, a CActiveScheduler when the thread does not have an installed active scheduler.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>45</panic_id>
-		<panic_description>This panic is raised by the Stop() member function of an active scheduler, a CActiveScheduler. Calling Stop() terminates the wait loop started by the most recent call to Start(). The panic is caused by a call to Stop() which is not matched by a corresponding call to Start().</panic_description>
-	</panic>
-	<panic>
-		<panic_id>46</panic_id>
-		<panic_description>This panic is raised by an active scheduler, a CActiveScheduler. It is caused by a stray signal.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>47</panic_id>
-		<panic_description>This panic is raised by the Error() virtual member function of an active scheduler, a CActiveScheduler. This function is called when an active object’s RunL() function leaves. Applications always replace the Error() function in a class derived from CActiveScheduler; the default behaviour provided by CActiveScheduler raises this panic.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>48</panic_id>
-		<panic_description>This panic is raised by the Add() member function of an active scheduler, a CActiveScheduler, when a NULL pointer is passed to the function.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>49</panic_id>
-		<panic_description>This panic is raised by the SetActive() and Deque() member functions of an active object, a CActive. It is raised if the active object has not been added to the active scheduler.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>50</panic_id>
-		<panic_description>This panic is raised by the SetPriority() member function of an active object, a CActive. It is caused by an attempt to change the priority of the active object while it is active, i.e. while a request is outstanding).</panic_description>
-	</panic>
-	<panic>
-		<panic_id>51</panic_id>
-		<panic_description>This panic is raised by the At(), After() and Lock() member functions of the CTimer active object. It is caused by an attempt to request a timer event when the CTimer active object has not been added to the active scheduler.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>52</panic_id>
-		<panic_description>This panic is raised by the Start() member function of the periodic timer active object, a CPeriodic, when a negative time interval is passed to the function.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>53</panic_id>
-		<panic_description>This panic is raised by the Start() member function of the periodic timer active object, a CPeriodic, when a negative delay time interval is passed to the function.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>54</panic_id>
-		<panic_description>This panic is raised by the RunL() member function of the CServer active object base class responsible for handling asynchronous requests from a client thread when the client passes a negative function code in RMessage. The only negative values permitted are RMessage::EConnect and RMessage::EDisConnect.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>55</panic_id>
-		<panic_description>This panic is raised by the Start() member function of the CServer active object base class responsible for handling asynchronous requests from a client thread. It is caused by the server having no name.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>56</panic_id>
-		<panic_description>This panic is raised by the New() and NewL() member functions of CBitMapAllocator when a negative or zero size is passed to them.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>57</panic_id>
-		<panic_description>This panic is raised by the Free(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>58</panic_id>
-		<panic_description>This panic is raised by the IsFree(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>59</panic_id>
-		<panic_description>This panic is raised by the AllocFromTopFrom(TInt aPos) member function of CBitMapAllocator when a position value is passed which is out of bounds.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>62</panic_id>
-		<panic_description>This panic is raised by the AllocAt() member function of CBitMapAllocator when the implied position has already been allocated.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>63</panic_id>
-		<panic_description>This panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when TRAPs have been nested and an attempt is made to pop too many items from the cleanup stack for the current nest level.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>64</panic_id>
-		<panic_description>This panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when attempt is made to pop more items from the cleanup stack than are on the cleanup stack.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>65</panic_id>
-		<panic_description>The panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when an attempt is made to pop more items from the cleanup stack than are on the cleanup stack.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>66</panic_id>
-		<panic_description>This panic is raised if an attempt is being made to insert a cleanup item into a position on the cleanup stack reserved for marking the current TRAP nest level. In practice this error occurs if the call to CleanupStack::PushL() happens when there has been no call to TRAP().</panic_description>
-	</panic>
-	<panic>
-		<panic_id>67</panic_id>
-		<panic_description>This panic is raised when building a TCleanupStackItem which is to be added to the cleanup stack. The building of the TCleanupStackItem needs a TCleanupItem and this has been constructed with a NULL cleanup operation (a TCleanupOperation).</panic_description>
-	</panic>
-	<panic>
-		<panic_id>68</panic_id>
-		<panic_description>This panic is raised if there are no free slots available on the cleanup stack to insert a cleanup item.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>69</panic_id>
-		<panic_description>This panic is raised if no trap handler has been installed. In practice, this occurs if CTrapCleanup::New() has not been called before using the cleanup stack.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>70</panic_id>
-		<panic_description>This panic is raised as a result of a call to the versions of the Pop() and PopAndDestroy() static member functions of the CleanupStack class which take an explicit count of the items to be popped. The panic is caused by passing a negative value for the number of items to be popped.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>71</panic_id>
-		<panic_description>This panic is raised when TRAPs have been nested and an attempt is made to exit from a TRAP nest level before all the cleanup items belonging to that level have been popped off the cleanup stack.&lt;br&gt;&lt;br&gt;There must be the same number of items on the cleanup stack on entering a TRAP harness as there is on exiting. In other words, anything that is pushed onto the cleanup stack inside a TRAP harness must be popped off before leaving the harness.&lt;br&gt;&lt;br&gt;For example, the following code avoids this panic when FooLC() does not leave, by explicitly popping pointer before the end of the harness:&lt;br&gt;&lt;br&gt;TRAPD(error, pointer = FooLC(); CleanupStack::Pop(pointer));&lt;br&gt;&lt;br&gt;See also How to use TRAP.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>72</panic_id>
-		<panic_description>This panic is raised by the constructor of the circular buffer base class, a CCirBufBase, when the size value passed is zero or negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>73</panic_id>
-		<panic_description>This panic is raised by a call to the SetLengthL() member function of of the circular buffer base class, a CCirBufBase, by passing a length value which is zero or negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>74</panic_id>
-		<panic_description>This panic is raised by a call to the Add() member function of a circular buffer, a CCirBuf when the pointer to the item to be added is NULL.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>75</panic_id>
-		<panic_description>This panic is raised by a call to the Add() member function of a circular buffer, a CCirBuf when the number of items to be added is zero or negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>76</panic_id>
-		<panic_description>This panic is raised by a call to the Remove() member function of a circular buffer, a CCirBuf when the number of items to be removed is zero or negative.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>89</panic_id>
-		<panic_description>Introduced in 6.0: This panic is raised by call to the Replace() member function of CActiveScheduler when the replacement active scheduler is the same as the existing active scheduler.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>90</panic_id>
-		<panic_description>Introduced in 6.0: The panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when an the item to be popped is not the expected item.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>91</panic_id>
-		<panic_description>This panic is raised by CActiveSchedulerWait::Start() when the CActiveSchedulerWait object has already been started.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>92</panic_id>
-		<panic_description>This panic is raised by CActiveSchedulerWait::AsyncStop() and CActiveSchedulerWait::CanStopNow() when the CActiveSchedulerWait object has not been started.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>93</panic_id>
-		<panic_description>This panic is raised during construction of a CAsyncOneShot if the attempt to open a handle to the current thread fails.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>94</panic_id>
-		<panic_description>Not used.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>95</panic_id>
-		<panic_description>This panic is raised on calls to the default implementations of functions: CPolicyServer::CustomSecurityCheckL() and CPolicyServer::CustomFailureActionL().&lt;br&gt;&lt;br&gt;The class CPolicyServer is intended to be derived from, and these functions in particular need to be re-implemented in a derived class. This panic is a symptom of a failure to provide a derived class.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>96</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the first element pointed to by the iRanges member of the TPolicy aPolicy parameter does not have a value of 0; i.e. if aPolicy's TPolicy::iRanges[0] is not 0.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>97</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of each element of the iRanges member of the TPolicy aPolicy parameter is not greater than the value of the previous element.&lt;br&gt;&lt;br&gt;See also TPolicy::iRanges.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>98</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of every element in the iElementsIndex member of the TPolicy aPolicy parameter is not valid.&lt;br&gt;&lt;br&gt;Elements of iElementsIndex are invalid if their values are either:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;less than ESpecialCaseHardLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;greater than ESpecialCaseLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;See also TPolicy::iElementsIndex and CPolicyServer::TSpecialCase.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>99</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of the iOnConnect member of the TPolicy aPolicy parameter is not valid.&lt;br&gt;&lt;br&gt;The iOnConnect member is invalid if its value is either:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;less than ESpecialCaseHardLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;greater than ESpecialCaseLimit&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;See also TPolicy::iOnConnect and CPolicyServer::TSpecialCase.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>100</panic_id>
-		<panic_description>This panic is raised if CPolicyServer::iPolicy is found to be invalid for some unknown reason.&lt;br&gt;&lt;br&gt;If you run the server in debug mode, it is likely that the server will panic with one of the panic codes in the range 96 to 99 inclusive. These are described above.&lt;br&gt;&lt;br&gt;See CPolicyServer for information about what constitutes a valid policy.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>101</panic_id>
-		<panic_description>This panic is raised when the value returned by the CPolicyServer::CustomSecurityCheckL() and CPolicyServer::CustomFailureActionL() functions is invalid.&lt;br&gt;&lt;br&gt;The CPolicyServer::TCustomResult enum defines the valid set of return values.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>102</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by the protected CPolicyServer constructor, if the value of the iRangeCount member of the TPolicy aPolicy parameter is not greater than 0. A value of 0 implies that no policies have been passed to the policy server. It is a requirement that at least one policy be passed to the policy server.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>103</panic_id>
-		<panic_description>This panic is raised by the policy server framework if a message fails a policy check, whether custom or not.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>104</panic_id>
-		<panic_description>&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt;&lt;br&gt;&lt;br&gt;It is raised by a number of CObjectIx member functions if the object's data becomes inconsistent.</panic_description>
-	</panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Set()&lt;/code&gt; member function of &lt;code&gt;CAsyncCallBack&lt;/code&gt;, if this active object is already active when the function is called. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by the &lt;code&gt;Call()&lt;/code&gt; member function of &lt;code&gt;CAsyncOneShot&lt;/code&gt; if the active object has not already been added to the active scheduler. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised during construction of a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) when the value of the granularity passed to the constructors is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when reading from a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;Read()&lt;/code&gt; member function. It is caused by attempting to read beyond the end of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when writing to a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;Write()&lt;/code&gt; member function. It is caused by attempting to write beyond the end of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when reading from a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;Read()&lt;/code&gt; member function. It is caused by specifying a negative length for the amount of data to be read &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when writing to a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;Write()&lt;/code&gt; member function. It is caused by specifying a negative length for the amount of data to be written. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when inserting data into a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;InsertL()&lt;/code&gt; member function or when inserting an uninitialized region into the dynamic buffer using the &lt;code&gt;ExpandL()&lt;/code&gt; member function. It is caused by passing a negative length value to these functions. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when inserting data into a dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt; or a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;) using the &lt;code&gt;InsertL()&lt;/code&gt; member function. It is caused when the variant of &lt;code&gt;InsertL()&lt;/code&gt; which takes a pointer to &lt;code&gt;TAny&lt;/code&gt;, is passed a NULL pointer value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt;) should occupy using the &lt;code&gt;SetReserveL()&lt;/code&gt; member function. It is caused when the size value passed to the function is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when specifying the minimum amount of space which a flat dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt;) should occupy using the &lt;code&gt;SetReserveL()&lt;/code&gt; member function. It is caused when the size value passed to the function is less than the current size of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;Ptr()&lt;/code&gt;, &lt;code&gt;BackPtr()&lt;/code&gt; member functions of a flat dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt;); the panic can also be raised by &lt;code&gt;InsertL()&lt;/code&gt; and &lt;code&gt;ExpandL()&lt;/code&gt;. It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Delete()&lt;/code&gt; member function of a flat dynamic buffer (a &lt;code class="ApiItem" &gt;CBufFlat&lt;/code&gt;). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the flat buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;Ptr()&lt;/code&gt;, &lt;code&gt;BackPtr()&lt;/code&gt; member functions of a segmented dynamic buffer (a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;); the panic can also be raised by &lt;code&gt;InsertL()&lt;/code&gt; and &lt;code&gt;ExpandL()&lt;/code&gt;. It is caused when the position value passed to these functions is either negative or represents a position beyond the end of the current buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the Delete() member function of a segmented dynamic buffer (a &lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;). It is caused when the combination of position and length values passed to the function implies an attempt to delete data beyond the end of the segmented buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by the &lt;code&gt;InsertL()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;Ptr()&lt;/code&gt; and &lt;code&gt;BackPtr()&lt;/code&gt; member functions as implemented for segmented buffers (&lt;code class="ApiItem" &gt;CBufSeg&lt;/code&gt;), when the offset within a segment, where data is to be inserted or removed, is greater than the buffer granularity. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes &lt;code class="ApiItem" &gt;CArrayFixFlat&lt;/code&gt;, &lt;code class="ApiItem" &gt;CArrayFixSeg&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayFixFlat&amp;lt;TAny&amp;gt;&lt;/code&gt;. It is caused when the record length is either negative or zero. &lt;/p&gt; &lt;p&gt; The record length is either explicitly specified as in the case of the &lt;code class="ApiItem" &gt;CArrayFixFlat&amp;lt;TAny&amp;gt;&lt;/code&gt; class or is implied by the length of the template class as in the case of the &lt;code class="ApiItem" &gt;CArrayFixFlat&lt;/code&gt; class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the constructors of arrays of fixed length objects as represented, for example, by the classes: &lt;code class="ApiItem" &gt;CArrayFixFlat&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayFixSeg&lt;/code&gt;. It is caused when the granularity passed to the constructors is either negative or zero. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the constructors of arrays of variable length objects as represented, for example, by the classes: &lt;code class="ApiItem" &gt;CArrayVarFlat&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayVarSeg&lt;/code&gt;. It is caused when the granularity passed to the constructors is either negative or zero. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the constructors of packed arrays as represented, for example, by the class &lt;code class="ApiItem" &gt;CArrayPakFlat&lt;/code&gt;. It is caused when the granularity passed to the constructors is either negative or zero. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by any operation which accesses an element of an array by explicit reference to an index number, for example, the &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;InsertL()&lt;/code&gt; and &lt;code&gt;At()&lt;/code&gt; member functions or the operator &lt;code&gt;Operator[]&lt;/code&gt;. It is caused by specifying an index value which is either negative or is greater than or equal to the number of objects currently within the array. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>22</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when deleting contiguous elements from an array of fixed length objects (derived from &lt;code class="ApiItem" &gt;CArrayFixBase&lt;/code&gt;) using the &lt;code&gt;Delete()&lt;/code&gt; member function. It is caused by specifying the number of contiguous elements as a zero or negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when inserting contiguous elements into an array of fixed length objects (derived from &lt;code class="ApiItem" &gt;CArrayFixBase&lt;/code&gt;) using the &lt;code&gt;InsertL()&lt;/code&gt; member function. It is caused by specifying the number of contiguous elements as a zero or negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when resizing an array of fixed length objects (derived from &lt;code class="ApiItem" &gt;CArrayFixBase&lt;/code&gt;) using the &lt;code&gt;ResizeL()&lt;/code&gt; member function. It is caused by specifying the number of contiguous elements as a zero or negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when deleting contiguous elements from an array of variable length objects (derived from &lt;code class="ApiItem" &gt;CArrayVarBase&lt;/code&gt;) using the &lt;code&gt;Delete()&lt;/code&gt; member function. It is caused by specifying the number of contiguous elements as a zero or negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when deleting contiguous elements from a packed array (derived from &lt;code class="ApiItem" &gt;CArrayPakBase&lt;/code&gt;) using the &lt;code&gt;Delete()&lt;/code&gt; member function. It is caused by specifying the number of contiguous elements as a zero or negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when reserving space in flat arrays of fixed length objects, (the &lt;code class="ApiItem" &gt;CArrayFixFlat&lt;/code&gt;,&lt;code class="ApiItem" &gt;CArrayFixFlat&amp;lt;TAny&amp;gt;&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayPtrFlat&lt;/code&gt; classes ) using the &lt;code&gt;SetReserveL()&lt;/code&gt; member function. It is caused by specifying the number of elements, for which space is to be reserved, as less than the current number of elements in the array. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>28</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when inserting or appending replicated elements to the arrays of fixed length objects &lt;code class="ApiItem" &gt;CArrayFixFlat&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayFixSeg&lt;/code&gt; using the &lt;code&gt;InsertL()&lt;/code&gt; or &lt;code&gt;AppendL()&lt;/code&gt; functions. It is caused by specifying the number of replicas as negative or zero. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>29</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when deleting elements from a fixed length, variable length or packed array (derived from &lt;code class="ApiItem" &gt;CArrayFixBase&lt;/code&gt;, &lt;code class="ApiItem" &gt;CArrayVarBase&lt;/code&gt; and &lt;code class="ApiItem" &gt;CArrayPakBase&lt;/code&gt;) using the &lt;code&gt;Delete()&lt;/code&gt; function. It is caused when the specification of the position of the first element to be deleted and the number of contiguous elements to be deleted refers to elements which are outside the bounds of the array. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>30</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when inserting into, appending onto, expanding or extending a variable length array or a packed array (i.e. arrays derived from &lt;code class="ApiItem" &gt;CArrayVar&lt;/code&gt; or &lt;code class="ApiItem" &gt;CArrayPak&lt;/code&gt;) using the &lt;code&gt;InsertL()&lt;/code&gt;, &lt;code&gt;AppendL()&lt;/code&gt;, &lt;code&gt;ExpandL()&lt;/code&gt; or &lt;code&gt;ExtendL()&lt;/code&gt; functions respectively. It is caused by specifying the length of the element as a negative value. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the destructor of a &lt;code class="ApiItem" &gt;CObject&lt;/code&gt;. It is caused, if an attempt is made to delete the &lt;code class="ApiItem" &gt;CObject&lt;/code&gt; when the reference count is not zero. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Close()&lt;/code&gt; member function of a &lt;code class="ApiItem" &gt;CObject&lt;/code&gt;. It is caused, if the reference count is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Remove()&lt;/code&gt; member function of an object container, a &lt;code class="ApiItem" &gt;CObjectCon&lt;/code&gt;. It is caused when the &lt;code class="ApiItem" &gt;CObject&lt;/code&gt; to be removed from the container is not contained by the container. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Remove()&lt;/code&gt; member function of a container index, a &lt;code class="ApiItem" &gt;CObjectConIx&lt;/code&gt;. It is caused when the object container, a &lt;code class="ApiItem" &gt;CObjectCon&lt;/code&gt;, to be removed from the index is not contained by the index. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Remove()&lt;/code&gt; member function of an object index, a &lt;code class="ApiItem" &gt;CObjectIx&lt;/code&gt;. It is caused when the handle passed to the &lt;code&gt;Remove()&lt;/code&gt; function does not represent a &lt;code class="ApiItem" &gt;CObject&lt;/code&gt; known to the object index. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;At()&lt;/code&gt;, &lt;code&gt;FindByName()&lt;/code&gt; and &lt;code&gt;FindByFullName()&lt;/code&gt; member functions of an object container, a &lt;code class="ApiItem" &gt;CObjectCon&lt;/code&gt;. It is caused when the unique ID as derived from the handle is not the same as the unique ID held by the object container. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;At()&lt;/code&gt; member function of an object container, a &lt;code class="ApiItem" &gt;CObjectCon&lt;/code&gt;. It is caused when the index represented by the handle is outside the permitted range. In effect, the handle is bad. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the destructor of an active object, a &lt;code class="ApiItem" &gt;CActive&lt;/code&gt;. It is caused by an attempt to delete the active object while it still has a request outstanding. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Add()&lt;/code&gt; member function of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. It is caused by an attempt to add an active object to the active scheduler when it has already been added to the active scheduler &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>42</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;SetActive()&lt;/code&gt; member function of an active object, a &lt;code class="ApiItem" &gt;CActive&lt;/code&gt;. It is caused by an attempt to flag the active object as active when it is already active, i.e. a request is still outstanding. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>43</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Install()&lt;/code&gt; member function of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. It is caused by attempting to install this active scheduler as the current active scheduler when there is already a current active scheduler; i.e. an active scheduler has already been installed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>44</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Start()&lt;/code&gt;, &lt;code&gt;Stop()&lt;/code&gt; and &lt;code&gt;Add()&lt;/code&gt; member functions of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. It is raised when the thread has no attached active scheduler &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>45</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Stop()&lt;/code&gt; member function of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. Calling &lt;code&gt;Stop()&lt;/code&gt; terminates the wait loop started by the most recent call to &lt;code&gt;Start()&lt;/code&gt;. The panic is caused by a call to &lt;code&gt;Stop()&lt;/code&gt; which is not matched by a corresponding call to &lt;code&gt;Start()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>46</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. It is caused by a stray signal. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>47</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Error()&lt;/code&gt; virtual member function of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;. This function is called when an active object&amp;#8217;s &lt;code&gt;RunL()&lt;/code&gt; function leaves. Applications always replace the &lt;code&gt;Error()&lt;/code&gt; function in a class derived from &lt;code&gt;CActiveScheduler&lt;/code&gt;; the default behaviour provided by &lt;code&gt;CActiveScheduler&lt;/code&gt; raises this panic. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>48</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Add()&lt;/code&gt; member function of an active scheduler, a &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt;, when a NULL pointer is passed to the function. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>49</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;SetActive()&lt;/code&gt; and &lt;code&gt;Deque()&lt;/code&gt; member functions of an active object, a &lt;code class="ApiItem" &gt;CActive&lt;/code&gt;. It is raised if the active object has not been added to the active scheduler. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>50</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;SetPriority()&lt;/code&gt; member function of an active object, a &lt;code class="ApiItem" &gt;CActive&lt;/code&gt;. It is caused by an attempt to change the priority of the active object while it is active, i.e. while a request is outstanding). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>51</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;At()&lt;/code&gt;, &lt;code&gt;After()&lt;/code&gt; and &lt;code&gt;Lock()&lt;/code&gt; member functions of the &lt;code class="ApiItem" &gt;CTimer&lt;/code&gt; active object. It is caused by an attempt to request a timer event when the &lt;code&gt;CTimer&lt;/code&gt; active object has not been added to the active scheduler. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>52</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Start()&lt;/code&gt; member function of the periodic timer active object, a &lt;code class="ApiItem" &gt;CPeriodic&lt;/code&gt;, when a negative time interval is passed to the function. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>53</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Start()&lt;/code&gt; member function of the periodic timer active object, a &lt;code class="ApiItem" &gt;CPeriodic&lt;/code&gt;, when a negative delay time interval is passed to the function. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>54</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;RunL()&lt;/code&gt; member function of the &lt;code class="ApiItem" &gt;CServer&lt;/code&gt; active object base class responsible for handling asynchronous requests from a client thread when the client passes a negative function code in &lt;code class="ApiItem" &gt;RMessage&lt;/code&gt;. The only negative values permitted are RMessage::EConnect and RMessage::EDisConnect. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>55</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Start()&lt;/code&gt; member function of the &lt;code class="ApiItem" &gt;CServer&lt;/code&gt; active object base class responsible for handling asynchronous requests from a client thread. It is caused by the server having no name. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>56</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;New()&lt;/code&gt; and &lt;code&gt;NewL()&lt;/code&gt; member functions of &lt;code&gt;CBitMapAllocator&lt;/code&gt; when a negative or zero size is passed to them. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>57</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Free(TInt aPos)&lt;/code&gt; member function of &lt;code&gt;CBitMapAllocator&lt;/code&gt; when a position value is passed which is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>58</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;IsFree(TInt aPos)&lt;/code&gt; member function of &lt;code&gt;CBitMapAllocator&lt;/code&gt; when a position value is passed which is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>59</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;AllocFromTopFrom(TInt aPos)&lt;/code&gt; member function of &lt;code&gt;CBitMapAllocator&lt;/code&gt; when a position value is passed which is out of bounds. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>62</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;AllocAt()&lt;/code&gt; member function of &lt;code&gt;CBitMapAllocator&lt;/code&gt; when the implied position has already been allocated. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>63</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised as a result of a call to the &lt;code&gt;Pop()&lt;/code&gt; and &lt;code&gt;PopAndDestroy()&lt;/code&gt; static member functions of the &lt;code class="ApiItem" &gt;CleanupStack&lt;/code&gt; class. The panic occurs when TRAPs have been nested and an attempt is made to pop too many items from the cleanup stack for the current nest level. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised as a result of a call to the &lt;code&gt;Pop()&lt;/code&gt; and &lt;code&gt;PopAndDestroy()&lt;/code&gt; static member functions of the &lt;code class="ApiItem" &gt;CleanupStack&lt;/code&gt; class. The panic occurs when attempt is made to pop more items from the cleanup stack than are on the cleanup stack. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>65</panic_id>
+      <panic_description>&lt;p&gt;The panic is raised as a result of a call to the &lt;code&gt;Pop()&lt;/code&gt; and &lt;code&gt;PopAndDestroy()&lt;/code&gt; static member functions of the &lt;code&gt;CleanupStack&lt;/code&gt; class. The panic occurs when an attempt is made to pop more items from the cleanup stack than are on the cleanup stack. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if an attempt is being made to insert a cleanup item into a position on the cleanup stack reserved for marking the current &lt;code class="ApiItem" &gt;TRAP&lt;/code&gt; nest level. In practice this error occurs if the call to &lt;code class="ApiItem" &gt;CleanupStack::PushL()&lt;/code&gt; happens when there has been no call to &lt;code&gt;TRAP()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>67</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when building a &lt;code&gt;TCleanupStackItem&lt;/code&gt; which is to be added to the cleanup stack. The building of the &lt;code&gt;TCleanupStackItem&lt;/code&gt; needs a &lt;code class="ApiItem" &gt;TCleanupItem&lt;/code&gt; and this has been constructed with a NULL cleanup operation (a &lt;code class="ApiItem" &gt;TCleanupOperation&lt;/code&gt;). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>68</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if there are no free slots available on the cleanup stack to insert a cleanup item &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>69</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if no trap handler has been installed. In practice, this occurs if &lt;code class="ApiItem" &gt;CTrapCleanup&lt;/code&gt; &lt;code&gt;::New()&lt;/code&gt; has not been called before using the cleanup stack. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>70</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised as a result of a call to the versions of the &lt;code&gt;Pop()&lt;/code&gt; and &lt;code&gt;PopAndDestroy()&lt;/code&gt; static member functions of the &lt;code class="ApiItem" &gt;CleanupStack&lt;/code&gt; class which take an explicit count of the items to be popped. The panic is caused by passing a negative value for the number of items to be popped. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>71</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when &lt;code class="ApiItem" &gt;TRAP&lt;/code&gt;s have been nested and an attempt is made to exit from a &lt;code class="ApiItem" &gt;TRAP&lt;/code&gt; nest level before all the cleanup items belonging to that level have been popped off the cleanup stack. &lt;/p&gt; &lt;p&gt; There must be the same number of items on the cleanup stack on entering a &lt;code class="ApiItem" &gt;TRAP&lt;/code&gt; harness as there is on exiting. In other words, anything that is pushed onto the cleanup stack inside a &lt;code class="ApiItem" &gt;TRAP&lt;/code&gt; harness must be popped off before leaving the harness. &lt;/p&gt; &lt;p&gt; For example, the following code avoids this panic when &lt;code&gt;FooLC()&lt;/code&gt; does not leave, by explicitly popping &lt;code&gt;pointer&lt;/code&gt; before the end of the harness: &lt;/p&gt; &lt;pre&gt;&lt;code class="cpp"&gt;TRAPD(error,&amp;nbsp;pointer&amp;nbsp;=&amp;nbsp;FooLC();&amp;nbsp;CleanupStack::Pop(pointer));&lt;/code&gt;&lt;/pre&gt; &lt;p&gt; See also &lt;a href="../../guide/KernelandHardwareServices/usrlib_filesrv/userlib/MemoryManagement/CleanupSupport/CleanupSupportGuide1/HowToTrap.guide.html#CleanupSupportGuide1%2ehow%2dto%2etrap%2duse"&gt;How to use TRAP&lt;/a&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>72</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the constructor of the circular buffer base class, a &lt;code class="ApiItem" &gt;CCirBufBase&lt;/code&gt;, when the size value passed is zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>73</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by a call to the &lt;code&gt;SetLengthL()&lt;/code&gt; member function of of the circular buffer base class, a &lt;code class="ApiItem" &gt;CCirBufBase&lt;/code&gt;, by passing a length value which is zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>74</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by a call to the &lt;code&gt;Add()&lt;/code&gt; member function of a circular buffer, a &lt;code class="ApiItem" &gt;CCirBuf&lt;/code&gt; when the pointer to the item to be added is NULL. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>75</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by a call to the &lt;code&gt;Add()&lt;/code&gt; member function of a circular buffer, a &lt;code class="ApiItem" &gt;CCirBuf&lt;/code&gt; when the number of items to be added is zero or negative &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>76</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by a call to the &lt;code&gt;Remove()&lt;/code&gt; member function of a circular buffer, a &lt;code class="ApiItem" &gt;CCirBuf&lt;/code&gt; when the number of items to be removed is zero or negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>89</panic_id>
+      <panic_description>&lt;p&gt;Introduced in 6.0: This panic is raised by call to the &lt;code&gt;Replace()&lt;/code&gt; member function of &lt;code class="ApiItem" &gt;CActiveScheduler&lt;/code&gt; when the replacement active scheduler is the same as the existing active scheduler. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>90</panic_id>
+      <panic_description>&lt;p&gt;Introduced in 6.0: The panic is raised as a result of a call to the &lt;code&gt;Pop()&lt;/code&gt; and &lt;code&gt;PopAndDestroy()&lt;/code&gt; static member functions of the &lt;code&gt;CleanupStack&lt;/code&gt; class. The panic occurs when an the item to be popped is not the expected item. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>91</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code class="ApiItem" &gt;CActiveSchedulerWait::Start()&lt;/code&gt; when the &lt;code class="ApiItem" &gt;CActiveSchedulerWait&lt;/code&gt; object has already been started. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>92</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code class="ApiItem" &gt;CActiveSchedulerWait::AsyncStop()&lt;/code&gt; and &lt;code class="ApiItem" &gt;CActiveSchedulerWait::CanStopNow()&lt;/code&gt; when the &lt;code class="ApiItem" &gt;CActiveSchedulerWait&lt;/code&gt; object has not been started. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>93</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised during construction of a &lt;code class="ApiItem" &gt;CAsyncOneShot&lt;/code&gt; if the attempt to open a handle to the current thread fails. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>94</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>95</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised on calls to the default implementations of functions: &lt;code class="ApiItem" &gt;CPolicyServer::CustomSecurityCheckL()&lt;/code&gt; and &lt;code class="ApiItem" &gt;CPolicyServer::CustomFailureActionL()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; The class &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; is intended to be derived from, and these functions in particular need to be re-implemented in a derived class. This panic is a symptom of a failure to provide a derived class. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>96</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by the protected &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; constructor, if the first element pointed to by the &lt;code&gt;iRanges&lt;/code&gt; member of the &lt;code class="ApiItem" &gt;TPolicy&lt;/code&gt; &lt;code&gt;aPolicy&lt;/code&gt; parameter does not have a value of 0; i.e. if &lt;code&gt;aPolicy&lt;/code&gt;'s &lt;code class="ApiItem" &gt;TPolicy::iRanges&lt;/code&gt; &lt;code&gt;[0]&lt;/code&gt; is not 0. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>97</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by the protected &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; constructor, if the value of each element of the &lt;code&gt;iRanges&lt;/code&gt; member of the &lt;code class="ApiItem" &gt;TPolicy&lt;/code&gt; &lt;code&gt;aPolicy&lt;/code&gt; parameter is not greater than the value of the previous element. &lt;/p&gt; &lt;p&gt; See also &lt;code class="ApiItem" &gt;TPolicy::iRanges&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>98</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by the protected &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; constructor, if the value of every element in the &lt;code&gt;iElementsIndex&lt;/code&gt; member of the &lt;code class="ApiItem" &gt;TPolicy&lt;/code&gt; &lt;code&gt;aPolicy&lt;/code&gt; parameter is not valid. &lt;/p&gt; &lt;p&gt; Elements of &lt;code&gt;iElementsIndex&lt;/code&gt; are invalid if their values are either: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; less than &lt;code&gt;ESpecialCaseHardLimit&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; or &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; greater than &lt;code&gt;ESpecialCaseLimit&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; See also &lt;code class="ApiItem" &gt;TPolicy::iElementsIndex&lt;/code&gt; and &lt;code class="ApiItem" &gt;CPolicyServer::TSpecialCase&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>99</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by the protected &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; constructor, if the value of the &lt;code&gt;iOnConnect&lt;/code&gt; member of the &lt;code class="ApiItem" &gt;TPolicy&lt;/code&gt; &lt;code&gt;aPolicy&lt;/code&gt; parameter is not valid. &lt;/p&gt; &lt;p&gt; The &lt;code&gt;iOnConnect&lt;/code&gt; member is invalid if its value is either: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; less than &lt;code&gt;ESpecialCaseHardLimit&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; or &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; greater than &lt;code&gt;ESpecialCaseLimit&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; See also &lt;code class="ApiItem" &gt;TPolicy::iOnConnect&lt;/code&gt; and &lt;code class="ApiItem" &gt;CPolicyServer::TSpecialCase&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>100</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised if &lt;code class="ApiItem" &gt;CPolicyServer::iPolicy&lt;/code&gt; is found to be invalid for some unknown reason. &lt;/p&gt; &lt;p&gt; If you run the server in debug mode, it is likely that the server will panic with one of the panic codes in the range 96 to 99 inclusive. These are described above. &lt;/p&gt; &lt;p&gt; See &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; for information about what constitutes a valid policy. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>101</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when the value returned by the &lt;code class="ApiItem" &gt;CPolicyServer::CustomSecurityCheckL()&lt;/code&gt; and &lt;code class="ApiItem" &gt;CPolicyServer::CustomFailureActionL()&lt;/code&gt; functions is invalid. &lt;/p&gt; &lt;p&gt; The &lt;code class="ApiItem" &gt;CPolicyServer::TCustomResult&lt;/code&gt; enum defines the valid set of return values. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>102</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by the protected &lt;code class="ApiItem" &gt;CPolicyServer&lt;/code&gt; constructor, if the value of the &lt;code&gt;iRangeCount&lt;/code&gt; member of the &lt;code class="ApiItem" &gt;TPolicy&lt;/code&gt; &lt;code&gt;aPolicy&lt;/code&gt; parameter is not greater than 0. A value of 0 implies that no policies have been passed to the policy server. It is a requirement that at least one policy be passed to the policy server. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>103</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised by the policy server framework if a message fails a policy check, whether custom or not. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>104</panic_id>
+      <panic_description>&lt;p&gt;&lt;i&gt;This panic is raised in debug builds only.&lt;/i&gt; &lt;/p&gt; &lt;p&gt; It is raised by a number of &lt;code class="ApiItem" &gt;CObjectIx&lt;/code&gt; member functions if the object's data becomes inconsistent. &lt;/p&gt;</panic_description>
+    </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Etel_Server.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Etel_Server.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <panic_category>
   <category_name>Etel Server</category_name>
-  <category_description> &lt;p&gt;Panic caused by incorrect use of the ETel Core API- e.g. passing bad or contradictory values to class constructors or member functions.&lt;/p&gt; &lt;p&gt;The client thread causing the panic is terminated.&lt;/p&gt;</category_description>
+  <category_description> &lt;p&gt;Panic caused by incorrect use of the ETel Core API&amp;#160;- e.g. passing bad or contradictory values to class constructors or member functions. &lt;/p&gt;&lt;p&gt;The client thread causing the panic is terminated.&lt;/p&gt;</category_description>
   <panics>
     <panic>
       <panic_id>0</panic_id>
@@ -13,7 +13,7 @@
     </panic>
     <panic>
       <panic_id>2</panic_id>
-      <panic_description>&lt;p&gt;The message type- sent by the client- is not recognised by the server.&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;The message type&amp;#160;- sent by the client&amp;#160;- is not recognised by the server.&lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>3</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FBSCLI.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FBSCLI.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -13,15 +13,15 @@
     </panic>
     <panic>
       <panic_id>3</panic_id>
-      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;Unknown message. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>4</panic_id>
-      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;There is an error with the Active Scheduler. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>5</panic_id>
-      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;The startup of the Font and Bitmap Server failed. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>6</panic_id>
@@ -65,7 +65,7 @@
     </panic>
     <panic>
       <panic_id>16</panic_id>
-      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;Bitmap not supported for compression. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>17</panic_id>
@@ -73,7 +73,7 @@
     </panic>
     <panic>
       <panic_id>18</panic_id>
-      <panic_description>&lt;p&gt; Not used. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;Invalid Scan Line pointer. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>19</panic_id>
@@ -89,7 +89,27 @@
     </panic>
     <panic>
       <panic_id>22</panic_id>
-      <panic_description>&lt;p&gt; &lt;code&gt;CFbsBitmap::LockHeap()&lt;/code&gt; has not been called prior to calling &lt;code&gt;CFbsBitmap::DataAddress()&lt;/code&gt; (debug builds only). &lt;/p&gt;	   </panic_description>
+      <panic_description>&lt;p&gt;&lt;code&gt;CFbsBitmap::LockHeap()&lt;/code&gt; has been called on a bitmap by more than one thread (debug builds only). See &lt;a href="../../guide/guide/fbserv/heaplocking.html#gr%2efont%2efbs%2eheaplocking" title="The Font and Bitmap Server's heap locking API is deprecated in Symbian OS v9.3 and later versions. This topic explains the rationale for this and how it affects existing applications that use the CFBsBitmap::LockHeap(), CFBsBitmap::LockHeapLC() and CFbsBitmap::UnlockHeap() functions."&gt;Heap Locking in the Font &amp;amp; Bitmap Server&lt;/a&gt; for more information. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>23</panic_id>
+      <panic_description>&lt;p&gt;FbsShaper not yet called. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>24</panic_id>
+      <panic_description>&lt;p&gt;FbsShaper has invalid arguments. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>25</panic_id>
+      <panic_description>&lt;p&gt;Invalid compression threshold. Value needs to be 0 or greater, and less than 256. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>26</panic_id>
+      <panic_description>&lt;p&gt;Typeface index out of range. Index needs to be 0 or greater. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>27</panic_id>
+      <panic_description>&lt;p&gt;Problem copying bitmap data. &lt;/p&gt;</panic_description>
     </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FSCLIENT_panic.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/FSCLIENT_panic.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -5,15 +5,15 @@
   <panics>
     <panic>
       <panic_id>0</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;p&gt; the &lt;code&gt;(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;p&gt; when the specified drive number is greater than or equal to &lt;code&gt;KMaxDrives&lt;/code&gt;, i.e. 26. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem" &gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; the &lt;code&gt;(TInt aDrive)&lt;/code&gt; variant of the &lt;code class="ApiItem" &gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; when the specified drive number is greater than or equal to &lt;code&gt;KMaxDrives&lt;/code&gt;, i.e. 26. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>1</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;p&gt; the &lt;code&gt;(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem"&gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;p&gt; when the specified drive letter is invalid, i.e. does not correspond to a drive number. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; the &lt;code&gt;TDriveUnit(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem" &gt;TDriveUnit&lt;/code&gt; constructor, &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; the &lt;code&gt;(const TDesC&amp;amp; aDriveText)&lt;/code&gt; variant of the &lt;code class="ApiItem" &gt;TDriveUnit&lt;/code&gt; assignment operator &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; when the specified drive letter is invalid, i.e. does not correspond to a drive number. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>2</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when searching for the next file using &lt;code class="ApiItem"&gt;TFindFile::Find()&lt;/code&gt; or &lt;code class="ApiItem"&gt;TFindFile::FindWild()&lt;/code&gt; before the initial call specifying the search method. &lt;/p&gt; &lt;p&gt; Calls to &lt;code class="ApiItem"&gt;TFindFile::Find()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindByDir()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindByPath()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; Calls to &lt;code class="ApiItem"&gt;TFindFile::FindWild()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindWildByDir()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TFindFile::FindWildByPath()&lt;/code&gt; &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when searching for the next file using &lt;code class="ApiItem" &gt;TFindFile::Find()&lt;/code&gt; or &lt;code class="ApiItem" &gt;TFindFile::FindWild()&lt;/code&gt; before the initial call specifying the search method. &lt;/p&gt; &lt;p&gt; Calls to &lt;code class="ApiItem" &gt;TFindFile::Find()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TFindFile::FindByDir()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TFindFile::FindByPath()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Calls to &lt;code class="ApiItem" &gt;TFindFile::FindWild()&lt;/code&gt; cannot be made until an initial call has been made to either of: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TFindFile::FindWildByDir()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TFindFile::FindWildByPath()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>3</panic_id>
@@ -33,7 +33,7 @@
     </panic>
     <panic>
       <panic_id>7</panic_id>
-      <panic_description>&lt;/p&gt; &lt;p&gt; &lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;Not used.&lt;/em&gt; &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>8</panic_id>
@@ -53,7 +53,7 @@
     </panic>
     <panic>
       <panic_id>12</panic_id>
-      <panic_description>&lt;p&gt; The value returned by the file management observer functions: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManStarted()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManEnded()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;MFileManObserver::NotifyFileManOperation()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; is not a valid &lt;code class="ApiItem"&gt;MFileManObserver::TControl&lt;/code&gt; enum value. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;The value returned by the file management observer functions: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;MFileManObserver::NotifyFileManStarted()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;MFileManObserver::NotifyFileManEnded()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;MFileManObserver::NotifyFileManOperation()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; is not a valid &lt;code class="ApiItem" &gt;MFileManObserver::TControl&lt;/code&gt; enum value. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>13</panic_id>
@@ -97,7 +97,7 @@
     </panic>
     <panic>
       <panic_id>23</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by &lt;code class="ApiItem"&gt;CDir::Sort()&lt;/code&gt; when the method of sorting, as defined by the single function argument, is none of the entries: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortNone&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByDate&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortBySize&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByExt&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByUid&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TEntryKey&lt;/code&gt;&lt;code&gt;::ESortByName&lt;/code&gt; &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code class="ApiItem" &gt;CDir::Sort()&lt;/code&gt; when the method of sorting, as defined by the single function argument, is none of the entries: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortNone&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortByDate&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortBySize&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortByExt&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortByUid&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TEntryKey&lt;/code&gt; &lt;code&gt;::ESortByName&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>24</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Form.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Form.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -57,7 +57,7 @@
     </panic>
     <panic>
       <panic_id>800</panic_id>
-      <panic_description>&lt;p&gt; CTextView::HandleCharEditL()&lt;/code&gt; was called while there is a text selection. Debug builds only. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;code&gt;CTextView::HandleCharEditL()&lt;/code&gt; was called while there is a text selection. Debug builds only. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>801</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/ImageConversion.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/ImageConversion.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -117,7 +117,7 @@
     </panic>
     <panic>
       <panic_id>28</panic_id>
-      <panic_description>&lt;p&gt; An Image Decoder was found to be in an invalid state. For example &lt;code class="ApiItem"&gt;CBufferedImageDecoder::ContinueConvert()&lt;/code&gt; was called when there is no image data to convert. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;An Image Decoder was found to be in an invalid state. &lt;/p&gt; &lt;p&gt; For example &lt;code class="ApiItem" &gt;CBufferedImageDecoder::ContinueConvert()&lt;/code&gt; was called when there is no image data to convert. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>29</panic_id>
@@ -129,11 +129,47 @@
     </panic>
     <panic>
       <panic_id>31</panic_id>
-      <panic_description>&lt;p&gt; An index is invalid. For example &lt;code class="ApiItem"&gt;TFrameLayout::Length()&lt;/code&gt; will panic if the value of the index parameter &lt;code&gt;aIndex&lt;/code&gt;is not in the range&lt;code&gt;[0:TFrameLayout::Planes()]&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;An index is invalid. &lt;/p&gt; &lt;p&gt; For example &lt;code class="ApiItem" &gt;TFrameLayout::Length()&lt;/code&gt; will panic if the value of the index parameter &lt;code&gt;aIndex&lt;/code&gt; is not in the range &lt;code&gt;[0:TFrameLayout::Planes()]&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>32</panic_id>
-      <panic_description>&lt;p&gt; A parameter value is invalid. For example &lt;code class="ApiItem"&gt;TFrameLayout::SetLength()&lt;/code&gt; will panic if the value of the length parameter &lt;code&gt;aLength&lt;/code&gt; is negative. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;A parameter value is invalid. &lt;/p&gt; &lt;p&gt; For example &lt;code class="ApiItem" &gt;TFrameLayout::SetLength()&lt;/code&gt; will panic if the value of the length parameter &lt;code&gt;aLength&lt;/code&gt; is negative. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>33</panic_id>
+      <panic_description>&lt;p&gt;The encoder has run out of memory buffers during asynchronous write operation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>34</panic_id>
+      <panic_description>&lt;p&gt;An invalid buffer was detected during an encoder's asynchronous write operation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>35</panic_id>
+      <panic_description>&lt;p&gt;The encoder's buffer queue has overflowed during asynchronous write operation. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>36</panic_id>
+      <panic_description>&lt;p&gt;An extension on image decoder or encoder has not been set up correctly. Caused by calling a function on a &lt;code&gt;TImageConv*&lt;/code&gt; extension interface when the extension has not been setup. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>37</panic_id>
+      <panic_description>&lt;p&gt;An attempt has been made by the decoder of encoder framework to obtain an extension on a plug-in when this has already been obtained. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>38</panic_id>
+      <panic_description>&lt;p&gt;The decoder or encoder framework has called an unknown function on a extension interface. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt;An attempt has been made by the decoder of encoder framework to set up an extension on a plug-in when this has already been done. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>40</panic_id>
+      <panic_description>&lt;p&gt;The decoder or encoder framework has attempted to access an unknown extension type or has detected a mismatch between extension types. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>41</panic_id>
+      <panic_description>&lt;p&gt;An new asynchronous request on a decoder extension has been made when it is already active. &lt;/p&gt;</panic_description>
     </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/KERN-EXEC.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/KERN-EXEC.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -49,7 +49,7 @@
     </panic>
     <panic>
       <panic_id>11</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when creating a logical channel, and the unit number is outside the permitted range: &lt;/p&gt; &lt;p&gt; If unit numbers are not permitted, the unit number value must be &lt;code class="ApiItem"&gt;KNullUnit&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; If unit numbers are permitted, the unit number value must be less than &lt;code class="ApiItem"&gt;KMaxUnits&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; A logical channel is created as a result of a call to &lt;code class="ApiItem"&gt;RBusLogicalChannel::DoCreate()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when creating a logical channel, and the unit number is outside the permitted range: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; If unit numbers are not permitted, the unit number value must be &lt;code class="ApiItem" &gt;KNullUnit&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; If unit numbers are permitted, the unit number value must be less than &lt;code class="ApiItem" &gt;KMaxUnits&lt;/code&gt;. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A logical channel is created as a result of a call to &lt;code class="ApiItem" &gt;RBusLogicalChannel::DoCreate()&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>12</panic_id>
@@ -61,7 +61,7 @@
     </panic>
     <panic>
       <panic_id>14</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when an attempt is made to set the priority of a thread or process to an illegal value. &lt;/p&gt; &lt;p&gt; The permitted priority values for a user process are a subset of the values defined by the &lt;code class="ApiItem"&gt;TProcessPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;code&gt; EPriorityLow &lt;/code&gt; &lt;p&gt; &lt;code&gt;EPriorityBackground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityForeground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityHigh &lt;/code&gt; &lt;/p&gt; &lt;p&gt; The permitted priority values for a user thread are a subset of the values defined by the &lt;code class="ApiItem"&gt;TThreadPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchLess &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityLess &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityNormal &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityMore &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchMore &lt;/code&gt; &lt;/p&gt; &lt;code&gt;EPriorityRealTime &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;EPriorityAbsoluteVeryLow &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteLow &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteBackground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteForeground &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteHigh &lt;/code&gt; &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when an attempt is made to set the priority of a thread or process to an illegal value. &lt;/p&gt; &lt;p&gt; The permitted priority values for a user process are a subset of the values defined by the &lt;code class="ApiItem" &gt;TProcessPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityLow&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityBackground&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityForeground&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityHigh&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The permitted priority values for a user thread are a subset of the values defined by the &lt;code class="ApiItem" &gt;TThreadPriority&lt;/code&gt; enum. The permitted values are: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchLess&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityLess&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityNormal&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityMore&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityMuchMore&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityRealTime&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;EPriorityAbsoluteVeryLow&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteLow&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteBackground&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteForeground&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; EPriorityAbsoluteHigh&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>15</panic_id>
@@ -189,7 +189,7 @@
     </panic>
     <panic>
       <panic_id>46</panic_id>
-      <panic_description>&lt;p&gt; This panic can be raised as a result of a call to one of a large number of functions. In general, the panic indicates an attempt to perform an operation on a thread or process by code running in another process - violating the security principle of process isolation. &lt;/p&gt; &lt;p&gt; There are exceptions to this general rule, for example, where the panic is raised because the calling process has insufficient capability. The precise reason is stated with the function(s). &lt;/p&gt; &lt;p&gt; The panic is raised on a call to the following function if the process owning the thread performing the call is not the creator of the target process or, if a handle is specified, the handle is not local. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::SetParameter()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on a call to the following functions if the process owning the thread performing the call is not the same as the target process. &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Kill()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Panic()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::SetJustInTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RProcess::Resume()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Kill()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Panic()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Suspend()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::Resume()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::SetPriority()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::RequestComplete()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;RThread::RequestSignal()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; NOTE: the creator of a new process can kill or panic the new process, change the new process priority and set the new process startup parameters until the process is resumed (which the creator can also do). After the new process has been resumed, then it becomes totally independent of its creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46 panic. &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following (Symbian partner only) functions if the calling process does not have the &lt;em&gt;PowerMgmt&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityPowerMgmt&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::PowerDown()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::EnableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::DisableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::RequestWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;Power::CancelWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following functions if the calling process does not have the &lt;em&gt;WriteDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityWriteDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetMachineConfiguration()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetHomeTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCTime()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCOffset()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::SetUTCTimeAndOffset()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; The panic is raised on call to the following function if the calling process does not have the &lt;em&gt;ReadDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem"&gt;TCapability::ECapabilityReadDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;User::MachineConfiguration()&lt;/code&gt; &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic can be raised as a result of a call to one of a large number of functions. In general, the panic indicates an attempt to perform an operation on a thread or process by code running in another process - violating the security principle of process isolation. &lt;/p&gt; &lt;p&gt; There are exceptions to this general rule, for example, where the panic is raised because the calling process has insufficient capability. The precise reason is stated with the function(s). &lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt; The panic is raised on a call to the following function if the process owning the thread performing the call is not the creator of the target process or, if a handle is specified, the handle is not local. &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::SetParameter()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; The panic is raised on a call to the following functions if the process owning the thread performing the call is not the same as the target process. &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::Kill()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::Panic()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::SetJustInTime()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RProcess::Resume()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::Kill()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::Terminate()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::Panic()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::Suspend()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::Resume()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::SetPriority()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::RequestComplete()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;RThread::RequestSignal()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; NOTE: the creator of a new process can kill or panic the new process, change the new process priority and set the new process startup parameters until the process is resumed (which the creator can also do). After the new process has been resumed, then it becomes totally independent of its creator, and any attempt to panic it, kill it etc will raise the KERN-EXEC 46 panic. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; The panic is raised on call to the following (Symbian partner only) functions if the calling process does not have the &lt;em&gt;PowerMgmt&lt;/em&gt; capability (&lt;code class="ApiItem" &gt;TCapability::ECapabilityPowerMgmt&lt;/code&gt;): &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;Power::PowerDown()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;Power::EnableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;Power::DisableWakeupEvents()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;Power::RequestWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;Power::CancelWakeupEventNotification()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; The panic is raised on call to the following functions if the calling process does not have the &lt;em&gt;WriteDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem" &gt;TCapability::ECapabilityWriteDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::SetMachineConfiguration()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::SetHomeTime()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::SetUTCTime()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::SetUTCOffset()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::SetUTCTimeAndOffset()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; The panic is raised on call to the following function if the calling process does not have the &lt;em&gt;ReadDeviceData&lt;/em&gt; capability (&lt;code class="ApiItem" &gt;TCapability::ECapabilityReadDeviceData&lt;/code&gt;): &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;User::MachineConfiguration()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ol&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>47</panic_id>
@@ -247,5 +247,9 @@
       <panic_id>60</panic_id>
       <panic_description>&lt;p&gt; This panic is raised during an attempt to connect to a server. As part of this process, a pointer to an instance of the &lt;code class="ApiItem"&gt;CSession2&lt;/code&gt; derived class is saved in the instance of the &lt;code class="ApiItem"&gt;CServer2&lt;/code&gt; derived class. &lt;/p&gt; &lt;p&gt;This panic is caused when a pointer to a session is being set, and the message is not the connect message.&lt;/p&gt;</panic_description>
     </panic>
+    <panic>
+      <panic_id>61</panic_id>
+      <panic_description>&lt;p&gt;This panic is caused when a real-time thread attempts to execute a non-realtime function. &lt;/p&gt;</panic_description>
+    </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Kern-Heap.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/Kern-Heap.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -13,7 +13,7 @@
     </panic>
     <panic>
       <panic_id>213</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised when attempting to set a new debug failure mode on a heap with an invalid argument. For example, if aBurst &gt; KMaxTUint6 when invoking __UHEAP_BURSTFAILNEXT when a RHeap object is used for the user heap. On the user side this is associated with the USER category; on the kernel side this is associated with the KERN-HEAP category. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when attempting to set a new debug failure mode on a heap with an invalid argument. For example, if aBurst &amp;gt; KMaxTUint6 when invoking __UHEAP_BURSTFAILNEXT when a RHeap object is used for the user heap. On the user side this is associated with the USER category; on the kernel side this is associated with the KERN-HEAP category. &lt;/p&gt;</panic_description>
     </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MATX.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MATX.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -17,7 +17,7 @@
     </panic>
     <panic>
       <panic_id>3</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator+=&lt;/code&gt;, &lt;code&gt;operator-=&lt;/code&gt; and &lt;code&gt;operator*=&lt;/code&gt; of a &lt;code class="ApiItem"&gt;TRealX&lt;/code&gt;, when the the operands are invalid.&lt;/p&gt;&lt;p&gt;For &lt;code&gt;operator+=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number,&lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target and the source operands are infinite and have different signs.&lt;/p&gt; &lt;p&gt; For &lt;code&gt;operator-=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number, &lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target and the source operands are infinite and have different signs&lt;/p&gt; &lt;p&gt;For &lt;code&gt;operator*=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number, &lt;/p&gt; &lt;p&gt;the source operand is not a number, &lt;/p&gt; &lt;p&gt;the target operand is infinite and the source operand is zero &lt;/p&gt; &lt;p&gt;the target operand is zero and the source operand is infinite.&lt;/p&gt; &lt;p&gt;For &lt;code&gt;operator/=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;p&gt;the target operand is not a number,&lt;/p&gt; &lt;p&gt;the source operand is not a number,&lt;/p&gt; &lt;p&gt;the target operand and the source operand are both infinite,&lt;/p&gt; &lt;p&gt;the target operand and the source operand are both zero.&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by &lt;code&gt;operator+=&lt;/code&gt;, &lt;code&gt;operator-=&lt;/code&gt; and &lt;code&gt;operator*=&lt;/code&gt; of a &lt;code class="ApiItem" &gt;TRealX&lt;/code&gt;, when the the operands are invalid.&lt;/p&gt; &lt;p&gt;For &lt;code&gt;operator+=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; the target operand is not a number &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the source operand is not a number&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target and the source operands are infinite and have different signs.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; For &lt;code&gt;operator-=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;the target operand is not a number &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the source operand is not a number&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target and the source operands are infinite and have different signs&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;For &lt;code&gt;operator*=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;the target operand is not a number &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the source operand is not a number &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target operand is infinite and the source operand is zero &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target operand is zero and the source operand is infinite.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;For &lt;code&gt;operator/=&lt;/code&gt;, the panic is raised if one of these conditions applies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;the target operand is not a number&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the source operand is not a number&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target operand and the source operand are both infinite&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;the target operand and the source operand are both zero.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>4</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MSGS.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/MSGS.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -77,7 +77,7 @@
     </panic>
     <panic>
       <panic_id>99</panic_id>
-      <panic_description>&lt;p&gt;New &lt;code&gt;CMsvServerEntry&lt;/code&gt; context request failed as the contexts store is still open&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;New &lt;code&gt;CMsvServerEntry&lt;/code&gt; context request failed as the context&amp;#8217;s store is still open&lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>109</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/PLAT_generic_Kernel.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/PLAT_generic_Kernel.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -81,11 +81,11 @@
     </panic>
     <panic>
       <panic_id>83</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised in debug builds only.&lt;/p&gt;&lt;p&gt;This panic is raised by the millisecond timer when a call back has already been queued.&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by the millisecond timer when a call back has already been queued.&lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>87</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised in debug builds only.&lt;/p&gt; &lt;p&gt;This panic is raised during debugging when handling an exception via &lt;code&gt;Debug::HandleException&lt;/code&gt; and a write operation to the remote thread running the monitor program fails.&lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt;This panic is raised during debugging when handling an exception via &lt;code&gt;Debug::HandleException&lt;/code&gt; and a write operation to the remote thread running the monitor program fails.&lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>88</panic_id>
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/USER.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/USER.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -128,6 +128,10 @@
       <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Set(TDesC8&amp;amp;)&lt;/code&gt; member function of &lt;code&gt;TCheckedUid&lt;/code&gt; when the length of the descriptor passed to the function is not equal to the size of a &lt;code&gt;TCheckedUid&lt;/code&gt; object. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
+      <panic_id>39</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when the size of a new heap is smaller than the permitted minimum. It must be at least the size of an RHeap object. &lt;/p&gt; &lt;p&gt; On the user side this is associated with the USER category. On the kernel side this is associated with the KERN-HEAP category. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
       <panic_id>41</panic_id>
       <panic_description>&lt;p&gt; This panic is caused by the &lt;code class="ApiItem"&gt;UserHeap::ChunkHeap()&lt;/code&gt; static function when the value defining the minimum length of the heap is greater than the value defining the maximum length to which the heap can grow. &lt;/p&gt;</panic_description>
     </panic>
@@ -153,7 +157,7 @@
     </panic>
     <panic>
       <panic_id>47</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by the &lt;code&gt;Alloc()&lt;/code&gt;, &lt;code&gt;AllocL()&lt;/code&gt; or &lt;code&gt;AllocLC()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RHeap&lt;/code&gt;. It is caused by trying to allocate a cell from a heap, specifying an unsigned size value which is greater than or equal to the value of &lt;code&gt;KMaxTInt/2&lt;/code&gt;. The constant &lt;code&gt;KMaxTInt&lt;/code&gt; is defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; This panic may also be raised by the heap walker when it finds a bad allocated heap cell size. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by the &lt;code&gt;Alloc()&lt;/code&gt;, &lt;code&gt;AllocL()&lt;/code&gt; or &lt;code&gt;AllocLC()&lt;/code&gt; member functions of &lt;code class="ApiItem" &gt;RHeap&lt;/code&gt;. It is caused by trying to allocate a cell from a heap, specifying an unsigned size value which is greater than or equal to the value of &lt;code&gt;KMaxTInt/2&lt;/code&gt;. The constant &lt;code&gt;KMaxTInt&lt;/code&gt; is defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; This panic may also be raised by the heap walker when it finds a bad allocated heap cell size. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>48</panic_id>
@@ -237,7 +241,7 @@
     </panic>
     <panic>
       <panic_id>72</panic_id>
-      <panic_description>&lt;p&gt; &lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;SetRetry()&lt;/code&gt; member function of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTint&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; &lt;em&gt;Introduced in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;Send()&lt;/code&gt; and &lt;code&gt;SendReceive()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTint&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;). &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;Withdrawn in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;SetRetry()&lt;/code&gt; member function of &lt;code class="ApiItem" &gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTInt&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;). &lt;/p&gt; &lt;p&gt; &lt;em&gt;Introduced in 6.0:&lt;/em&gt; This panic is raised by the &lt;code&gt;Send()&lt;/code&gt; and &lt;code&gt;SendReceive()&lt;/code&gt; member functions of &lt;code class="ApiItem" &gt;RSessionBase&lt;/code&gt;, the client interface for communication with a server, when the specified operation code identifying the required service is either negative or a value greater than &lt;code&gt;KMaxTInt&lt;/code&gt; (defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;). &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>73</panic_id>
@@ -381,7 +385,7 @@
     </panic>
     <panic>
       <panic_id>110</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem"&gt;RThread&lt;/code&gt;. The panic is only raised by those variants of &lt;code&gt;Create()&lt;/code&gt; which create a new heap for the new thread. The panic occurs if the minimum heap size specified is less than &lt;code&gt;KMinHeapSize&lt;/code&gt; , defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when creating a thread using the &lt;code&gt;Create()&lt;/code&gt; member functions of &lt;code class="ApiItem" &gt;RThread&lt;/code&gt;. The panic is only raised by those variants of &lt;code&gt;Create()&lt;/code&gt; which create a new heap for the new thread. The panic occurs if the minimum heap size specified is less than &lt;code&gt;KMinHeapSize&lt;/code&gt; , defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>111</panic_id>
@@ -393,15 +397,15 @@
     </panic>
     <panic>
       <panic_id>113</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by: &lt;/p&gt; &lt;p&gt; the constructor of a time representation object, a &lt;code class="ApiItem"&gt;TTime&lt;/code&gt;, which takes a text string, when the format of that text string is incorrect or represents an invalid date/time. &lt;/p&gt; &lt;p&gt; the &lt;code&gt;Parse()&lt;/code&gt; member function of a time representation object, a &lt;code class="ApiItem"&gt;TTime&lt;/code&gt;, if the century offset value is either negative or is greater than or equal to 100. &lt;/p&gt; &lt;p&gt; the &lt;code class="ApiItem"&gt;Time::DaysInMonth()&lt;/code&gt; function, if an invalid month value is passed. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; the constructor of a time representation object, a &lt;code class="ApiItem" &gt;TTime&lt;/code&gt;, which takes a text string, when the format of that text string is incorrect or represents an invalid date/time. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; the &lt;code&gt;Parse()&lt;/code&gt; member function of a time representation object, a &lt;code class="ApiItem" &gt;TTime&lt;/code&gt;, if the century offset value is either negative or is greater than or equal to 100. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; the &lt;code class="ApiItem" &gt;Time::DaysInMonth()&lt;/code&gt; function, if an invalid month value is passed. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>114</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This panic is raised by member functions of a &lt;code&gt;TBusLocalDrive&lt;/code&gt; when no connection has been made to a local drive. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised by member functions of a &lt;code&gt;TBusLocalDrive&lt;/code&gt; when no connection has been made to a local drive. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>115</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when attempting to connect to a local drive using the &lt;code&gt;Connect()&lt;/code&gt; member function of &lt;code&gt;TBusLocalDrive&lt;/code&gt; and the specified drive number is out of range, i.e. the drive number is negative or is greater than or equal to &lt;code&gt;KMaxLocalDrives&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when attempting to connect to a local drive using the &lt;code&gt;Connect()&lt;/code&gt; member function of &lt;code&gt;TBusLocalDrive&lt;/code&gt; and the specified drive number is out of range, i.e. the drive number is negative or is greater than or equal to &lt;code&gt;KMaxLocalDrives&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>116</panic_id>
@@ -409,7 +413,7 @@
     </panic>
     <panic>
       <panic_id>119</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when setting a new currency symbol using the &lt;code class="ApiItem"&gt;User::SetCurrencySymbol()&lt;/code&gt; function. The panic occurs when the length of the descriptor containing the new symbol is greater than &lt;code&gt;KMaxCurrencySymbol&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when setting a new currency symbol using the &lt;code class="ApiItem" &gt;User::SetCurrencySymbol()&lt;/code&gt; function. The panic occurs when the length of the descriptor containing the new symbol is greater than &lt;code&gt;KMaxCurrencySymbol&lt;/code&gt;, defined in &lt;code class="filename"&gt;e32const.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>120</panic_id>
@@ -441,15 +445,15 @@
     </panic>
     <panic>
       <panic_id>127</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when constructing an array of pointers, an &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt;, and specifying a granularity value which is one of the following: &lt;/p&gt; &lt;p&gt; zero &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; greater than &lt;code&gt;0x10000000&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when constructing an array of pointers, an &lt;code class="ApiItem" &gt;RPointerArray&lt;/code&gt;, and specifying a granularity value which is one of the following: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; zero &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; negative &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; greater than &lt;code&gt;0x10000000&lt;/code&gt;. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>128</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt;, and specifying a key offset value which is one of the following: &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; not a multiple of 4 &lt;/p&gt; &lt;p&gt; greater than or equal to the size of the array elements. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem" &gt;RArray&lt;/code&gt;, and specifying a key offset value which is one of the following: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; negative &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; not a multiple of 4 &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; greater than or equal to the size of the array elements. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>129</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem"&gt;RArray&lt;/code&gt;, and the length of the array elements is one of the following: &lt;/p&gt; &lt;p&gt; zero &lt;/p&gt; &lt;p&gt; negative &lt;/p&gt; &lt;p&gt; greater than 640. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised when constructing an array of fixed length objects, an &lt;code class="ApiItem" &gt;RArray&lt;/code&gt;, and the length of the array elements is one of the following: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; zero &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; negative &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; greater than 640. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>130</panic_id>
@@ -521,7 +525,7 @@
     </panic>
     <panic>
       <panic_id>147</panic_id>
-      <panic_description>&lt;/p&gt; &lt;p&gt; This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised internally by the descriptor formatting functions during the handling of the variable parameter lists. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>148</panic_id>
@@ -649,7 +653,7 @@
     </panic>
     <panic>
       <panic_id>179</panic_id>
-      <panic_description>&lt;p&gt;This panic is raised in debug builds only. &lt;/p&gt; &lt;p&gt; This panic is raised when converting and appending numbers in descriptors, and buffers are not aligned on even addresses. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;&lt;em&gt;This panic is raised in debug builds only.&lt;/em&gt; &lt;/p&gt; &lt;p&gt; This panic is raised when converting and appending numbers in descriptors, and buffers are not aligned on even addresses. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>180</panic_id>
@@ -665,7 +669,7 @@
     </panic>
     <panic>
       <panic_id>183</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by member functions of the internal classes &lt;code&gt;RArrayBase&lt;/code&gt; and &lt;code&gt;RPointerArrayBase&lt;/code&gt;; specifically: &lt;/p&gt; &lt;p&gt; &lt;code&gt; RArrayBase::BinarySearch() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchUnsigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchSigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearch() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchUnsigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchSigned() &lt;/code&gt; &lt;/p&gt; &lt;p&gt; when the find mode passed to these functions is not recognised. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by member functions of the internal classes &lt;code&gt;RArrayBase&lt;/code&gt; and &lt;code&gt;RPointerArrayBase&lt;/code&gt;; specifically: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt; RArrayBase::BinarySearch()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchUnsigned()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;RArrayBase::BinarySearchSigned()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearch()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchUnsigned()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;RPointerArrayBase::BinarySearchSigned()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; when the find mode passed to these functions is not recognised. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>184</panic_id>
@@ -673,7 +677,7 @@
     </panic>
     <panic>
       <panic_id>185</panic_id>
-      <panic_description>&lt;p&gt; This panic is raised by the following functions when the month or day value is outside its permitted range of values: &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TMonthName::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TMonthNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt;TDayName::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; &lt;code class="ApiItem"&gt; TDayNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;p&gt; See also: &lt;code class="ApiItem"&gt;TMonthName&lt;/code&gt;, &lt;code class="ApiItem"&gt;TMonthNameAbb&lt;/code&gt;, &lt;code class="ApiItem"&gt;TDayName&lt;/code&gt; and &lt;code class="ApiItem"&gt;TDayNameAbb&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by the following functions when the month or day value is outside its permitted range of values: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TMonthName::Set()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TMonthNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt;TDayName::Set()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code class="ApiItem" &gt; TDayNameAbb::Set()&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; See also: &lt;code class="ApiItem" &gt;TMonthName&lt;/code&gt;, &lt;code class="ApiItem" &gt;TMonthNameAbb&lt;/code&gt;, &lt;code class="ApiItem" &gt;TDayName&lt;/code&gt; and &lt;code class="ApiItem" &gt;TDayNameAbb&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>186</panic_id>
@@ -761,7 +765,7 @@
     </panic>
     <panic>
       <panic_id>207</panic_id>
-      <panic_description>&lt;/p&gt; &lt;p&gt; This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;This panic is raised by the member function &lt;code&gt;ConsistencyCheck()&lt;/code&gt; of the internal class &lt;code&gt;RHashTableBase&lt;/code&gt;. It indicates an error in the hash table implementation. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>208</panic_id>
@@ -783,5 +787,17 @@
       <panic_id>212</panic_id>
       <panic_description>&lt;p&gt; This panic is raised if a negative valued argument is passed to the &lt;code&gt;Reserve()&lt;/code&gt; member function of the &lt;code class="ApiItem"&gt;RArray&lt;/code&gt; or &lt;code class="ApiItem"&gt;RPointerArray&lt;/code&gt; classes . &lt;/p&gt; 	   </panic_description>
     </panic>
+    <panic>
+      <panic_id>213</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when attempting to set a new debug failure mode on a heap with an invalid argument. &lt;/p&gt; &lt;p&gt; For example, if &lt;code&gt;aBurst &amp;gt; KMaxTUint6&lt;/code&gt; when invoking &lt;code&gt;__UHEAP_BURSTFAILNEXT&lt;/code&gt;, when an RHeap object is used for the user heap. &lt;/p&gt; &lt;p&gt; On the user side this is associated with the USER category. On the kernel side this is associated with the KERN-HEAP category. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>214</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when an invalid chunk attribute has been passed to the method RChunk::Create(). &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>215</panic_id>
+      <panic_description>&lt;p&gt;This panic is raised when a &lt;code class="ApiItem" &gt;TChunkCreateInfo&lt;/code&gt; object with an invalid version number has been passed to the method &lt;code class="ApiItem" &gt;RChunk::Create()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/W32.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/W32.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -1,47 +1,95 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <panic_category>
   <category_name>W32</category_name>
-  <category_description>W32 is a synchronous interface onto the window server that user code can include, link to and invoke instead of sending low level client-server requests to the window server. Some errors can be detected before they are sent to the server and are raised as panics from W32. Code in the W32 synchronous interface runs in the client’s thread, so it raises panics in situations it can understand on the current thread via User::Panic(). These panics have a category of W32. &lt;br&gt;&lt;br&gt;To minimise strain on the system, W32 can cache several requests in order in a buffer and send them as a group to the server. This means that a panic might not be caused by a bug in the last client-side code to run, but by an earlier line that does not get its request serviced until later. To debug such a panic it is often useful to turn on auto flushing.&lt;br&gt;&lt;br&gt;Window server synchronous interface (W32) panics are raised by the synchronous interface onto the window server when it realises a client has attempted an action the interface can’t legally pass on to the window server thread. Because the interface is synchronous, the current thread is panicked, and the request is never sent to the window server.&lt;br&gt;&lt;br&gt;These panics are defined in the enumeration TW32Panic in w32cmd.h.&lt;br&gt;&lt;br&gt;Note that some panics are raised in debug builds only.</category_description>
+  <category_description> &lt;p&gt;W32 is a synchronous interface onto the window server that user code can include, link to and invoke instead of sending low level client-server requests to the window server. Some errors can be detected before they are sent to the server and are raised as panics from W32. Code in the W32 synchronous interface runs in the client&amp;#8217;s thread, so it raises panics in situations it can understand on the current thread via &lt;code class="ApiItem" &gt;User::Panic()&lt;/code&gt;. These panics have a category of W32. &lt;/p&gt;&lt;p&gt; To minimise strain on the system, W32 can cache several requests in order in a buffer and send them as a group to the server. This means that a panic might not be caused by a bug in the last client-side code to run, but by an earlier line that does not get its request serviced until later. To debug such a panic it is often useful to turn on auto flushing. &lt;/p&gt;&lt;p&gt; Window server synchronous interface (W32) panics are raised by the synchronous interface onto the window server when it realises a client has attempted an action the interface can&amp;#8217;t legally pass on to the window server thread. Because the interface is synchronous, the current thread is panicked, and the request is never sent to the window server. &lt;/p&gt;&lt;p&gt; These panics are defined in the enumeration &lt;code&gt;TW32Panic&lt;/code&gt; in &lt;code class="filename"&gt;w32cmd.h&lt;/code&gt;. &lt;/p&gt;&lt;p&gt; Note that some panics are raised in debug builds only. &lt;/p&gt;</category_description>
   <panics>
-	<panic>
-    	<panic_id>0</panic_id>
-    	<panic_description>An attempt was made to reconnect to the window server using RWsSession::Connect(). It is only possible to reconnect if the current session has been closed.</panic_description>
-  	</panic>
-	<panic>
-		<panic_id>1</panic_id>
-	    <panic_description>Not used.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>2</panic_id>
-    	<panic_description>Not used.</panic_description>
-  	</panic>
-	<panic>
-		<panic_id>3</panic_id>
-		<panic_description>Not used.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>4</panic_id>
-		<panic_description>Raised by CWindowGc::MapColors() when its aNumPairs argument has a value greater than 16.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>5</panic_id>
-		<panic_description>Data is too long to fit into the window server's client side buffer, see Client-side buffer.&lt;br&gt;&lt;br&gt;Introduced in v6.0.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>6</panic_id>
-		<panic_description>CWsScreenDevice::SetCustomPalette() was called with a NULL pointer.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>7</panic_id>
-    	<panic_description>CWsScreenDevice::SetPalette() failed, but no error code could be returned. Debug builds for the emulator only.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
-	</panic>
-	<panic>
-    	<panic_id>8</panic_id>
-    	<panic_description>A direct screen access function was called out of turn.&lt;br&gt;&lt;br&gt;Introduced in v7.0.</panic_description>
-	</panic>
-	<panic>
-		<panic_id>9</panic_id>
-		<panic_description>An attempt was made to pass an invalid region to the window server. Debug builds only.&lt;br&gt;&lt;br&gt;Introduced in v7.0s.</panic_description>
-	</panic>
+    <panic>
+      <panic_id>0</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to reconnect to the window server using &lt;code class="ApiItem" &gt;RWsSession::Connect()&lt;/code&gt;. It is only possible to reconnect if the current session has been closed. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>1</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>2</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>3</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>4</panic_id>
+      <panic_description>&lt;p&gt;Raised by &lt;code class="ApiItem" &gt;CWindowGc::MapColors()&lt;/code&gt; when its &lt;code&gt;aNumPairs&lt;/code&gt; argument has a value greater than 16. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>5</panic_id>
+      <panic_description>&lt;p&gt;Data is too long to fit into the window server's client side buffer, see &lt;a href="../../guide/guide/windowing/wserv/cli_lib/concepts/client_side_buffer.concept.html#WindowServerGuide6%2eClientSideBuffer" title="The Window Server client-side buffer enables drawing functions to be buffered and executed in sequence. This saves many client-server context switches and makes the system fast and responsive."&gt;Client-side buffer&lt;/a&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v6.0. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>6</panic_id>
+      <panic_description>&lt;p&gt;&lt;code&gt; &lt;code class="ApiItem" &gt;CWsScreenDevice::SetCustomPalette()&lt;/code&gt; &lt;/code&gt; was called with a NULL pointer. &lt;/p&gt; &lt;p&gt; Introduced in v7.0. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>7</panic_id>
+      <panic_description>&lt;p&gt;&lt;code class="ApiItem" &gt;CWsScreenDevice::SetPalette()&lt;/code&gt; failed, but no error code could be returned. Debug builds for the emulator only. &lt;/p&gt; &lt;p&gt; Introduced in v7.0. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>8</panic_id>
+      <panic_description>&lt;p&gt;A direct screen access function was called out of turn. &lt;/p&gt; &lt;p&gt; Introduced in v7.0. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>9</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to pass an invalid region to the window server. Debug builds only. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>10</panic_id>
+      <panic_description>&lt;p&gt;Raised when the client is trying to use a wrong IpcSlot. The first slot if raised by &lt;code class="ApiItem" &gt;RAnim::CommandReply&lt;/code&gt; or &lt;code class="ApiItem" &gt;RAnimDll::Construct&lt;/code&gt;. Either the first or the second if raised by &lt;code class="ApiItem" &gt;RAnim::AsyncCommandReply&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>11</panic_id>
+      <panic_description>&lt;p&gt;A function has been called with a &lt;code&gt;NULL&lt;/code&gt; array pointer when it should not be. &lt;/p&gt; &lt;p&gt; Introduced in v8.1. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>12</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>13</panic_id>
+      <panic_description>&lt;p&gt;The &lt;code class="ApiItem" &gt;CWsGraphic::CManager&lt;/code&gt;'s &lt;code class="ApiItem" &gt;RPointerArray&amp;lt;CWsGraphic&amp;gt;&lt;/code&gt; still has pointers to &lt;code&gt;CWsGraphic&lt;/code&gt; left inside when it should be empty. &lt;/p&gt; &lt;p&gt; Introduced in v9.2. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>14</panic_id>
+      <panic_description>&lt;p&gt;Raised when one of the &lt;code&gt;CWsGraphic::CManager&lt;/code&gt;'s members has an inconsistent value (i.e. &lt;code&gt;NULL&lt;/code&gt; when it should not be and vice-versa). &lt;/p&gt; &lt;p&gt; Introduced in v9.2. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>15</panic_id>
+      <panic_description>&lt;p&gt;Raised if &lt;code class="ApiItem" &gt;RWsGraphicMsgBuf&lt;/code&gt; has been passed an out of bounds index or an incorrect type message. &lt;/p&gt; &lt;p&gt; Introduced in v9.2. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>16</panic_id>
+      <panic_description>&lt;p&gt;Raised when trying to send an empty &lt;code class="ApiItem" &gt;TWsClCmdGdSendMessage&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v9.2. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>17</panic_id>
+      <panic_description>&lt;p&gt;Not used. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>18</panic_id>
+      <panic_description>&lt;p&gt;Raised when an invalid parameter is passed to a function. &lt;/p&gt; &lt;p&gt; Introduced in v9.4. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>19</panic_id>
+      <panic_description>&lt;p&gt;Raised when &lt;code&gt;Construct()&lt;/code&gt; is called on an already constructed client-side object. &lt;/p&gt; &lt;p&gt; Introduced in v9.5. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>20</panic_id>
+      <panic_description>&lt;p&gt;Debug: Raised when trying to use an interface that is not initialised. &lt;/p&gt; &lt;p&gt; Introduced in v9.5. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>21</panic_id>
+      <panic_description>&lt;p&gt;Debug: Raised when returned data does not match expected sizes or granularity. &lt;/p&gt; &lt;p&gt; Introduced in v9.5. &lt;/p&gt;</panic_description>
+    </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/WSERV.xml	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/Engine/ErrorLibrary/Resources/WSERV.xml	Fri Aug 27 12:21:46 2010 +0300
@@ -77,7 +77,7 @@
     </panic>
     <panic>
       <panic_id>19</panic_id>
-      <panic_description>&lt;p&gt; Attempted to use a patterned brush when the pattern bitmap has not yet been set&amp;#0160;&amp;#8212;  &lt;code&gt;UseBrushPattern()&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;Attempted to use a patterned brush when the pattern bitmap has not yet been set &amp;mdash; &lt;code&gt;UseBrushPattern()&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>20</panic_id>
@@ -185,7 +185,7 @@
     </panic>
     <panic>
       <panic_id>46</panic_id>
-      <panic_description>&lt;p&gt; An invalid call or request parameter was detected by &lt;code&gt;CWsPassword&lt;/code&gt;. This can be caused: &lt;/p&gt; &lt;p&gt; By &lt;code class="ApiItem"&gt;RWindowBase::PasswordWindow()&lt;/code&gt; sending an &lt;code&gt;EWsWinOpPasswordWindow&lt;/code&gt; server request whose password mode parameter is not recognised. &lt;/p&gt; &lt;p&gt; By an attempt to cancel the password window by a client which doesn&amp;#8217;t own the window. &lt;/p&gt; &lt;p&gt; By &lt;code class="ApiItem"&gt;RWsSession::PasswordEntered()&lt;/code&gt; sending a &lt;code&gt;EWsClOpPasswordEntered&lt;/code&gt; server request when no password window has been set, or when the client does not own the password window. &lt;/p&gt; &lt;p&gt; Valid password modes are defined in &lt;code class="ApiItem"&gt;TPasswordMode&lt;/code&gt; of &lt;code class="filename"&gt;w32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
+      <panic_description>&lt;p&gt;An invalid call or request parameter was detected by &lt;code&gt;CWsPassword&lt;/code&gt;. This can be caused: &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt; By &lt;code class="ApiItem" &gt;RWindowBase::PasswordWindow()&lt;/code&gt; sending an &lt;code&gt;EWsWinOpPasswordWindow&lt;/code&gt; server request whose password mode parameter is not recognised. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; By an attempt to cancel the password window by a client which doesn&amp;#8217;t own the window. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; By &lt;code class="ApiItem" &gt;RWsSession::PasswordEntered()&lt;/code&gt; sending a &lt;code&gt;EWsClOpPasswordEntered&lt;/code&gt; server request when no password window has been set, or when the client does not own the password window. &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Valid password modes are defined in &lt;code class="ApiItem" &gt;TPasswordMode&lt;/code&gt; of &lt;code class="filename"&gt;w32std.h&lt;/code&gt;. &lt;/p&gt;</panic_description>
     </panic>
     <panic>
       <panic_id>47</panic_id>
@@ -255,5 +255,77 @@
       <panic_id>63</panic_id>
       <panic_description>&lt;p&gt; An attempt was made to set a custom text cursor (using &lt;code class="ApiItem"&gt;RWindowGroup::SetTextCursor()&lt;/code&gt;) that does not have any sprite members set. &lt;/p&gt; &lt;p&gt; Introduced in v7.0s.&lt;/p&gt;</panic_description>
     </panic>
+    <panic>
+      <panic_id>64</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to set a transparency operation to a window that has not been enabled to be transparent. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>65</panic_id>
+      <panic_description>&lt;p&gt;An multiple screen API function was called with an illegal screen number. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>66</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to call an event API without specifying the SwEvent capability, such as &lt;code class="ApiItem" &gt;RWsSession::SimulateKeyEvent()&lt;/code&gt;, &lt;code class="ApiItem" &gt;RWindowGroup::SimulatePointerEvent()&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v8.1. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>67</panic_id>
+      <panic_description>&lt;p&gt;A leave occured whilst processing a command in the middle of the buffer. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>68</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to try to use a group window with a deleted Screen Device. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>69</panic_id>
+      <panic_description>&lt;p&gt;Redraw storing cannot be disabled for transparent window. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>70</panic_id>
+      <panic_description>&lt;p&gt;Bad internal state in &lt;code&gt;CWsGraphic&lt;/code&gt; code. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>71</panic_id>
+      <panic_description>&lt;p&gt;An attempt was made to use an uninitialised &lt;code&gt;CWsClient&lt;/code&gt;. &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>72</panic_id>
+      <panic_description>&lt;p&gt;Client IPC message is &lt;code&gt;NULL&lt;/code&gt;. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>73</panic_id>
+      <panic_description>&lt;p&gt;Incompatible use of window transparency and background surface/overlay. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>74</panic_id>
+      <panic_description>&lt;p&gt;A notification request is pending for a window so new requests cannot be added for that window. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>75</panic_id>
+      <panic_description>&lt;p&gt;An incorrect surface type has been used. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>76</panic_id>
+      <panic_description>&lt;p&gt;Attempted use of a surface configuration without any valid members. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>77</panic_id>
+      <panic_description>&lt;p&gt;Not used &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>78</panic_id>
+      <panic_description>&lt;p&gt;Illegal display mode is used. &lt;/p&gt; &lt;p&gt; Introduced in v9.5 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>79</panic_id>
+      <panic_description>&lt;p&gt;A draw operation was performed on the &lt;code class="ApiItem" &gt;CWindowGc&lt;/code&gt; outside an &lt;code class="ApiItem" &gt;RWindow::BeginRedraw()&lt;/code&gt; / &lt;code&gt;EndRedraw()&lt;/code&gt; pair. &lt;/p&gt; &lt;p&gt; Introduced in v9.4 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>80</panic_id>
+      <panic_description>&lt;p&gt;General invalid parameter code for invariant checking. &lt;/p&gt; &lt;p&gt; Introduced in v9.5 &lt;/p&gt;</panic_description>
+    </panic>
+    <panic>
+      <panic_id>81</panic_id>
+      <panic_description>&lt;p&gt;Invalid drawable source handle. &lt;/p&gt; &lt;p&gt; Introduced in v9.5 &lt;/p&gt;</panic_description>
+    </panic>
   </panics>
 </panic_category>
\ No newline at end of file
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/CrashInfoFilePlugin.csproj	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/CrashInfoFilePlugin.csproj	Fri Aug 27 12:21:46 2010 +0300
@@ -33,7 +33,7 @@
   <ItemGroup>
     <Reference Include="SymbianUtils, Version=1.0.3463.26793, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\Engine\CrashItemLib\bin\Debug\SymbianUtils.dll</HintPath>
+      <HintPath>..\..\..\..\..\PerfToolsSharedLibraries\Engine\SymbianUtils\bin\Release\SymbianUtils.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Data" />
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -344,7 +344,16 @@
                     try //CCrashInfoHashBuilder.New throws an exception if there's not enough data for hash creation
                     {
                         MobileCrashHashBuilder builder = MobileCrashHashBuilder.New(config, primarySummary);
-                        iHash = builder.GetHash();
+
+                        if (builder != null)
+                            iHash = builder.GetHash();
+
+                        // Get detailed hash
+                        config = MobileCrashHashBuilder.TConfiguration.EDetailed;
+                        builder = MobileCrashHashBuilder.New(config, primarySummary, MobileCrashHashBuilder.KDetailedNumberOfStackEntriesToCheckForSymbols);
+                        
+                        if (builder != null)
+                            iDetailedHash = builder.GetHash();
                     }
                     catch (Exception e)
                     {
@@ -716,6 +725,15 @@
                 aOutput.Write( CCrashInfoFileUtilities.MakeOutputTags( iHash, CrashInfoConsts.Kcrash_hash ) );
             }
         }
+        
+        internal void WriteDetailedCrashHash(System.IO.StreamWriter aOutput)
+        {
+            if (string.IsNullOrEmpty(iDetailedHash) == false)
+            {
+                aOutput.Write(CCrashInfoFileUtilities.MakeOutputTags(iDetailedHash, CrashInfoConsts.Kcrash_detailedhash));
+            }
+        }
+
         internal void WriteMMCInfo(System.IO.StreamWriter aOutput)
         {
             //Dummy value needs to be written for dbmover
@@ -901,6 +919,7 @@
         private uint? iReportParamValue3 = null;
         private string iReportComments = string.Empty;
         private string iHash = string.Empty;
+        private string iDetailedHash = string.Empty;
 
         private List<CCrashInfoCallStack> iCallStacks = new List<CCrashInfoCallStack>(); //Call stacks
 
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoFileDocument.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoFileDocument.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -142,6 +142,7 @@
                 datablock.WriteRegisterExtraList(aOutput);
 
                 datablock.WriteCrashHash(aOutput);
+                datablock.WriteDetailedCrashHash(aOutput);
 
                 datablock.WriteBinFileName(aOutput);
                 datablock.WriteSymbolFileNames(aOutput);
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CrashInfoConsts.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CrashInfoConsts.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -100,6 +100,7 @@
         public const string Kregister_extra = "REGISTER_EXTRA";
         public const string Kcall_stack_text = "CALL_STACK_TEXT";
         public const string Kcrash_hash = "DEFECT_HASH"; // New crash hash that DbMover used to create itself.
+        public const string Kcrash_detailedhash = "DETAILED_DEFECT_HASH";
         public const string Kbinfile_name = "BIN_FILE_NAME";
         public const string Ksymbolfile_names = "SYMBOL_FILE_NAME";
 
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Document/CXmlDocumentRoot.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Document/CXmlDocumentRoot.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -48,9 +48,14 @@
         {
             string nodeName = XmlNodeName;
             //
+            aParameters.Writer.WriteStartDocument();
+            aParameters.Writer.WriteDocType(nodeName, null, Constants.DocType, null);
+
+
             aParameters.Writer.WriteStartElement( null, nodeName, null );
             XmlSerializeChildren( aParameters );
             aParameters.Writer.WriteEndElement();
+            aParameters.Writer.WriteEndDocument();
         }
         #endregion
 
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -62,8 +62,16 @@
                 {
                     aParameters.Writer.WriteElementString(SegConstants.Stacks_Stack_Hash, hashBuilder.GetHash());
                 }
+
+                // Write detailed hash
+                hashBuilder = MobileCrashHashBuilder.New(MobileCrashHashBuilder.TConfiguration.EDetailed, iStack, MobileCrashHashBuilder.KDetailedNumberOfStackEntriesToCheckForSymbols);
+                
+                if (hashBuilder != null)
+                {
+                    aParameters.Writer.WriteElementString(SegConstants.Stacks_Stack_Detailed_Hash, hashBuilder.GetHash());
+                }
             }
-            catch (Exception ex)
+            catch (Exception)
             {       
                 // Could not create MobileCrashHashBuilder, ignore.
             }
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Utilities/SegConstants.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Utilities/SegConstants.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -67,6 +67,7 @@
         public const string Stacks_Stack = "stack";
         public const string Stacks_Stack_Data = "stack_data";
         public const string Stacks_Stack_Hash = "hash";
+        public const string Stacks_Stack_Detailed_Hash = "detailed_hash";
         public const string Stacks_Stack_Attributes_Accurate = "accurate";
         public const string Stacks_Stack_Attributes_Heuristic = "heuristic";
         public const string Stacks_Stack_Data_Entry = "stack_entry";
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Utiltities/Constants.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Utiltities/Constants.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -24,6 +24,9 @@
     internal static class Constants
     {
         #region Node names
+        
+        // DTD
+        public const string DocType = "../../MobileCrashXmlSchema.dtd";
 
         // Root node name
         public const string RootNode = "crash_root";
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlDataBlock.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlDataBlock.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -344,7 +344,16 @@
                     try //CCrashInfoHashBuilder.New throws an exception if there's not enough data for hash creation
                     {
                         MobileCrashHashBuilder builder = MobileCrashHashBuilder.New(config, primarySummary);
-                        iHash = builder.GetHash();
+                        
+                        if (builder != null)
+                            iHash = builder.GetHash();
+
+                        // Detailed hash
+                        config = MobileCrashHashBuilder.TConfiguration.EDetailed;
+                        builder = MobileCrashHashBuilder.New(config, primarySummary, MobileCrashHashBuilder.KDetailedNumberOfStackEntriesToCheckForSymbols);
+                        
+                        if (builder != null)
+                            iDetailedHash = builder.GetHash();
                     }
                     catch (Exception /* e */)
                     {
@@ -705,6 +714,11 @@
              return iHash;
          }
 
+        internal string DetailedHash()
+        {
+            return iDetailedHash;
+        }
+
         internal List<CXmlCallStack> CallStacks()
         {
              return iCallStacks;
@@ -787,6 +801,7 @@
         private uint? iReportParamValue3 = null;
         private string iReportComments = string.Empty;
         private string iHash = string.Empty;
+        private string iDetailedHash = string.Empty;
 
         private List<CXmlCallStack> iCallStacks = new List<CXmlCallStack>(); //Call stacks
 
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -205,6 +205,16 @@
                 aOutput.WriteAttributeString(XmlConsts.Kxml_defect_hash, datablock.Hash());
             }
 
+            if (datablock.DetailedHash() != string.Empty)
+            {
+                aOutput.WriteAttributeString(XmlConsts.Kxml_detailed_defect_hash, datablock.DetailedHash());
+            }
+
+            if (datablock.TestSet() != string.Empty)
+            {
+                aOutput.WriteAttributeString(XmlConsts.Kxml_testset, datablock.TestSet());
+            }
+
             // Child elements for report details
             if (datablock.CodeSegs().Count > 0)
             {
@@ -225,16 +235,17 @@
             }
 
             // Traces
-            if(datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
+            if( datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
                 datablock.CallStacks().Count > 0 ||
                 datablock.OstTraces().Count > 0 ||
                 datablock.Eventlog().Count > 0 ||
-                datablock.RegStorage().OtherRegLists().Count > 0)
+                datablock.RegStorage().OtherRegLists().Count > 0 ||
+                datablock.PanicDescription() != String.Empty )
             {
                 aOutput.WriteStartElement(XmlConsts.Kxml_traces);
             }
 
-            WriteDetail(aOutput, XmlConsts.Kxml_register, datablock.RegStorage().BasicRegs().ToString());
+            WriteDetail(aOutput, XmlConsts.Kxml_register, datablock.RegStorage().BasicRegs().ToPrettyString());
 
             // Extra registers  
             System.Text.StringBuilder extraRegisters = new System.Text.StringBuilder();
@@ -266,11 +277,15 @@
             }
             WriteDetail(aOutput, XmlConsts.Kxml_eventlog, eventLog.ToString());
 
+            // Panic description
+            WriteDetail(aOutput, XmlConsts.Kxml_panic_description, datablock.PanicDescription());
+
             if (datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
                 datablock.CallStacks().Count > 0 ||
                 datablock.OstTraces().Count > 0 ||
                 datablock.Eventlog().Count > 0 ||
-                datablock.RegStorage().OtherRegLists().Count > 0)
+                datablock.RegStorage().OtherRegLists().Count > 0 ||
+                datablock.PanicDescription() != String.Empty)
             {
                 aOutput.WriteEndElement(); // traces
             }
@@ -288,7 +303,6 @@
 
             WriteDetail(aOutput, XmlConsts.Kxml_panic_id, datablock.PanicId());
             WriteDetail(aOutput, XmlConsts.Kxml_panic_category, datablock.PanicCategory());
-            WriteDetail(aOutput, XmlConsts.Kxml_panic_description, datablock.PanicDescription());
             WriteDetail(aOutput, XmlConsts.Kxml_language, datablock.Language());
             
             if (!datablock.Process().Equals(XmlConsts.Kxml_unknown_process))
@@ -379,7 +393,6 @@
             WriteDetail(aOutput, XmlConsts.Kxml_cellid, datablock.NetworkCell());
             WriteDetail(aOutput, XmlConsts.Kxml_psninfo, datablock.SerialNumber());
             WriteDetail(aOutput, XmlConsts.Kxml_uid, datablock.UID());
-            WriteDetail(aOutput, XmlConsts.Kxml_testset, datablock.TestSet());
             WriteDetail(aOutput, XmlConsts.Kxml_diskinfo, datablock.DiskInfo());
             WriteDetail(aOutput, XmlConsts.Kxml_phone_number, datablock.PhoneNumber());
             
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/PlainTextOutput.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/PlainTextOutput.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -122,6 +122,16 @@
                 writer.Write(PrettyString(XmlConsts.Kxml_defect_hash, datablock.Hash()));
             }
 
+            if (datablock.DetailedHash() != string.Empty)
+            {
+                writer.Write(PrettyString(XmlConsts.Kxml_detailed_defect_hash, datablock.DetailedHash()));
+            }
+
+            if (datablock.TestSet() != string.Empty)
+            {
+                writer.Write(PrettyString(XmlConsts.Kxml_testset, datablock.TestSet()));
+            }
+
             WriteDictionaryValues(writer, datablock);
 
             // Codesegments
@@ -276,7 +286,6 @@
             if (datablock.UID() != null)
                writer.Write(PrettyString(XmlConsts.Kxml_uid, "0x" + datablock.UID().Value.ToString("X8")));
             
-            writer.Write(PrettyString(XmlConsts.Kxml_testset, datablock.TestSet()));
             writer.Write(PrettyString(XmlConsts.Kxml_diskinfo, datablock.DiskInfo()));
             writer.Write(PrettyString(XmlConsts.Kxml_phone_number, datablock.PhoneNumber()));
 
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/XmlConsts.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/XmlConsts.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -48,6 +48,8 @@
         public const string Kxml_report_type = "report_type";
         public const string Kxml_crashed_module = "crashed_module";
         public const string Kxml_defect_hash = "defect_hash";
+        public const string Kxml_detailed_defect_hash = "detailed_defect_hash";
+        public const string Kxml_testset = "testset";
         public const string Kxml_loaded_dlls = "loaded_dlls";
         public const string Kxml_loaded_dll = "loaded_dll";
         public const string Kxml_name = "name";
@@ -84,7 +86,6 @@
         public const string Kxml_cellid = "CELLID";
         public const string Kxml_psninfo = "PSNINFO";
         public const string Kxml_uid = "UID";
-        public const string Kxml_testset = "TESTSET";
         public const string Kxml_diskinfo = "DISKINFO";
         public const string Kxml_phone_number = "PHONE_NUMBER";
         public const string Kxml_register = "REGISTER";
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/XmlFilePlugin.csproj	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/XmlFilePlugin.csproj	Fri Aug 27 12:21:46 2010 +0300
@@ -33,7 +33,7 @@
   <ItemGroup>
     <Reference Include="SymbianUtils, Version=1.0.3463.26793, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\Engine\CrashItemLib\bin\Debug\SymbianUtils.dll</HintPath>
+      <HintPath>..\..\..\..\..\PerfToolsSharedLibraries\Engine\SymbianUtils\bin\Release\SymbianUtils.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Data" />
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Engine/DbgEngine.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Engine/DbgEngine.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -139,12 +139,31 @@
                 iActiveRomIds.Add(aRomId);
         }
 
+        public void AddSymbolRomId(uint aRomId)
+        {
+            if (!iSymbolRomIds.Contains(aRomId))
+                iSymbolRomIds.Add(aRomId);
+        }
+
+        // Returns true we are decoding files related to this romid
         public bool IsActiveRomId(uint aRomId)
         {
-            return iActiveRomIds.Contains(aRomId);
+            if (iActiveRomIds.Count == 0)
+                return true;
+            else
+                return iActiveRomIds.Contains(aRomId);
         }
 
-        public void Prime( TSynchronicity aSynchronicity )
+        // Returns true if this romid needs symbol files
+        public bool IsSymbolDataNeeded(uint aRomId)
+        {
+            if (iSymbolRomIds.Count == 0)
+                return true;
+            else
+                return iSymbolRomIds.Contains(aRomId);
+        }
+
+        public void Prime(TSynchronicity aSynchronicity)
         {
             if ( EngineOperation != null )
             {
@@ -490,6 +509,7 @@
         private PlatformIdAllocator iIdAllocator = new PlatformIdAllocator();
         private DbgEntityConfig iCurrentConfig = null;
         private List<uint> iActiveRomIds = new List<uint>();
+        private List<uint> iSymbolRomIds = new List<uint>();
         private bool iVerbose;
         #endregion
     }
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfig.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfig.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -177,6 +177,13 @@
         #endregion
 
         #region Properties
+
+        public bool SymbolDataNeeded
+        {
+            get { return iSymbolDataNeeded; }
+            set { iSymbolDataNeeded = value; }
+        }
+
         public DbgEngine Engine
         {
             get { return Manager.Engine; }
@@ -212,6 +219,7 @@
         #region Data members
         private readonly DbgEntityConfigManager iManager;
         private Dictionary<string, CfgSet> iSets = new Dictionary<string, CfgSet>();
+        private bool iSymbolDataNeeded = true;
         #endregion
     }
 }
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfigManager.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianDebugLib/Entity/Configurations/DbgEntityConfigManager.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -76,11 +76,15 @@
 
                     // Prepare list of files
                     List<string> files = new List<string>();
-                    foreach ( DbgEntityConfig.CfgSet set in config )
+                    
+                    if (config.SymbolDataNeeded)
                     {
-                        foreach ( DbgEntityConfig.CfgFile file in set )
+                        foreach (DbgEntityConfig.CfgSet set in config)
                         {
-                            files.Add( file.FileNameAndPath );
+                            foreach (DbgEntityConfig.CfgFile file in set)
+                            {
+                                files.Add(file.FileNameAndPath);
+                            }
                         }
                     }
                     iEngine.AddRange( files );
@@ -89,11 +93,37 @@
             }
         }
 
+        // Returns true if aRomId is currently used id
         public bool IsActiveRomId(uint aRomId)
         {
             return iEngine.IsActiveRomId(aRomId);
         }
 
+        // Returns true if symbol data is needed for this RomId
+        public bool IsSymbolDataNeeded(uint aRomId)
+        {
+            return iEngine.IsSymbolDataNeeded(aRomId);
+        }
+
+        public DbgEntityConfig ConfigById(DbgEntityConfigIdentifier aId)
+        {
+            DbgEntityConfig ret = null;
+            //
+            lock (iConfigurations)
+            {
+                foreach (DbgEntityConfig cfg in iConfigurations)
+                {
+                    if (cfg.Contains(aId))
+                    {
+                        ret = cfg;
+                        break;
+                    }
+                }
+            }
+            //
+            return ret;
+        }
+
         #endregion
 
         #region Event handlers
@@ -118,24 +148,6 @@
         #endregion
 
         #region Internal methods
-        private DbgEntityConfig ConfigById( DbgEntityConfigIdentifier aId )
-        {
-            DbgEntityConfig ret = null;
-            //
-            lock ( iConfigurations )
-            {
-                foreach ( DbgEntityConfig cfg in iConfigurations )
-                {
-                    if ( cfg.Contains( aId ) )
-                    {
-                        ret = cfg;
-                        break;
-                    }
-                }
-            }
-            //
-            return ret;
-        }
         #endregion
 
         #region Data members
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianNativeTools/SymbianNativeTools.vcproj	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianNativeTools/SymbianNativeTools.vcproj	Fri Aug 27 12:21:46 2010 +0300
@@ -116,10 +116,11 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SYMBIANBYTEPAIRLIB_EXPORTS"
+				AdditionalIncludeDirectories=".\Include"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;__VC32__;__MSVCDOTNET__;SYMBIAN_NATIVE_TOOL_EXPORTS"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="2"
+				UsePrecompiledHeader="0"
 				WarningLevel="3"
 				DebugInformationFormat="3"
 			/>
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianStructuresLib/SymbianStructuresLib.csproj	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianStructuresLib/SymbianStructuresLib.csproj	Fri Aug 27 12:21:46 2010 +0300
@@ -45,6 +45,7 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
--- a/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianSymbolLib/QueryAPI/SymbolQueryAPI.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianSymbolLib/QueryAPI/SymbolQueryAPI.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -70,19 +70,20 @@
                 return null;
             }
 
-            // First check with the relocated/activated symbol collections,
-            // i.e. RAM-loaded code that has been fixed up.
-            Symbol ret = iRelocator.CollectionList.Lookup( aAddress, out aCollection );
+            Symbol ret = null;
+            // First check from symbol file and then from map files
+            foreach (SymSource source in SourceManager)
+            {
+                if (source.Contains(aAddress))
+                {
+                    ret = source.Lookup(aAddress, out aCollection);
+                    break;
+                }
+            }
+
             if ( ret == null && aCollection == null )
             {
-                foreach ( SymSource source in SourceManager )
-                {
-                    if ( source.Contains( aAddress ) )
-                    {
-                        ret = source.Lookup( aAddress, out aCollection );
-                        break;
-                    }
-                }
+                ret = iRelocator.CollectionList.Lookup(aAddress, out aCollection);
             }
 
             // Tag the collection because it provided a symbol
--- a/crashanalysercmd/ReleaseNotes.txt	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/ReleaseNotes.txt	Fri Aug 27 12:21:46 2010 +0300
@@ -1,7 +1,7 @@
 ===============================================================================
 
 RELEASE NOTES - CrashAnalyser
-RELEASED 20th April 2010 
+RELEASED 29th June 2010 
 
 
 
@@ -25,13 +25,11 @@
 
 What's New 
 ===================
-Version 1.0.9 20th April 2010 
+Version 1.0.13 29th June 2010 
 --------------------------------
-  - Changes in selge.ini file handling
-  - Added support for kern-common and kern-heap panic descriptions
-  - Added .nosync files and NOKIA START/END tags to support SF releasing
-  - Changed hash-code calculation so that similar crashes have same hash code
-  - Support for paged out code segments added
+  - Moved testset under report_details in XML file
+  - Changed supported crash file version number from 10 to 12
+  - Simplified command line usage
 
 ===============================================================================
 
@@ -66,7 +64,31 @@
 
 Version History:
 ================
-Version 1.0.8 12th March 2010
+Version 1.0.12 21th June 2010 
+--------------------------------
+  - Moved crash description under traces tag in XML file
+  - Support for zip symbol files added
+
+Version 1.0.11 12th May 2010 
+--------------------------------
+  - Updated crash description XML files
+  - Changed the registers to human readable format in output XML files
+
+Version 1.0.10 7th May 2010 
+--------------------------------
+  - Performance improvements
+  - Two level defect hash implementation
+
+Version 1.0.9 20th April 2010 
+--------------------------------
+  - Changes in selge.ini file handling
+  - Added support for kern-common and kern-heap panic descriptions
+  - Added .nosync files and NOKIA START/END tags to support SF releasing
+  - Changed hash-code calculation so that similar crashes have same hash code
+  - Support for paged out code segments added
+
+Version 1.0.8 12th December 2010 
+--------------------------------
   - VersionHistory.bin support
   - Many other features
 
--- a/crashanalysercmd/UI/CrashServer/CrashAnalyserServerExe.sln	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/UI/CrashServer/CrashAnalyserServerExe.sln	Fri Aug 27 12:21:46 2010 +0300
@@ -112,12 +112,14 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrashInfoFilePlugin", "..\..\Libraries\File Formats\Plugins\CrashInfoFilePlugin\CrashInfoFilePlugin.csproj", "{38D6EA43-2CA2-4637-9487-B3D5B5938558}"
 	ProjectSection(ProjectDependencies) = postProject
+		{F6F4CE69-E73A-4917-97ED-B114DE90C92E} = {F6F4CE69-E73A-4917-97ED-B114DE90C92E}
 		{00DA206A-9DA2-4B2E-A376-05CAB2881ABA} = {00DA206A-9DA2-4B2E-A376-05CAB2881ABA}
 		{C4F270B5-5B50-4270-9CDC-1616D9645365} = {C4F270B5-5B50-4270-9CDC-1616D9645365}
 	EndProjectSection
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlFilePlugin", "..\..\Libraries\File Formats\Plugins\XmlFilePlugin\XmlFilePlugin.csproj", "{1D07751A-83EA-4D7B-8B2B-C41305A799E0}"
 	ProjectSection(ProjectDependencies) = postProject
+		{F6F4CE69-E73A-4917-97ED-B114DE90C92E} = {F6F4CE69-E73A-4917-97ED-B114DE90C92E}
 		{00DA206A-9DA2-4B2E-A376-05CAB2881ABA} = {00DA206A-9DA2-4B2E-A376-05CAB2881ABA}
 	EndProjectSection
 EndProject
--- a/crashanalysercmd/UI/CrashServer/Engine/CACmdLineEngine.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/UI/CrashServer/Engine/CACmdLineEngine.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -40,6 +40,7 @@
 using SymbianDebugLib;
 using SymbianDebugLib.Engine;
 using SymbianDebugLib.Entity;
+using SymbianDebugLib.Entity.Configurations;
 using SymbianUtils;
 using SymbianUtils.Tracer;
 using CrashItemLib.Crash.InfoSW;
@@ -353,8 +354,15 @@
 
                 foreach (CACmdLineFileSource file in iInputs.SourceFiles)
                 {
+                    // Tell all used RomIds to debugEngine.  
                     if (file.RomId != null)
                         debugEngine.AddActiveRomId(file.RomId.Value);
+                    
+                    // Tell all RomIds which needs symbols to debugEngine so that 
+                    // we load only symbols for those.
+                    if (file.ContentType == TMobileCrashContentType.EContentTypePanic ||
+                        file.ContentType == TMobileCrashContentType.EContentTypeException)
+                        debugEngine.AddSymbolRomId(file.RomId.Value);                     
                 }
 
                 foreach ( CACmdLineFSEntity entry in metaDataFiles )
@@ -779,16 +787,15 @@
             }
         }
 
-
+        // Returns true if there exists symbols
         private bool ContainsSymbols( CIContainer aContainer )
         {
-            bool retval = false;
-            if (aContainer.FileNames.Length > 1)
-            {
-                retval = true;
-            }
-            return retval;
+            DbgEntityConfig config = null;
+            CIInfoSW info = (CIInfoSW)aContainer.ChildByType(typeof(CIInfoSW));
+            if(info != null)
+                config = aContainer.Engine.DebugEngine.ConfigManager.ConfigById(new DbgEntityConfigIdentifier(info.ImageCheckSum));
 
+            return (config != null || iInputs.SymbolsGiven);
         }
 
         private bool IsSymbollessMobileCrash(CIContainer aContainer)
@@ -894,9 +901,9 @@
             } 
 
             // Move the file.
-            System.Console.WriteLine("Moving file " + aFile.Name + " to " + newName);
-            if (!iInputs.TestWithoutMovingFiles)
+            if (!iInputs.NotMovingFiles)
             {
+                System.Console.WriteLine("Moving file " + aFile.Name + " to " + newName);
                 File.Move(aFile.Name, newName);
                 if (!File.Exists(newName))
                 {
--- a/crashanalysercmd/UI/CrashServer/Engine/Inputs/CACmdLineInputParameters.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/UI/CrashServer/Engine/Inputs/CACmdLineInputParameters.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -116,7 +116,7 @@
                     }
                     if (paramId == "-t")
                     {
-                        TestWithoutMovingFiles = true;
+                        NotMovingFiles = true;
                     }
                     if (paramId == "-x")
                     {
@@ -139,6 +139,7 @@
                     // Crash files
                     if (paramId == "-b")
                     {
+                        CommandLineUsage = true;
                         FileInfo fi = new FileInfo(paramContent);
                         CACmdLineFSEntityList<CACmdLineFileSource> fileList = new CACmdLineFSEntityList<CACmdLineFileSource>();
 
@@ -164,6 +165,7 @@
                             FileInfo fi = new FileInfo(fileName);
                             if(fi.Exists)
                             {
+                                SymbolsGiven = true;
                                 fileList.Add(fi);
                             }
                         }
@@ -187,6 +189,37 @@
             }
 
             //Parameter scanning finished - validate content
+            if (CommandLineUsage)
+            {
+                if (iMetaData.Count == 0 && DecodeWithoutSymbols == false)
+                {
+                    System.Console.WriteLine("Error: No symbol files given. Give symbol files with parameter -m");
+                    retval = false;
+                }
+
+                if (!UseXmlSink)
+                {
+                    // Plain text output as default in command line usage.
+                    UseXmlSink = true;
+                    iSinkParams.PlainTextOutput = true;
+                }
+                    
+                // When used in command line mode set current directory as default archive, 
+                // error and skipped path (just some valid dir as it is not really used).
+                if (ArchivePath == String.Empty || SkippedPath == String.Empty)
+                {
+                    if (ArchivePath != String.Empty || SkippedPath != String.Empty)
+                    {
+                        System.Console.WriteLine("Please give either both the archive path and the skipped path, or neither of them.");
+                        System.Console.WriteLine("Not moving any files.");
+                    }
+                    NotMovingFiles = true;
+                    ArchivePath = Directory.GetCurrentDirectory();
+                    SkippedPath = ArchivePath;
+                    ErrorPath = SkippedPath + @"\errors";
+                }
+            }            
+                
             if (ArchivePath == string.Empty)
             {
                 System.Console.WriteLine("Error: No archive path given");
@@ -210,7 +243,7 @@
             }
             else //skipped path exists, create error path if not there
             {
-                if (!Directory.Exists(ErrorPath))
+                if (!Directory.Exists(ErrorPath) && !NotMovingFiles)
                 {
                     Directory.CreateDirectory(ErrorPath);
                 }
@@ -245,10 +278,9 @@
             iErrorPath = iErrorPath + @"\" + year + "_" + weekNum.ToString().PadLeft(2, '0');
 
 
-            if (TestWithoutMovingFiles)
+            if (NotMovingFiles)
             {
-                System.Console.WriteLine("Test mode parameter -t given: Not moving any files!" );
-                retval = true;
+                System.Console.WriteLine("Not moving any files!" );
             }
             else if (retval) //Archive & skipped directories exsits, clean up paths and add week numbers
             {
@@ -270,24 +302,36 @@
             {
                 PrintCommandHelp();
             }
-            System.Console.WriteLine("Using archive path " + ArchivePath + ", skipped path " + SkippedPath + " and error path " + ErrorPath);
-    
+            
+            if (!NotMovingFiles)
+            {
+                System.Console.WriteLine("Using archive path " + ArchivePath + ", skipped path " + SkippedPath + " and error path " + ErrorPath);
+            }
 
             return retval;
         }
 
         private void PrintCommandHelp()
         {
+            System.Console.WriteLine("Usage example:");
+            System.Console.WriteLine("CrashAnalyserServerExe.exe -b crashfile.bin -m mapfiles.zip,rom.symbol");
+            System.Console.WriteLine();
             System.Console.WriteLine("Command line parameters:");
-            System.Console.WriteLine("-a C:\\folderarchive\\   Location where to move files to permanent archive.");
-            System.Console.WriteLine("-s C:\\folder\\skipped\\  Location where to put skipped files to wait reprocessing.");
-            System.Console.WriteLine("-c C:\\folder\\output\\ Location where to put output files. Defaults to current working dir.");
-            System.Console.WriteLine("-b crashfile.bin   Crash file to be decoded.");
+            System.Console.WriteLine("-b crashfile.bin            Crash file to be decoded.");
             System.Console.WriteLine("-m crash.symbol,crash.map   Symbol/map/dictionary files.");
-            System.Console.WriteLine("-f Force decoding even if files are without symbols.");
-            System.Console.WriteLine("-t Test mode, will not move any files, ignores -a and -s.");
-            System.Console.WriteLine("-x Prints output in Xml format");
-            System.Console.WriteLine("-p Prints output in plain text format");
+            System.Console.WriteLine("-f                          Force decoding even if files are without symbols.");
+            System.Console.WriteLine("-x                          Prints output in Xml format");
+            System.Console.WriteLine("-p                          Prints output in plain text format (default)");
+            System.Console.WriteLine();
+            System.Console.WriteLine("For server usage:");
+            System.Console.WriteLine("-a C:\\folderarchive\\        Location where to move files to permanent archive.");
+            System.Console.WriteLine("-s C:\\folder\\skipped\\       Location where to put skipped");
+            System.Console.WriteLine("                            files to wait reprocessing.");
+            System.Console.WriteLine("-c C:\\folder\\output\\        Location where to put output files.");
+            System.Console.WriteLine("                            Defaults to current working dir.");
+            System.Console.WriteLine("-t                          Will not move any files,");
+            System.Console.WriteLine("                            ignores -a and -s.");
+            System.Console.WriteLine();
         }
 
         #endregion
@@ -337,17 +381,26 @@
             get { return iDecodeWithoutSymbols; }
             set { iDecodeWithoutSymbols = value; }
         }
-        public bool TestWithoutMovingFiles
+        public bool NotMovingFiles
         {
-            get { return iTestWithoutMovingFiles; }
-            set { iTestWithoutMovingFiles = value; }
+            get { return iNotMovingFiles; }
+            set { iNotMovingFiles = value; }
+        }
+        public bool SymbolsGiven
+        {
+            get { return iSymbolsGiven; }
+            set { iSymbolsGiven = value; }
         }
         public bool UseXmlSink
         {
             get { return iUseXmlSink; }
             set { iUseXmlSink = value; }
         }
-
+        public bool CommandLineUsage
+        {
+            get { return iCommandLineUsage; }
+            set { iCommandLineUsage = value; }
+        }
         #endregion
 
         #region Internal constants
@@ -396,9 +449,11 @@
         private string iArchivePath = string.Empty;       
         private string iSkippedPath = string.Empty;      
         private string iErrorPath = string.Empty;    
-        private bool iTestWithoutMovingFiles = false;
+        private bool iNotMovingFiles = false;
+        private bool iSymbolsGiven = false;
         private bool iUseXmlSink = false;
         private bool iDecodeWithoutSymbols = false;
+        private bool iCommandLineUsage = false;