Three related Sun Microsystems bug reports were discovered in the SunSolve CD-ROM archive that contain the phrase "wild monkey". All three relate to CDE (Common Desktop Environment) and Motif components on Solaris, and all were triggered by abnormally rapid user input — rapid mouse button clicks or rapid keyboard input during startup.
The phrase originated in Bug #4102680, filed against dtcm (the CDE Calendar Manager), where the workaround section humorously instructs the user: "Don't pound on the mouse like a wild monkey." This literary flourish apparently became something of an in-joke within the Sun/CDE engineering team, as it was explicitly credited and re-used in the subsequent Bug #4256482.
Bug #4256482 was serious enough to be fixed via Motif patches 107081-11 (SPARC) and 107082-11 (x86), and its synopsis — "Banging on keyboard like a wild monkey during cde startup causes [dtwm hang]" — was reproduced verbatim in the official patch readme.
Under 2.7 (on pasta displayed remotely) rapidly clicking mouse buttons (1, 2 and 3) on day, month, week and year view buttons, in dtcm with LANG=he_IL, gets the following XError: (dbx) run -display alex3:0.0 Running: dtcm -display alex3:0.0 (process id 10782) Warning: locale not supported by C library, locale unchanged Reading symbolic information for libxfn.so.1 Reading symbolic information for libxfn.so.2 ... X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 62 (X_CopyArea) Resource id in failed request: 0x2 Serial number of failed request: 15053 Current serial number in output stream: 15056 execution completed, exit code is 1
(dbx) where [1] _XError(0x129ac8, 0xefffeba8, ...), at 0xef31f350 [2] _XReply(0x129ac8, 0x8c0d, ...), at 0xef31183c [3] XTranslateCoordinates(0x129ac8, 0x2a, ...), at 0xef315140 =>[4] ProcessMotionBuffer(dc = 0x77b2a0, mb = 0xefffeccc), line 2700 in "DragC.c" [5] DragMotion(w = 0x77b2a0, event = 0xeffff898, ...), line 2760 in "DragC.c" [6] InitiatorMainLoop(clientData = 0x134b68, ...), line 3223 in "DragC.c" ... [9] XtAppMainLoop(0x1267a8, ...), at 0xef3ae338 [10] main(argc = 3, argv = 0xeffffb74), line 2873 in "calendarA.c" (dbx) print protoWindow protoWindow = 0 Root cause: protoWindow == 0 causes ProcessMotionBuffer() to call XTranslateCoordinates() with an invalid window. The guard condition: if (protoWindow == XtWindow(dc->drag.curDragOver)) evaluates to TRUE when protoWindow == 0 (None), which it should not. Fix: add protoWindow != None check: if ((protoWindow != None) && (protoWindow == XtWindow(dc->drag.curDragOver)))
stress testing (rapidly clicking view buttons) core dumps as follows: t@1 (l@1) signal SEGV (no mapping at the fault address) in cleanup_after_weekview at line 423 in file "weekglance.c" 423 XtUnmanageChildren(w->hot_button, 7); (dbx) where =>[1] cleanup_after_weekview(c = 0x122590), line 423 in "weekglance.c" [2] year_button(widget = 0x159320, data = (nil), ...), line 165 in "yearglance.c" [3] XtCallCallbackList(0x159320, 0xeeb0caa0, ...), at 0xeef4f944 [4] ToggleButtonCallback(data = 0x159320, reason = 2U, ...), line 1228 in "ToggleBG.c" [5] Select(tb = 0x159320, event = 0xefffeeb4), line 1541 in "ToggleBG.c" ... [16] main(argc = 1, argv = 0xeffff3cc), line 2898 in "calendarA.c" (dbx) print w w = (nil) (dbx) print week_label week_label = (nil) (dbx) print appt_text appt_text = (nil) Root cause: NULL pointer dereference in cleanup_after_weekview() when called while switching views with rapid button clicks. The widget pointer 'w' is NULL, causing SEGV at the XtUnmanageChildren call. Environment: CDEVersion1.3_6:sparc:12Jan98-15:05:31 SunOS alex3 5.7 Alpha sun4m sparc SUNW,SPARCstation-10 48MB RAM (more susceptible than 64MB systems)
During CDE startup, repeated and rapid Help and <Ctrl>Help key events during
CDE login will hang CDE. Have to really wail on the keyboard — tentative
occasional keystrokes will not encounter the difficulty.
Environment: dual head machines running Solaris 2.6 with SDE installed.
Reproduction steps:
1. Untar the tar file in /apps directory.
2. Create symbolic link from /etc/dt to /apps/ETSDdt
3. Restart CDE
4. Login as root
5. Enter the password
6. As soon as you enter the password, start pressing "Help" and
"Control-Help" as fast as you can with both hands.
7. When the desktop comes up, continue pressing the keys for ~1-2 minutes.
8. At this point, the following will not work:
- right click of mouse
- "control-help"
- windows won't focus properly
Patch isolation results:
Clean Solaris 2.6 HW 5/98 + SDE 1.0: CANNOT reproduce
+ recommended patch cluster from 4.0.2: CAN reproduce
backed out 105181-11: CAN reproduce
backed out 105703-07: CAN reproduce
backed out 106242-01: CAN reproduce
backed out 105284-18: CANNOT reproduce <-- culprit
installed 105284-25 (latest): CAN reproduce
backed out 105284-25: CANNOT reproduce
Conclusion: regression introduced in Motif patch 105284.
(from 107081-11) 4256482 Banging on keyboard like a wild monkey during cde startup causes [dtwm hang] 4260817 "Write to unallocated" has occurred in XtAppInitialize under OpenWindows
Search scope: All compressed document archives (.z files) from SunSolve CD-ROM v4.0.15 and v4.0 (October 1998), including bug.tar, faqs.tar, infodoc.tar, patches.tar, srdb.tar, stb.tar, and enotify.tar. Total files searched: ~245,000 compressed documents.
Technical note: The .z files within the SunSolve archives use zlib deflate compression (magic bytes 78 9C), not the Unix compress format that the .z extension would normally suggest. Standard zcat is unable to decompress these files; Python's zlib.decompress() is required.
Additional sources checked (negative results): Google Groups (comp.unix.solaris, comp.sys.sun.misc, comp.windows.open-look), illumos OpenSolaris bug archive, Wayback Machine (bugs.opensolaris.org), and general web searches. The phrase does not appear to be indexed anywhere on the public web — it exists solely within the SunSolve CD-ROM archive.