diff -r 000000000000 -r 5ad7ad99af01 crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/WSERV.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/WSERV.htm Thu Feb 11 15:06:45 2010 +0200 @@ -0,0 +1,653 @@ +

WSERV

+

+The window server runs continuously and brings the machine down if it +crashes, so it cannot panic its own thread when it detects an error in one of +its client’s requests. Instead it panics the client’s thread using +CSession::Panic(). These panics have a category of WSERV. +

+

+These panics are defined in the enumeration TClientPanic in +w32cmd.h. +

+

+Note that some panics are raised in debug builds only. +

+1 +

+Out of range opcode. +

+

+The client has sent a request opcode that wasn’t recognised. Each +server-side object can only handle some of the requests defined in the window +server, and if the request isn’t recognised, this panic is raised. +

+

+Clients would normally only get this is if they bypass the normal +Window Server API. +

+2 +

+Invalid command buffer. +

+

+A corrupt buffer of requests was discovered by the server. This is +raised when the buffer itself is noticeably broken, and not when the commands +in it are wrong. +

+3 +

+Invalid handle. +

+

+The server couldn’t find the target object for a request in the +handle index. This can be raised when a command is sent to the handle for a +window that has been closed, for example. +

+4 +

+A handle whose value was NULL was detected. +

+

+For example, when Constructing one of the subclasses of the +client-side RWindowBase with a client handle argument of +NULL. +

+

+On the server side, a TWsClCmdCreateWindow with a +client handle field of NULL passed as argument to +CWsClientWindow::ConstructL() will raise this error. +

+5 +

+A single drawing command was too big to fit into the +client-side buffer. +

+

+The size of the buffer may be increased. See +RWsSession::SetBufferSizeL() and +RWsSession::SetMaxBufferSizeL(). +

+6 +

+Invalid window handle. +

+

+A handle which should have referred to a window of a particular +type referred to a window of another type, or the object index didn’t recognise +the handle. +

+

+On the server side, this panic is ultimately raised by +CWsClient::HandleToWindow() and +CWsClient::HandleToClientWindow() during handle conversions. +

+7 +

+Invalid bitmap handle. +

+

+A corrupt bitmap handle was encountered. This is a common panic +uncovered when a bitmap handle refers to nothing, or to a server-side object +that isn’t a bitmap. +

+

+Also: +

+

+In response to an EWsGcOpUseBrushPattern request +if the bitmap parameter couldn’t be used. On the client side, +CWindowGc::UseBrushPattern() sends this request. +

+

+In response to an EWsSpriteOpAppendMember request +when the bitmaps for the sprite member can't be created on the server side. On +the client side, RWsSpriteBase::AppendMember() sends this +request. +

+

+Any failed attempt to duplicate a supplied bitmap. +

+8 +

+Event read already outstanding. +

+

+RWsSession::EventReady(), +RWsSession::RedrawReady(), or +RWsSession::PriorityKeyReady() was called again when an +event read was already outstanding, i.e.. when an event was waiting to be +delivered by the window server. +

+9 +

+Attempted to use a non-active graphics context. +

+

+A drawing request was sent to a graphics context when the context +was not active. +

+

+On the server side, this panic is raised by +CWsGc::CommandL() on all requests received when the context isn’t +active except EWsGcOpActivate, EWsGcOpDeactivate, +EWsGcOpFree, and EWsGcOpTestInvariant. +

+10 +

+Attempted to activate an already active graphics context. +

+

+On the server side, this is raised by +CWsGc::Activate() as a response to a EWsGcOpActivate + +request. +

+

+The request is sent by the client-side method +CWindowGc::Activate(). +

+11 +

+Window already active. +

+

+An attempt was made to reactivate an active window. The request is +sent by the client-side method RWindowBase::Activate(). +

+

+On the server side, this panic is raised by +CWsClientWindow::Activate() in response to an +EWsWinOpActivate request. +

+12 +

+Already inside a begin/end redraw pair. +

+

+A begin-redraw window request was made when the window had already +begun redrawing. Begin-redraw messages are paired with end-redraw messages, and +ordering is important. Invoking RWindow::BeginRedraw(), +then RWindow::BeginRedraw() again before the corresponding +RWindow::EndRedraw() raises this panic. +

+

+On the server side, this panic is raised if an +EWsWinOpBeginRedraw request is sent twice before the closing +EWsWinOpEndRedraw +. +

+13 +

+Invalid font handle. +

+

+On the client-side is raised if +CWindowGc::UseFont() is called with an invalid font +handle. +

+

+On the server side, CWsGc::SetGcAttribute() raises +this error in response to an EWsGcOpUseFont request. +

+14 +

+Printing with no active font. +

+

+A command to draw text to a window was sent to a graphics context +when no font was set. Any of the overloads of +CWindowGc::DrawTextVertical() or +CWindowGc::DrawText() might cause the panic to be raised; +the font should be set using CWindowGc::UseFont() first. +

+

+On the server side, this panic is raised by +CWsGc::DoDrawCommand() in response to any of the requests to +display text defined in TWsGcOpcodes. +

+15 +

+Attempted to set an invalid text cursor type, see +RWindowGroup::SetTextCursor(). +

+

+Valid types are defined in the TTextCursor +struct. +

+16 +

+A drawing command was sent to a graphics context active on a group +window. +

+17 +

+Not used. +

+18 +

+Not used. +

+19 +

+Attempted to use a patterned brush when the pattern bitmap has not +yet been set — UseBrushPattern(). +

+20 +

+Not used. +

+21 +

+Attempted to do a client destroy function on an illegal handle. +

+

+A client tried to destroy or cancel a server-side object by its +handle on an unrecognised handle, or on a handle of the wrong type for the +operation. +

+

+This panic may be caused by the +RWindowGroup::CancelCaptureKeyUpAndDowns() or +RWindowGroup::CancelCaptureKey() methods. These correspond +to the EWsWinOpCancelCaptureKeyUpsAndDowns and +EWsWinOpCancelCaptureKey server requests. In this case, the panic +means that there is no such capture key object in existence in the target +window group. +

+22 +

+Panic from the Anim DLL. +

+

+An animation DLL tried either changing its default or next timing +interval when its timing mode was set to ESyncNone, or activating +a graphics context when the context was already activated. +

+

+There are a variety of other reasons why this panic might be +raised, all which are Anim DLL related. The Animation writer can also cause +functions raise this panic. +

+23 +

+Invalid Anim object handle. +

+

+A null animation handle was detected in the server on receipt of an +animation command, possibly because the relevant animation has been deleted. +This panic may be raised by a subclass of RAnim calling +RAnim::Command() or +RAnim::CommandReply(). +

+

+On the server side, the EWsAnimDllOpCommandReply and +EWsAnimDllOpCommand requests can raise this panic in +CWsAnimDll +. +

+24 +

+Leave from a non-leaving animation function. +

+

+Code in an animated DLL called by the server invoked +Leave(). Animated DLL code is provided by the client and run by +the server, so unhandled leaves are trapped and the notification is passed on +as a client panic. +

+25 +

+Not used. +

+26 +

+Not used. +

+27 +

+Not used. +

+28 +

+Inconsistent polygon or polyline data was supplied. For example +when restarting without finishing an old polygon. +

+29 +

+A client attempted to set a negative shadow height. +

+

+This panic is caused by a call to +RWindowBase::SetShadowHeight() with a negative argument. +

+

+On the server side, CWsClientWindow::CommandL() raises +the panic in response to an invalid EWsWinOpSetShadowHeight +request. +

+30 +

+Not used. +

+31 +

+The client tried to construct a window with an invalid redraw type. +The valid redraw types defined in the enumeration TWinTypes of +w32cmd.h +. +

+

+On the server side, this panic is raised by +CWsClientWindow::ConstructL() in response to an initialisation +message containing an invalid redraw type. +

+32 +

+A server-side redraw region is almost certainly corrupt. +

+

+This panic is raised when an EWsWinOpGetInvalidRegion +is received by a CWsRedrawMsgWindow with a TInt +parameter of zero or less. +

+33 +

+The client failed to provide a reply buffer to a server-side +function when one was needed. +

+

+All server-side functions that need more space for their reply than +a TInt use the client’s reply buffer. If the client fails to +provide space for such replies, this panic will be emitted. +

+

+This panic is raised by CWsClient::ReplyBuf() when +CWsClient’s reply buffer is null. +

+34 +

+Not used. +

+35 +

+A client passed an invalid or unrecognised corner type or flag. +

+

+This panic is raised in response to a client call to +RWindowBase::SetCornerType() when specifying inconsistent +or non-existent flags. +

+

+Valid flags are masked by ECornerTypeMask, and +recognised types are defined in TCornerType. These are all +defined in w32std.h. +

+

+The server raises this panic as a response to +EWsWinOpSetCornerType request with an undefined corner type or an +unrecognised flag in its parameters. +

+36 +

+The server was asked to update a region of a backed-up window which +has not had MaintainBackup called on it. +

+

+A client-side call to either form of +RBackedUpWindow::UpdateScreen() may raise this panic. +

+

+On the server side, the panic is raised in response to an +EWsWinOpUpdateScreenRegion or EWsWinOpUpdateScreen + +request when not maintaining a full backup of a backed-up window. +

+37 +

+Panic raised when it was not possible to read or write data to the +client thread. The data is usually contained in a descriptor. +

+38 +

+The client attempted to access a sprite after the sprite's window +was destroyed. Note that pointer cursors are implemented as sprites. +

+39 +

+A client requested event data without having received an event +telling it that the data was ready. +

+40 +

+The mask for a sprite is smaller than the sprite’s bitmap. A mask +is permitted to be larger than its bitmap. +

+41 +

+Bad sprite handle. +

+

+A null sprite handle was encountered, or a handle which was +supposed to refer to a sprite referred to something else. +

+

+The client-side methods +RWindowTreeNode::SetCustomPointerCursor() and +RWsSession::SetSystemPointerCursor(), amongst others, can +cause this panic to be raised; they correspond to the server requests +EWsWinOpSetCustomPointerCursor and +EWsClOpSetSystemPointerCursor. +

+42 +

+A client attempted to set or clear a system pointer cursor without +first owning the list of system pointer cursors. +

+

+RWsSession::SetSystemPointerCursor() and +RWsSession::ClearSystemPointerCursor() can raise this +panic. See also RWsSession::ClaimSystemPointerCursorList() +and RWsSession::FreeSystemPointerCursorList(). +

+

+The server requests which can raise this panic are +EWsClOpSetSystemPointerCursor and +EWsClOpClearSystemPointerCursor. +

+43 +

+A client attempted to enable a pointer move buffer when none was +allocated. +

+

+RWindowBase::EnablePointerMoveBuffer() can +cause this panic to be emitted; the corresponding server request is +EWsWinOpEnablePointerMoveBuffer. +

+44 +

+Raised in response to commands that send a string, when the string +has been incorrectly stored in the command buffer. +

+45 +

+Not used. +

+46 +

+An invalid call or request parameter was detected by +CWsPassword. This can be caused: +

+

+By RWindowBase::PasswordWindow() sending +an EWsWinOpPasswordWindow server request whose password mode +parameter is not recognised. +

+

+By an attempt to cancel the password window by a client which +doesn’t own the window. +

+

+By RWsSession::PasswordEntered() sending a +EWsClOpPasswordEntered server request when no password window has +been set, or when the client does not own the password window. +

+

+Valid password modes are defined in +TPasswordMode of w32std.h. +

+47 +

+An invalid compute mode was sent to the window server. On the +client side, RWsSession::ComputeMode() can do this, the +window server request is EWsClOpComputeMode. Valid compute modes +are defined in the enumeration RWsSession::TComputeMode, +which is declared in w32std.h. +

+48 +

+A client attempted to set the display mode of a backed-up window. +This can be done with +RWindowBase::SetRequiredDisplayMode() or the +EWsWinOpRequiredDisplayMode server request. +

+49 +

+A client attempted to get a message when has not been signalled in +the server. +

+

+This panic can be raised on a client thread calling +RWindowGroup::FetchMessage() or sending the +EWsWinOpGetMessageSize or EWsWinOpGetMessage + messages. +

+50 +

+A client tried to send a second initialisation message, i.e. to +call RWsSession::Connect() twice. +

+51 +

+A client attempted to send a message without specifying a target +window. +

+

+This can be raised, for example, in response to +RWsSession::RequestOffEvents() +

+52 +

+A client attempted to perform and operation on a window that has +had its parent or ancestor deleted. An operation which might raise this panic +could be setting the window size, position or extent. +

+

+Introduced in v5.1 +

+53 +

+A client attempted to reset a window group’s default owning window. +For example, by calling the function +RWindowGroup::DefaultOwningWindow() twice on the same +window group. +

+

+This is only raised in debug builds. +

+54 +

+A client attempted to perform an operation on an invalid screen +mode. +

+

+For example, if the client called the functions +CWsScreenDevice::GetScreenModeSizeAndRotation() or +CWsScreenDevice::SetScreenMode() with an illegal index. +

+

+Introduced in v5.1 +

+55 +

+A client attempted to set an invalid screen enforcement mode. +

+

+The valid screen mode enforcement modes are defined in +TScreenModeEnforcement. +

+

+Introduced in v5.1 +

+56 +

+A client specified an event type which was not a pointer event, +when this is what was required by the operation. e.g. +RWindowGroup::SimulatePointerEvent(). +

+

+Introduced in v5.1 +

+57 +

+A client attempted to specify a screen rotation or orientation that +is not allowed. Each screen size mode has a list of allowed rotations. +

+

+Introduced in v5.1 +

+58 +

+A client attempted to call a function that can only be called on a +top level client window on a lower level window. A top level client window is a +window with a window group as a parent, e.g. +RWindowBase::MoveToGroup(). +

+

+Introduced in v6.0 +

+59 +

+A client attempted to use a +RDirectScreenAccess object's member functions in the wrong +order. +

+

+Introduced in v7.0 +

+60 +

+The handle to a window server resource is already in use (debug +builds only). +

+

+Introduced in v7.0 +

+61 +

+An attempt was made to set a custom text cursor (using +RWindowGroup::SetTextCursor()) but the cursor's type was +not recognised. +

+

+Introduced in v7.0s. +

+62 +

+An attempt was made to set a custom text cursor (using +RWindowGroup::SetTextCursor()) whose alignment value is +invalid. For valid alignment values see the +TCustomTextCursorAlignment enumeration in class +RWsSession. +

+

+Introduced in v7.0s. +

+63 +

+An attempt was made to set a custom text cursor (using +RWindowGroup::SetTextCursor()) that does not have any +sprite members set. +

+

+Introduced in v7.0s.

\ No newline at end of file