Subject: pkg/34910: TME sun3 emulator asserts when typing quickly at the console
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <sigmfsk@aol.com>
List: pkgsrc-bugs
Date: 10/25/2006 15:20:00
>Number:         34910
>Category:       pkg
>Synopsis:       TME sun3 emulator asserts when typing quickly at the console
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 25 15:20:00 +0000 2006
>Originator:     arthur townsend
>Release:        3.0
>Organization:
>Environment:
3.0 for i386
>Description:
When typing quickly at the console, TME sometimes asserts:

tmesh> assertion "!pressed_old != !is_press" failed: file "keyboard.c", line 1688, function "_tme_keymode_stage"
[1]   Abort trap (core dumped) tmesh s2


pressed_old and is_press were both 1.


I am not able to reproduce the problem on command.  Rarely when typing fast the above occurs.  More often when typing fast, the shift key hangs a while (without an assertion), so that entering:

rm *.tmp
becomes
rm *>tmp

which is a little annoying.  :)
>How-To-Repeat:

>Fix:
I commented out the assertion via the following patch, so that I could continue running the emulator and see if any other assertions popped up.

TME seems to run fine with the following commented out (or when TME is built with --disable-debug) but the problem should be investigated before electing to permanently remove the assertion.



--- keyboard.c.orig     2006-10-24 10:51:02.000000000 -0400
+++ keyboard.c  2006-10-24 11:12:43.000000000 -0400
@@ -1685,7 +1685,13 @@
   /* passthrough mode generally passes events through: */
   else {
 
+/* following sometimes asserts with
+     pressed_old = 1
+     is_press = 1
+   when typing fast
+
     assert (!pressed_old != !is_press);
+*/
 
     /* if this is a press: */
     if (is_press) {