Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 69543 - wine-20041019-r1 wine wrapper recurses if ~/.wine/config is not present
Summary: wine-20041019-r1 wine wrapper recurses if ~/.wine/config is not present
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High critical
Assignee: Wine Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-30 13:51 UTC by Marien Zwart (RETIRED)
Modified: 2004-10-30 17:51 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 Marien Zwart (RETIRED) gentoo-dev 2004-10-30 13:51:33 UTC
I just got the wine-20041019-r1 ebuild to merge and I figured I'd refresh my config, so I removed ~/.wine. This didn't work. /usr/bin/wine does:

source wine-setup || exit 1

then /usr/bin/wine-setup does:

if [ ! -f "$WINEPREFIX/config" ]
then
<snip>
    cp "${INSTALLDIR}/share/wine/data/config" "${WINEPREFIX}/config"

which failed because that file didn't exist, but it continued on:

      wine rundll32 <snip>

which starts /usr/bin/wine, which sources wine-setup, etc, etc, until the oom-killer started killing stuff. I think the script should die when the config cp fails to prevent this infinite recursion.

The reason the cp failed is probably because
doins documentation/sample/config

should be
doins documentation/samples/config

I'm currently remerging wine to verify this.

Reproducible: Always
Steps to Reproduce:
1. emerge wine (after adding a keyword and applying the fix from bug 69215)
2. rm -rf ~/.wine
3. wine

Actual Results:  
System became unresponsive after probably spawning thousands of bash instances.

Expected Results:  
Created a nice ~/.wine

(bugzilla-related notes: I'll assign this to wine@gentoo.org if it lets me. I've
labeled this 'critical' because the oom killer got confused after this
forkbomb-style attack and probably killed X, leaving the box in a
less-than-useful state)

Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20041021-r0, 2.6.9
-gentoo-r1-m1 i686)   
=================================================================
System uname: 2.6.9-gentoo-r1-m1 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.6.4
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -frename-registers"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -frename-registers"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs candy ccache distlocks sandbox userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo
ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo
http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/
ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex X alsa ansi apm avi bitmap-fonts cdr crypt dga edl emacs esd
f77 faad fbcon foomaticdb gnome gtk2 hal javascript jit jpeg libcaca libg++
libwww lufsusermount maildir md5sum mikmod mmx mmx2 mng mozdevelop mpeg ncurses
nethack network nls nntp no-old-linux nptl nptlonly oggvorbis opengl pam png
python quicktime readline rtc softmmu spell sse ssl svg tcpd tetex truetype
unicode userlocales x86 xml2 xv zlib"
Comment 1 Marien Zwart (RETIRED) gentoo-dev 2004-10-30 14:32:38 UTC
I can confirm fixing that sample/samples typo in the ebuild fixed things.
Comment 2 SpanKY gentoo-dev 2004-10-30 17:51:42 UTC
err, damn i suck :)

fixed the ebuild (and added || die) and updated the wine-setup code to check the return status of the config copy