Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

SGI graphics Frequently Asked Questions (FAQ)
Section - -54- What does ERR_WMANIPC mean?

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Neighborhoods ]


Top Document: SGI graphics Frequently Asked Questions (FAQ)
Previous Document: -53- Can I use 4Dgifts code in my application?
Next Document: -55- How can I translate screen (x,y) coords into world (x,y,z) coords?
See reader questions & answers on this topic! - Help others by sharing your knowledge

  The "WMAN" in that message means "window manager."  However, this no
  longer means "window manager" such as 4Dwm, but rather the entire X
  Window system.  The error means that the GL program triggered a fatal
  X error.

  A GL program can get an X error, because all GL programs are actually
  X clients.  When a GL program does a winopen(), libgl actually calls
  XCreateWindow, etc.)

  When a GL program gets an X error, libgl prints out these X errors
  using this error message:

      GL: X request = maj.min,  error code = ercode

  where

      maj = major request code that caused the error
      min = minor request code
      ercode = X error code

  This turns out to be easy to interpret, so long as the request was a
  core X protocol request (e.g., a CreateWindow request).  In that
  case:

      1. You can look up the major code in /usr/include/X11/Xproto.h.
      2. The minor code is not used.
      3. The X error code can be found in /usr/include/X11/X.h.

  As you can see in Xproto.h, the core X protocol requests have request
  codes <= 127.

  However, if maj > 127, then the request is an X extension request.
  Unfortunately, it can be difficult to interpret this unless you built
  your program with a debugging libgl.a (compiled with -g).  The reason
  is that for an X extension, the major request code and the starting
  error code are copied from the X server during client startup, and
  these codes are saved in variables inside libgl.  With a debugging
  libgl, these variables can be printed out from within a debugger,
  such as dbx.

  If the major code indicates an X Input extension request, then the
  minor numbers then tell the X input request type, and these are found
  in /usr/include/X11/extensions/XIproto.h.

  Finally, the X Input Extension uses 132 as its "starting error code."
  The possible errors are found in /usr/include/X11/extensions/XI.h,
  where they're defined like this:

      #define XI_BadDevice   0
      #define XI_BadEvent    1
      #define XI_BadMode     2
      #define XI_DeviceBusy  3
      #define XI_BadClass    4

  If you add 132 to these numbers, you get the error that's reported by
  the libgl error message.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:




Top Document: SGI graphics Frequently Asked Questions (FAQ)
Previous Document: -53- Can I use 4Dgifts code in my application?
Next Document: -55- How can I translate screen (x,y) coords into world (x,y,z) coords?

Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
sgi-faq@viz.tamu.edu (The SGI FAQ group)





Last Update March 27 2014 @ 02:12 PM