Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 631190 - app-emulation/dosemu 1.4.1_pre20130107-r4 - dosemu hangs
Summary: app-emulation/dosemu 1.4.1_pre20130107-r4 - dosemu hangs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Sergei Trofimovich (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-17 10:08 UTC by Tom
Modified: 2017-11-04 10:30 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom 2017-09-17 10:08:08 UTC
Hello,

after upgrading dosemu from *-r3 to *-r4, it seems to hang just before accessing the dos drives.
I've tried kernel versions 4.12.5, 4.9.34 and 4.4.something, as i suspected the kernel first.
Downgrading to *-r3 allows me to play my old dos games.

Greetings from Germany,
Tom

## emerge --info dosemu:

Portage 2.3.6 (python 2.7.12-final-0, default/linux/x86/13.0, gcc-4.9.4, glibc-2.23-r4, 4.12.5-gentoo i686)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.12.5-gentoo-i686-Pentium-R-_Dual-Core_CPU_T4500_@_2.30GHz-with-gentoo-2.3
KiB Mem:     2035212 total,   1550108 free
KiB Swap:    2160736 total,   2160736 free
Timestamp of repository gentoo: Tue, 15 Aug 2017 07:00:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28 p1.2) 2.28
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.28-r2::gentoo
sys-devel/gcc:            4.9.4::gentoo, 5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

kde-sunset
    location: /usr/local/overlay/kde-sunset
    sync-type: git
    sync-uri: git://anongit.gentoo.org/proj/kde-sunset.git
    masters: gentoo

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer -fno-stack-protector"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer -fno-stack-protector"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer -fno-stack-protector"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer -fno-stack-protector"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X Xaw3d a52 aac acl acpi alsa amr apache2 berkdb bs2b bzip2 cairo cdda cddb cdr cli cracklib crypt css cups curl cxx dbus device-mapper dri dts dv dvd dvdr encode exif extensions extras fam ffmpeg fftw firefox flac flatfile fontconfig fortran ftp gdbm gif gmp gphoto2 gstreamer iconv icu id3tag imagemagick inotify ipc ipv6 javascript jbig jit jpeg jpeg2k kde kpathsea ladspa lame latex lcms libnotify libsoxr lzma mad mbox mikmod mime mmap mms mmx mmxext mng modules mp3 mp4 mpeg ncurses nls nntp nptl nsplugin nss ogg opengl openmp opus pam pcmcia pcre pdf plasma plotutils png postscript qt3support qt4 qt5 raw readline seccomp session snmp sockets speex sse sse2 sse3 ssl ssse3 startup-notification svg syslog sysvipc taglib tcpd theora tiff toolame truetype twolame udev unicode usb vcd vhosts vim-syntax vorbis vpx wavpack webp x264 x265 x86 xattr xft xinetd xml xpm xv xvid zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2 canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

app-emulation/dosemu-1.4.1_pre20130107-r4::gentoo was built with the following:
USE="X alsa -debug -fluidsynth -gpm -sndfile -svga"
Comment 1 Robert Gill 2017-11-03 02:08:01 UTC
I had the same issue. I was able to fix it by disabling the patch dosemu-1.4.1_pre20130107-ia16-ldflags.patch from being applied.
Comment 2 Robert Gill 2017-11-03 02:16:57 UTC
Portage 2.3.8 (python 3.4.5-final-0, default/linux/x86/13.0, gcc-5.4.0, glibc-2.23-r4, 4.12.12-gentoo i686)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.12.12-gentoo-i686-Intel-R-_Xeon-R-_CPU_E5405_@_2.00GHz-with-gentoo-2.4.1
KiB Mem:     3367644 total,    621900 free
KiB Swap:    8008396 total,   8007876 free
Timestamp of repository gentoo: Fri, 03 Nov 2017 02:00:01 +0000
Head commit of repository gentoo: df1387eae217481b44a32fd9fe04919def2099f3
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.32.1::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.28.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

local
    location: /usr/local/portage
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl audit bash-completion berkdb bzip2 cli cracklib crypt cxx dri gdbm graphite iconv icu lzma modules ncurses nls nptl nscd pam pcre perl python readline ruby seccomp session sql ssl syslog tcpd threads unicode vim-pager vim-syntax x86 xattr zlib zsh-completion" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

app-emulation/dosemu-1.4.1_pre20130107-r4::local was built with the following:
USE="-X -alsa -debug -fluidsynth -gpm -sndfile -svga"
CFLAGS="-march=native -O2 -fomit-frame-pointer -pipe -fstack-protector"
Comment 3 Tom 2017-11-04 06:32:48 UTC
Hello Robert,

THX a lot - this really solves the problem. :)

@all others having the same problem:
Since I haven't found any documentation on how to disable patches from being
applied, I've created a user patch file undoing the faulty patch.
The following patch needs to be installed under directory:
/etc/portage/patches/app-emulation/dosemu/
called: undo-dosemu-1.4.1_pre20130107-ia16-ldflags.patch

CU Tom

### snip for bugfix ###
--- hangs/Makefile.conf.in.orig	2017-11-04 06:56:28.629018886 +0100
+++ works/Makefile.conf.in	2017-11-04 06:57:14.382104354 +0100
@@ -53,8 +53,6 @@
 LDFLAGS:=@LDFLAGS@
 ALL_LDFLAGS:=@DOSEMU_LDFLAGS@ ${LDFLAGS}
 DOSBIN_LDFLAGS:=@DOSBIN_LDFLAGS@
-# flags to "link" 16-bit .com files
-IA16_LDFLAGS:=-Wl,-Ttext,0x100,-e,_start16,--oformat,binary -nostdlib -s @IA16_LDFLAGS_EXTRA@
 LIBS:=@LIBS@
 X_LIBS:=@X_LIBS@
 SLANGLIB:=@SLANGLIB@
--- hangs/configure.ac.orig	2017-11-04 06:56:28.632352201 +0100
+++ works/configure.ac	2017-11-04 06:57:14.382104354 +0100
@@ -602,7 +602,6 @@
 AC_SUBST(LIBS)
 AC_SUBST(X_LIBS)
 AC_SUBST(X_CFLAGS)
-AC_SUBST(IA16_LDFLAGS_EXTRA)
 
 dnl Create output files. If you add new ones, please do it in order.
 
--- hangs/src/commands/Makefile.orig	2017-11-04 06:56:28.632352201 +0100
+++ works/src/commands/Makefile	2017-11-04 06:57:14.382104354 +0100
@@ -54,11 +54,11 @@
 dosbin: $(COM1) $(COM2) $(SYS)
 
 $(D)/%.sys: %.o
-	$(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+	$(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
 	chmod -x $@ 
 
 $(D)/%.com: %.o
-	$(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+	$(LD) $(ALL_LDFLAGS) -Wl,-Ttext,100,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
 	chmod -x $@
 
 precomp: $(PD)/unix.exe $(PD)/cmdline.exe $(PD)/emumouse.exe \
--- hangs/src/plugin/commands/Makefile.orig	2017-11-04 06:56:28.632352201 +0100
+++ works/src/plugin/commands/Makefile	2017-11-04 06:57:14.382104354 +0100
@@ -55,7 +55,7 @@
 	./mkcomstub $(D)/generic.com $@ $(basename $(@F))
 
 $(D)/%.com: %.o
-	$(LD) $(ALL_LDFLAGS) $(IA16_LDFLAGS) -o $@ $<
+	$(LD) $(ALL_LDFLAGS) -Wl,-Ttext,0x100,-e,_start16,--oformat,binary -nostdlib -s -o $@ $<
 	chmod -x $@
 
 install: all
Comment 4 Larry the Git Cow gentoo-dev 2017-11-04 10:19:27 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26a7caea7e40a8bcda903705376cc9209dced9fa

commit 26a7caea7e40a8bcda903705376cc9209dced9fa
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2017-11-04 10:16:08 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2017-11-04 10:19:20 +0000

    app-emulation/dosemu: unbreak misaligned .sys files,  bug #631190
    
    In bug #618366 I've added -no-pie LDFLAGS propagation to 16-bit targets
    but did not notice dosemu has different varying base addresses for
    different .com files (and I've overlooked 0-based .sys rules).
    
    Specifying wrong base address caused incorrect jump offsets
    into the final binary. That caused crash and hangup of cdrom.sys
    driver.
    
    This change restores original base addresses.
    
    Reported-by: Tom
    Reported-by: Robert Gill
    Bug: https://bugs.gentoo.org/631190
    Package-Manager: Portage-2.3.13, Repoman-2.3.4
    RepoMan-Options: --force

 ...e20130107-r4.ebuild => dosemu-1.4.1_pre20130107-r5.ebuild} |  0
 .../dosemu/files/dosemu-1.4.1_pre20130107-ia16-ldflags.patch  | 11 +++++------
 2 files changed, 5 insertions(+), 6 deletions(-)}
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2017-11-04 10:30:29 UTC
Gah, my original patch was complete garbage. I wonder how I've managed to miss
different '-Wl,-Ttext,' bases. Restored bases and now dosemu does not hang for
me at least on startup and gets to the prompt.

Thanks all for the report and quickly nailing down offending patch!