Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 376511 - games-roguelike/adom-1.1.1-r1 -- Fatal error: "Can't write updated highscore."
Summary: games-roguelike/adom-1.1.1-r1 -- Fatal error: "Can't write updated highscore."
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-26 18:36 UTC by PM
Modified: 2011-07-26 23:14 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 PM 2011-07-26 18:36:45 UTC
After the player dies ADOM crashes with this:

Fatal error:                                                                                                                                                                                                                                 
"Can't write updated highscore."                                                                                                                                                                                                             
                                                                                                                                                                                                                                             
Please make sure that you remove the file 'ADOM_HS.LCK' in the directory '/var/games/adom' before you start your next game!                                                                                                                  
                                                                                                                                                                                                                                             
[PRESS ENTER TO CONTINUE]



Reproducible: Always

Steps to Reproduce:
1.start game
2.die
3.



Portage 2.2.0_alpha47 (default/linux/amd64/10.0/desktop, gcc-4.5.2, glibc-2.13-r4, 2.6.39-pf3 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.39-pf3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E7400_@_2.80GHz-with-gentoo-2.0.3
Timestamp of tree: Mon, 25 Jul 2011 22:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r2, 3.2-r2
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1
sys-devel/gcc:            4.4.6, 4.5.2
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo sunrise multimedia dupa
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -msse3 -mssse3 -msse4.1 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /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 -msse3 -mssse3 -msse4.1 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages installsources news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=core2 -msse3 -mssse3 -msse4.1 -pipe -ggdb"
GENTOO_MIRRORS="http://gentoo.mirror.pw.edu.pl/ http://gentoo.po.opole.pl http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LANG="pl_PL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/multimedia /usr/local/portage/moje"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aalib acl acpi alsa amd64 amr amrnb amrwb apng async audiofile automount bash-completion berkdb bfq bineditor bluray branding bzip2 cairo cdda cddb cdparanoia cdr chdir cli consolekit cracklib crypt css cuda cups curl cxx dbus dirac disk-partition divx djvu dri dts dvd dvdr editor emboss emovix enca encode exchange exif faac faad fam fat ffmpeg fftw firefox firefox3 flac fontconfig fortran gd gdbm gdu geoip gif glitz gmedia gphoto2 gpm gtk hddtemp iconv id3 id3tag imagemagick inotify ipod jpeg kde kde4 kdehiddenvisibility kipi kompare kpathsea kqemu ladspa lame laptop lastfm latex lcms libass libcaca libnotify libsamplerate lm_sensors lzma lzo mad matroska midi mjpeg mmap mmx mmxext mng modules mp3 mp3tunes mp4 mpeg mplayer mtp mudflap multilib musicbrainz ncurses nls nptl nptlonly nsplugin ntfs ogg okteta openal opencore-amr opengl openmp pam pango pch pcre pdf perl plasma png policykit portage ppds pppd private-headers python qt3 qt3support qt4 qthelp readline realmedia roe scanner schroedinger sdl secure-delete semantic-desktop sensord session shaders slang sndfile solver soundtouch sourceview sparse spell sse sse2 sse3 sse4 sse4a ssl ssse3 startup-notification suid svg swat symlink sysfs syslog tcpd theora threads tiff truetype udev unicode upnp usb vaapi vamp vcd vdpau vorbis webkit wicd wmf wmp wxwidgets wxwindows x264 xcb xcomposite xine xml xorg xscreensaver xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 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:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 19:36:57 UTC
ls -ld /var/games/adom/
drwxrwx--- 2 root games 4096 Jul 26 15:15 /var/games/adom/

what's yours look like?
Comment 2 PM 2011-07-26 19:38:06 UTC
The same.
Comment 3 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 19:38:54 UTC
Then you aren't in the games group.
Comment 4 PM 2011-07-26 19:40:22 UTC
I am.

piotrek@localhost ~ $ ls -ld /var/games/adom/
drwxrwx--- 2 root games 4096 07-26 20:34 /var/games/adom/
piotrek@localhost ~ $ id
uid=1000(piotrek) gid=1007(piotrek) grupy=1007(piotrek),5(tty),6(disk),10(wheel),18(audio),19(cdrom),27(video),35(games),85(usb),100(users),103(cdemu),250(portage),1002(plugdev),1013(vboxusers)
piotrek@localhost ~ $
Comment 5 PM 2011-07-26 19:46:57 UTC
Ok, I found a hidden file .HIGHSCORE owned by root:root there. chowned and chmoded it and it works now. Any Idea where it could have come from?
Comment 6 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 20:10:08 UTC
Try:

touch /var/games/adom/junk
ls -l /var/games/adom
Comment 7 PM 2011-07-26 20:11:49 UTC
See my comment 5
Comment 8 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 21:02:07 UTC
Someone might have played the game as root.  Tough to say for sure since it's a binary-only game.  Glad you figured out a work-around.
Comment 9 PM 2011-07-26 21:47:00 UTC
Ok, so there's something wrong. I removed the highscore file, played the game, quickly kicked myself to the death and looked into /var/games/adom. The game created a highscore file, but it was owned by me and my group instead of games:
# ls -l -a
razem 52
drwxrwx--- 2 root    games    4096 07-26 23:43 .
drwxr-x--- 4 root    games    4096 2010-09-05  ..
-rw-r--r-- 1 piotrek piotrek  6733 07-26 20:34 adom.err
-rw-r--r-- 1 piotrek piotrek 32800 07-26 23:43 .HISCORE

This is clearly wrong, isn't it?
Comment 10 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 21:50:15 UTC
Looks like only one person gets to play it at a time.  Not much we can do about it since it's a binary-only game.
Comment 11 PM 2011-07-26 21:57:27 UTC
Maybe this file should be created with correct permisions by the ebuild during install?
Comment 12 Mr. Bones. (RETIRED) gentoo-dev 2011-07-26 23:14:51 UTC
Those permissions are probably as correct as they can be.