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 didn’t recognise 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. Introduced in v5.1 |
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 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. For example the 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, for example the Introduced in v6.0 |
59 |
A client attempted to use a 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 Introduced in v7.0s. |
62 |
An attempt was made to set a custom text cursor (using Introduced in v7.0s. |
63 |
An attempt was made to set a custom text cursor (using Introduced in v7.0s. |
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 Introduced in v8.1. |
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 Introduced in v9.4 |
73 |
Incompatible use of window transparency and background surface or overlay. Introduced in v9.4 |
74 |
A notification request is pending for a window so new requests cannot be added for that window. Introduced in v9.4 |
75 |
An incorrect surface type has been used. Introduced in v9.4 |
76 |
Attempted use of a surface configuration without any valid members. Introduced in v9.4 |
77 |
Not used |
78 |
Illegal display mode is used. Introduced in v9.5 |
79 |
A draw operation was performed on the Introduced in v9.4 |
80 |
General invalid parameter code for invariant checking. Introduced in v9.5 |
81 |
Invalid drawable source handle. Introduced in v9.5 |