SunSolve Online — Bug Report Viewer — The "Wild Monkey" CDE Incidents
◀ Back
Forward ▶
⌂ Home
Print...
Collection: Bug Reports / CDE & Motif
Source: SunSolve CD-ROM v4.0 (October 1998) and v4.0.15  |  Extracted from: common/data/bug.tar and common/data/patches.tar  |  Retrieved: March 31, 2026  |  Search term: "wild monkey"
▶  Overview & Bug Lineage

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.

Bug Lineage / Cross-References
Bug #4102680cde/motif
dtcm mouse crash
~1997–1998
Bug #4103891cde/calendar
dtcm click SEGV
Jan 1998
Bug #4256482motif/libxm
dtwm keyboard hang
Jul 1999
Patch 107081/107082Motif Runtime Patch
Solaris 7 SPARC/x86
~2000
Note: Bug #4256482 explicitly credits Bug #4102680 for the phrase "wild monkey."
▶  Bug Reports
Bug #4102680
stress test gets an XError (BadDrawable) under 2.7 CDEVersion1.3_8
INTEGRATED
Bug Id:
4102680
State:
integrated
Category:
cde
Subcategory:
motif
Component:
dtcm (Calendar Manager)
Release:
cde_1.3_08
Platform:
sparc
Patch Id:
(none)
Description
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
Stack Trace (dbx)
(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)))
⚠ Workaround
Don't pound on the mouse like a wild monkey (stress test).
Bug #4103891
stress testing (rapidly clicking view buttons) core dumps
INTEGRATED
Bug Id:
4103891
State:
integrated
Category:
cde
Subcategory:
calendar
Component:
dtcm (Calendar Manager)
Release:
cde_1.3_06
Platform:
sparc (SPARCstation-10, SunOS 5.7 Alpha)
Patch Id:
(none)
Description
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)
⚠ Workaround
Do not pound on buttons like a wild monkey
Bug #4256482
Banging on keyboard during cde startup causes dtwm hang
INTEGRATED
Bug Id:
4256482
State:
integrated
Category:
motif
Subcategory:
libxm
Component:
dtwm (Desktop Window Manager) / libXm
Release:
s28_32
Platform:
Dual-head, Solaris 2.6 with SDE
Patch Id:
105284-30, 105285-30
Submitted by:
channing.lovely@central
Date:
1999-07-22
See also:
4049745, 4102680 (source of the phrase)
 
 
Description
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.
⚠ Workaround (Note: developer explicitly credits Bug #4102680 for the phrasing)
Don't bang on the keyboard like a wild monkey (my thanks to the submitter of bug 4102680 for the literary construct)
On a more serious note: remove patch 105284 and the problem goes away.
Only tested with 105284-18 and 105284-25.
▶  Related Patches
Patch 107081-11 / 107082-11
Motif 1.2.7 and 2.1.1: Runtime library patch for Solaris 7 (SPARC / x86)
Patch-ID:
107081-11 (sparc)  /  107082-11 (x86)
Product:
Motif 1.2.7, 2.1.1
Solaris Release:
7 (SunOS 5.7)
Files patched:
libXm.so.3, libXm.so.4, libXm12.so, header files
Patch Description Entry for Bug #4256482
(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
Note: The synopsis from Bug #4256482 was carried verbatim into the official Motif patch readme, permanently enshrining the phrase in Sun Microsystems patch documentation. Patches 107081 and 107082 accumulated dozens of Motif fixes and went through at least 20 revisions through the year 2000.
▶  Search Methodology & Notes

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.

3 bugs found
2 patches referenced
Source: SunSolve 4.0 / 4.0.15
Search: "wild monkey" (case-insensitive)
SunSolve CD-ROM v4.0.15 — Sun Microsystems, Inc.