dosemu-freedos does not work out of the box.

Bug #48607 reported by PaulSchulz
10
Affects Status Importance Assigned to Milestone
dosemu (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

After installing 'dosemu' and 'dosemu-freedos', running 'dosemu' does get to a running dosemu shell with the error below..

----
ERROR: Unable to open console to evaluate the keyboard map.
Please specify your keyboard map explicitly via the $_layout option
----

Suggestions? Ideas?

Revision history for this message
PaulSchulz (paulschulz) wrote :

(Moved from dosemu-freedos)

Editing '/etc/dosemu/dosemu.conf', and changing $_layout = "us" causes execution to fail without reporting an error. (A message is flashed onto the dosemu screen.. but it's too fast to read.)

Revision history for this message
William Grant (wgrant) wrote :

It certainly doesn't work. How odd.

Changed in dosemu:
status: Unconfirmed → Confirmed
Revision history for this message
PaulSchulz (paulschulz) wrote :
Download full text (10.8 KiB)

Running with -o (debug) option gives the following output..

CONF: config variable parser_version_3 set
CONF: config variable c_system set
CONF: Parsing built-in dosemu.conf file.
CONF: config variable version_3_style_used set
CONF: Parsing built-in global.conf file.
CONF: config variable version_3_style_used unset
CONF: config variable version_3_style_used set
CONF: opened include file /etc/dosemu/dosemu.conf
CONF: closed include file /etc/dosemu/dosemu.conf
debug flags: -a+cw
CONF: Disabling use of pentium timer
CONF: dosbanner on
CONF: timer freq=18, update=54925
CONF: CPU set to 386
CONF: 8192k bytes XMS memory
CONF: 2048k bytes EMS memory
CONF: EMS-frame = 0xe000
CONF: DPMI-Server on
CONF: dosemu running on _xterm
SER: directory /var/lock namestub LCK.. binary No
MOUSE: no device specified, type 0 using internaldriver: yes, emulate3buttons: no baudrate: 0
CONF: Keyboard-layout keyb-user
ERROR: Unable to open console to evaluate the keyboard map.
Please specify your keyboard map explicitly via the $_layout option
CONF: Keyboard-layout us
CONF: **** Warning: floppy /dev/fd0 not accessable, disabled
CONF: fastfloppy = 1
CONF: IPX support off
CONF(LPT0) f: (null) c: lpr o: -Plp t: 20 port: 0
CONF: not allowing speaker port access
CONF: Packet Driver disabled.
device: /var/lib/dosemu/freedos type 4 h: -1 s: -1 t: -1 drive C:
CONF: config variable c_system unset
CONF: mostly running as USER: uid=1000 (cached 1000) gid=1000 (cached 1000)
DBG_FD already set
DOSEMU-1.2.2.0 is coming up on Linux version 2.6.15-23-386
CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K))
CONF: reserving 64Kb at 0xF0000 for 'r' (Dosemu reserved area)
CPU: Stack bottom 0xbfaf9000, top 0xbfb0e000, esp=0xbfb0b6b0
major = 136 minor = 4
CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory)
SERIAL $Header: /cvsroot/dosemu/dosemu/src/base/serial/ser_init.c,v 1.1.2.5 2004/02/10 00:36:26 bartoldeman Exp $
CONF: reserving 64Kb at 0xE0000 for 'E' (EMS page frame)
TIME: using 9154 usec for updating ALRM timer
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000004 cr2: 0x468a5b2d
eip: 0x468a5b2d esp: 0xbfabffb5 eflags: 0x00210282
cs: 0x0073 ds: 0x007b es: 0x007b ss: 0x007b
Page fault: read instruction to linear address: 0x468a5b2d
CPU was in user mode
Exception was caused by non-available page
  VFLAGS(b): 010000001010000010
EAX: 89d2d1e3 EBX: 00003440 ECX: 080f1c21 EDX: 00000003 VFLAGS(h): 00210282
ESI: 00000000 EDI: 0000694d EBP: 00000000
CS: 0073 DS: 007b ES: 007b FS: 0000 GS: 0033
FLAGS: SF IF RF IOPL: 0
OOPS : ERROR: Fault handler re-entered! signal=11 _trapno=0xE
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000004 cr2: 0x468a5b23
eip: 0x0805f160 esp: 0x083dd860 eflags: 0x00210202
cs: 0x0073 ds: 0x007b es: 0x007b ss: 0x007b
Page fault: read instruction to linear address: 0x468a5b23
CPU was in user mode
Exception was caused by non-available page
  VFLAGS(b): 010000001000000010
EAX: 00000007 EBX: 468a5b23 ECX: 08179ac0 EDX: 00000000 VFLAGS(h): 00210202
ESI: 0000000a EDI: 083dd8e4...

Revision history for this message
William Grant (wgrant) wrote :

Paul, can you please in future attach them, rather than posting them as a comment? Also, once would have been enough.

Revision history for this message
Fred H Olson (fholson) wrote :

When I type "dosemu" into a Gnome Terminal 2.14.1 window,
I also get :

 ERROR: Unable to open console to evaluate the keyboard map.
 Please specify your keyboard map explicitly via the $_layout option

I have found a few other symptoms:

If I try it in a smaller window I do get the '...you may want to enlarge your window..." first and it waits for me to hit enter before to proceeding to the other error.

If I log into a virtual terminal (ctrl-alt-f6 for example) and type
dosemu I get different errors (about 15 lines) which I hesitate to type in here completely but it includes:

cpu exception in dosemu code outside of VM86!
...
cpu was in user mode
...
cpu was in user mode
Exception was caused by non-available page

Revision history for this message
Fred H Olson (fholson) wrote :

I forgot to mention that dosemu (1.2.1.0) does work from a virtual terminal with Fedora Core 1 (more or less - I dont do so
regularly) Fred

Revision history for this message
PaulSchulz (paulschulz) wrote :

Some other things tried:
- Re-build package locally -> no change to output
- Tried older dosemu (1.2.1-3). Has a dependancy on slang1 which is unavailable on dapper.

Enabled debugging..
- Re-built without 'dh-strip -a ' in 'debian/rules'
- Added '-g' to CFLAGS in configure.ac (This didn't seem to make any difference to the output.)

Installed and ran 'gdb dosemu -- -O | tee log.txt'
See attached log file (console control codes have been removed).

Revision history for this message
PaulSchulz (paulschulz) wrote : gdb output with backtrace.

Generated using 'gdb dosemu.bin -- -O | tee log.txt'.

Revision history for this message
PaulSchulz (paulschulz) wrote :

Previosu package 'dosemu_1.2.2-1_i386.deb' also has the same problem.

Revision history for this message
Henry Cooper Avel (henrique-ulbrich) wrote : Upstream Debian Sarge has the same bug (and solution)

You should upgrade to the Unstable package.

The problem seems to be the "comcom" command shell, which is outdated and deprecated. Sadly, the Ubuntu team chose to use it.
 :(

The solution is to replace the "comcom" command shell with the new FreeDOS command shell, available here:

http://freedos.sourceforge.net/freecom/packages/082pl3/xmsswap.zip

Just rename the "command.com" that comes with the zip file as
/usr/lib/dosemu/commands/comcom.com .

Relevant bug reports in upstream Debian.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327153
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=212126;archive=yes

Isn't the Ubuntu dev team supposed to follow the Debian bugtrack closely? This bug was resolved 19.Oct.2005 and closed 19.Feb.2006. Why didn't anyone notice, almost NINE MONTHS later??

Revision history for this message
Henry Cooper Avel (henrique-ulbrich) wrote :

Just another comment:

The rotten comcom.com has only 234 bytes. (!!?!??!!!)

The new FreeDOS command.com (renamed to comcom.com) has 93.963 bytes (93 kB).

Revision history for this message
Bart Martens (bartm) wrote :
Changed in dosemu:
status: Confirmed → Rejected
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.