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) {