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.
Note that some panics are raised in debug builds only.
1 |
Out of range opcode. The client has sent a request opcode that was not recognized. Each server-side object can only handle some of the requests defined in the window server, and if the request isn’t recognized, 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 On the server side, a |
5 |
A single drawing command was too big to fit into the client-side buffer. The size of the buffer may be increased. See |
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 did not recognize the handle. On the server side, this panic is ultimately raised by |
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:
|
8 |
Event read already outstanding. |
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 |
10 |
Attempted to activate an already active graphics context. On the server side, this is raised by The request is sent by the client-side method |
11 |
Window already active. An attempt was made to reactivate
an active window. The request is sent by the client-side method On the server side, this
panic is raised by |
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 On the
server side, this panic is raised if an |
13 |
Invalid font handle. On the client-side is raised
if On the server side, |
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 On the server side, this panic is raised by |
15 |
Attempted to set an invalid text cursor type, see Valid types are defined
in the |
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 |
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 |
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 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 On the server side, the |
24 |
Leave from a non-leaving animation function. Code
in an animated DLL called by the server invoked |
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 On the server side, |
30 |
Not used. |
31 |
The client tried to construct a window with an invalid redraw
type. The valid redraw types defined in the enumeration On the server side, this
panic is raised by |
32 |
A server-side redraw region is almost certainly corrupt. This panic is raised when an |
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 This panic is raised by |
34 |
Not used. |
35 |
A client passed an invalid or unrecognized corner type or flag. This panic is raised in response to a client call to Valid flags are masked by ECornerTypeMask, and recognised types are defined in TCornerType. These are all defined in The server raises this panic as a response to |
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 On the server side, the panic is raised
in response to an |
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 |
42 |
A client attempted to set or clear a system pointer cursor without first owning the list of system pointer cursors. The server requests which can raise this panic are |
43 |
A client attempted to enable a pointer move buffer when none was allocated. |
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
Valid password modes are defined in TPasswordMode of |
47 |
An invalid compute mode was sent to the window server. On
the client side, |
48 |
A client attempted to set the display mode of a backed-up
window. This can be done with |
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 |
50 |
A client tried to send a second initialization message,
i.e. to call |
51 |
A client attempted to send a message without specifying a target window. This can be raised, for example, in response
to |
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. |
53 |
A client attempted to reset a window group’s default owning
window. For example, by calling the function 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 |
55 |
A client attempted to set an invalid screen enforcement mode. The valid screen mode enforcement modes are defined in TScreenModeEnforcement. |
56 |
A client specified an event type which was not a pointer
event, when this is what was required by the operation. For example
the |
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. |
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, for example
the |
59 |
A client attempted to use a |
60 |
The handle to a window server resource is already in use (debug builds only). |
61 |
An attempt was made to set a custom text cursor (using |
62 |
An attempt was made to set a custom text cursor (using |
63 |
An attempt was made to set a custom text cursor (using |
64 |
An attempt was made to set a transparency operation to a window that has not been enabled to be transparent. |
65 |
An multiple screen API function was called with an illegal screen number. |
66 |
An attempt was made to call an event API without specifying
the SwEvent capability, such as |
67 |
A leave occurred whilst processing a command in the middle of the buffer. |
68 |
An attempt was made to try to use a group window with a deleted screen device. |
69 |
Redraw storing cannot be disabled for transparent window. |
70 |
Bad internal state in |
71 |
An attempt was made to use an uninitialised |
72 |
Client IPC message is |
73 |
Incompatible use of window transparency and background surface or overlay. |
74 |
A notification request is pending for a window so new requests cannot be added for that window. |
75 |
An incorrect surface type has been used. |
76 |
Attempted use of a surface configuration without any valid members. |
77 |
Not used. |
78 |
Illegal display mode is used. |
79 |
A draw operation was performed on the |
80 |
General invalid parameter code for invariant checking. |
81 |
Invalid drawable source handle. |
82 |
Child applications can only be constructed on the same screen as their parent. |
83 |
With screen capture disabled, an unexpected invalid request has been received. |
84 |
Use of a display configuration without valid members. |
85 |
Invalid use of FixNativeOrientation() |
86 |
Can be used when advanced pointers are enabled after an |