Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 148791 - games-rpg/nwn 1.67-r1 (and 1.68) sementation faults on startup
Summary: games-rpg/nwn 1.67-r1 (and 1.68) sementation faults on startup
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-23 09:09 UTC by Bill C. Riemers
Modified: 2006-11-29 13:09 UTC (History)
1 user (show)

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


Attachments
strace of crash in 1.67-r1 (x,335.21 KB, text/plain)
2006-09-23 09:15 UTC, Bill C. Riemers
Details
Strace of 1.68 crashing (strace.out,335.47 KB, text/plain)
2006-09-23 09:20 UTC, Bill C. Riemers
Details
Output from "equery depgraph nwn" (dep,52.43 KB, text/plain)
2006-09-23 11:13 UTC, Bill C. Riemers
Details
Suggested patch for the nwn client (nwclient.patch,816 bytes, patch)
2006-09-23 12:08 UTC, Bill C. Riemers
Details | Diff
Suggested update to resolve the language problem (nwn-ebuild.tar.bz2,20.24 KB, application/octet-stream)
2006-10-08 15:49 UTC, Bill C. Riemers
Details
suggested update to resolve the language problem (nwn-ebuild.tar.bz2,20.29 KB, application/octet-stream)
2006-10-09 01:55 UTC, Bill C. Riemers
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bill C. Riemers 2006-09-23 09:09:35 UTC
docbill@docbill003 ~ $ nwn
Fatal signal: Segmentation Fault (SDL Parachute Deployed)

Gentoo Base System version 1.12.5
Portage 2.1.1 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3200+
Last Sync: Fri, 22 Sep 2006 21:30:08 +0000
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.6-r1, 2.0.29
dev-lang/python:     2.4.3-r3
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/share/config/kdm /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=athlon64 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache confcache distlocks metadata-transfer parrallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://adelie.polymtl.ca/ ftp://gentoo.arcticnetwork.ca/pub/gentoo/ http://gentoo.arcticnetwork.ca/ http://gentoo.osuosl.org/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.gtlib.gatech.edu/pub/gentoo http://www.gtlib.gatech.edu/pub/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo http://gentoo.netnitco.net ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/ http://mirror.espri.arizona.edu/gentoo/ http://mirrors.acm.cs.rpi.edu/gentoo/ ftp://ftp.ndlug.nd.edu/pub/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.llarian.net/ ftp://gentoo.llarian.net/pub/gentoo http://gentoo.binarycompass.org http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo http://gentoo.cs.lewisu.edu/gentoo/ http://prometheus.cs.wmich.edu/gentoo http://modzer0.cs.uaf.edu/public/gentoo/ http://mirror.usu.edu/mirrors/gentoo/ ftp://mirror.usu.edu/mirrors/gentoo/ ftp://lug.mtu.edu/gentoo http://mirror.phy.olemiss.edu/mirror/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ ftp://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://ftp.wwc.edu/pub/mirrors/ftp.gentoo.org "
LINGUAS="en es fr"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 7zip X a52 aac aalib accessibility acpi ada alsa apache2 arts artswrappersuid asterisk audiofile avahi berkdb bitmap-fonts bluetooth browserplugin bzip2 cairo canvas cdda cdr cjk cli commercial crypt css cups dbus dga divx4linux djvu dlloader dri dts dvb dvd dvdr dvdread dvi elibc_glibc evo exif exscalibar fat ffmpeg firefox flac foomatic-db fortran freetype fuse gcj gdbm glitz glut gnokii gnome gnutls gphoto2 gpm gtk gtk2 hal hfs ieee1394 input_devices_keyboard input_devices_mouse ipod ipv6 irda isdnlog jack java jfs joystick jpeg jpeg2k kde kdeenablefinal kdgraphics kerberos kernel_linux kig-scripting ladspa lcd ldap libcaca libg++ linguas_en linguas_es linguas_fr lirc live livecd lm_sensors logitech-mouse mad mbrola mikmod mono mozcalendar moznocompose moznoirc moznomail mozsvg mp3 mpeg musepack musicbrainz nautilus ncurses nls nntp nptl nptlonly nsplugin ntfs nvidia ogg oggvorbis ole on-the-fly-crypt openexr opengl pam pam_chroot pam_timestamp pcmcia pcre pda pdf perforce perl php png portaudio postgres povray ppds pppd pwdb python qt qt3 rdesktop readline reflection reiser4 reiserfs remote rtsp ruby samba scanner session shout skins smartcard sms sndfile soundtouch speedo speex spl sql sqlite ssl stats stream subversion svg symlink tcpd theora timidity truetype truetype-fonts type1-fonts udev unichrome unicode userland_GNU v4l v4l2 vcd video_cards_dummy video_cards_fbdev video_cards_fglrx video_cards_nvidia video_cards_v4l video_cards_vesa video_cards_vga video_cards_vmware visualization vlm vorbis wifi wxwindows xfs xine xinerama xml xml2 xorg xprint xscreensaver xv xvid xvmc zeroconf zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Bill C. Riemers 2006-09-23 09:15:15 UTC
Created attachment 97864 [details]
strace of crash in 1.67-r1
Comment 2 Bill C. Riemers 2006-09-23 09:20:57 UTC
Created attachment 97865 [details]
Strace of 1.68 crashing
Comment 3 Fredric Johansson 2006-09-23 09:34:36 UTC
Are you sure all files that nwn needs is installed in their respective directories since there are many "no such file or directory" in those straces
Comment 4 Bill C. Riemers 2006-09-23 11:11:55 UTC
(In reply to comment #3)
> Are you sure all files that nwn needs is installed in their respective
> directories since there are many "no such file or directory" in those straces
> 

I would expect the package dependancies would take of installing all neccessary files.  An "emerge --update -deep world" finds no missing dependancies.  Neither does revdep-rebuild.  

docbill@docbill003 ~ $ emerge --search nwn
Searching...
[ Results for search key : nwn ]
[ Applications found : 4 ]

*  games-rpg/nwn
      Latest version available: 1.68
      Latest version installed: 1.68
      Size of files: 2,022,233 kB
      Homepage:      http://nwn.bioware.com/downloads/linuxclient.html
      Description:   Neverwinter Nights
      License:       NWN-EULA

*  games-rpg/nwn-cep
      Latest version available: 1.52
      Latest version installed: [ Not Installed ]
      Size of files: 246,401 kB
      Homepage:      http://nwn.bioware.com/players/cep.html
      Description:   The Community Expansion Pack is a high quality custom content addon for Neverwinter Nights
      License:       as-is

*  games-rpg/nwn-data
      Latest version available: 1.29
      Latest version installed: 1.29
      Size of files: 1,919,252 kB
      Homepage:      http://nwn.bioware.com/downloads/linuxclient.html
      Description:   Neverwinter Nights Data Files
      License:       NWN-EULA

*  games-server/nwn-ded [ Masked ]
      Latest version available: 1.67
      Latest version installed: [ Not Installed ]
      Size of files: 325,420 kB
      Homepage:      http://nwn.bioware.com/downloads/standaloneserver.html
      Description:   Neverwinter Nights Dedicated server
      License:       NWN-EULA
Comment 5 Bill C. Riemers 2006-09-23 11:13:19 UTC
Created attachment 97879 [details]
Output from "equery depgraph nwn"
Comment 6 Bill C. Riemers 2006-09-23 12:08:23 UTC
Created attachment 97885 [details, diff]
Suggested patch for the nwn client

It seems the problem is some important steps from nwn-data are quickly scrolled past when emerging nwn.  The best solution is to test if these instructions have been followed and if not prompt them again  Changing the nwn script in nwclient129.tar.gz should do this...

Now that I have followed those steps the main problem I have is NWN is in French, even though my current locale is English.

Bill
Comment 7 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-26 08:05:20 UTC
So the problem is that you didn't complete the directions?

As for the French thing... we haven't decided on a proper way to determine which language is default (within the ebuild, that is) and which to select.  The simplest method is for you to do:

mkdir -p /etc/portage
echo "games-rpg/nwn-data -linguas_fr" >> /etc/portage/package.use
echo "games-rpg/nwn -linguas_fr" >> /etc/portage/package.use
emerge --oneshot nwn-data nwn
Comment 8 Bill C. Riemers 2006-09-26 17:43:22 UTC
Properly designed software should not segmentation fault under any condition.  Given than NWN is a commercial product, that is obviously beyond your control.  However, it is within control to wrap the excutable to protect from obvious errors.

That aside it is definitely a flaw in ANY build to expect users to see the directions and follow them.  Like most people when building a system, several hundred packages are merged at once.  Any important message will have long since scrolled off the screen, and even if I did capture a log file, I am not likely to review the hundreds of thousands of lines of text without having a month of vacation and nothing to do.  

Even then, if someone does simply do "emerge nwn", the nwn-data will be automatically merged as a dependancy and the messages will have long since scrolled off the screen.

There are several ways to try and communicate to the user the important instructions.  A segmentation fault is not one of them.  It just makes the whole system appear unstable.  My solution of modifing the nwn script to report the instructions is NOT the best solution because the instructions still won't appear when someone tries the KDE link.  However, it is definitely better than the segmentation fault.  At least the end user is likely to notice the problem when they try and debug the problem.

In regards to language, it looks like what happens is all three languages I have
configured as LINGUAS in make.conf are installed ontop of eachother in the order listed.  As a workaround I did:

LINGUAS="en" emerge nwn

However, this is not a good solution.  I have three languages configured because my wife will normally use French, and my son Spanish.  Right now there is no possible way to do this with NWN other than re-emerging it each time one of them wants to use it.  Since it looks like NWN only supports one language at a time, the correct thing to do would be to install NWN in locale specific directories with the common files symlinked.  i.e. /opt/nwn/en, /opt/nwn/fr, /opt/nwn/es ...    Note: Most programs use "en" as the default, so in this senario /opt/nwn/en might be a symlink to /opt/nwn.


The "nwn" would need to determine which directory to use.  I believe that the "LANG" environmental variable should work.  ie "/opt/nwn/$LANG/nwn"
Comment 9 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-26 18:34:08 UTC
I have no intentions of fixing the broken behavior of upstream.  Unless either you or Bioware are willing to pay me to the contrary, this is WONTFIX.  While this might not be the answer that you are looking to receive, WONTFIX is quite simple.  It means that I will not fix it.  Reopening a bug is not going to change the fact that I am not going to "fix" it, so please save us both some time.

As I said, there's no real way to actually fix the language problem other than to force the package to only install the first language.  I definitely am not going to spend the time trying to do as you suggested with the symlinks as it seems overly complex, and again.  I am not paid by Bioware.  If you're willing to do the work and file it to a bug, then I'll verify it and patch it, but if this is left to me, it is a WONTFIX.
Comment 10 gent_bz 2006-09-26 18:37:09 UTC
Have a look at PORTAGE_ELOG and friends in /etc/make.conf.example as a better (general) solution to seeing the messages an ebuild has for you.
Comment 11 Bill C. Riemers 2006-09-27 06:20:40 UTC
I haven't tried to change ebuild's before, but I am perfectly willing to try.  When/if I have a comprehensive patch to attach, do you wish me to change the status of this bug?

Bill
Comment 12 Bill C. Riemers 2006-09-27 06:49:37 UTC
(In reply to comment #10)
> Have a look at PORTAGE_ELOG and friends in /etc/make.conf.example as a better
> (general) solution to seeing the messages an ebuild has for you.
> 

Thanks.  Unforunately nwn-data did not log its important messages to e-log, rather it just sent the messages to standard out.

Bill
Comment 13 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-27 13:25:17 UTC
Bill, if you have a patch to resolve the language issue, then yes, I would definitely accept it.

Either a patch to only use the first available language from LINGUAS, or a patch to allow all of them (perhaps with compatibility scripts like nwn-es, nwn-en, nwn-fr, etc.) to be used would be fine.  As I said, it isn't so much that I don't think it is a good idea as much as I think it is a *lot* of work and in my opinion, not a valuable use of my rather limited time.  I would love to see a patch for it, though, so if you're willing to put in the work, I'd definitely commit it.

I am changing all of the einfo messages to elog as we speak, so that should resolve that issue.
Comment 14 Bill C. Riemers 2006-10-08 15:49:02 UTC
Created attachment 99168 [details]
Suggested update to resolve the language problem

This update allows multiple languages to be installed at once and each user to have their own saved games.

Bill
Comment 15 Bill C. Riemers 2006-10-08 15:54:11 UTC
(In reply to comment #13)
> Bill, if you have a patch to resolve the language issue, then yes, I would
> definitely accept it.
> 
> Either a patch to only use the first available language from LINGUAS, or a
> patch to allow all of them (perhaps with compatibility scripts like nwn-es,
> nwn-en, nwn-fr, etc.) to be used would be fine.  As I said, it isn't so much
> that I don't think it is a good idea as much as I think it is a *lot* of work
> and in my opinion, not a valuable use of my rather limited time.  I would love
> to see a patch for it, though, so if you're willing to put in the work, I'd
> definitely commit it.
> 
> I am changing all of the einfo messages to elog as we speak, so that should
> resolve that issue.
> 

I am sorry it took me awhile to get to this.  I just uploaded an updated set of ebuilds for you to verify.  I was surprised just how load the download is with the nowin option, I had to resize some of my partitions to test the ebuild script with that option, but everything seems to work as expected.

Bill


Bill
Comment 16 Bill C. Riemers 2006-10-09 01:55:21 UTC
Created attachment 99178 [details]
suggested update to resolve the language problem

Opps. I notice that digest files where being unpacked multiple times, and the .metadata directory in the nwn package where not being installed.  I've corrected those two problems.
Comment 17 Chris Gianelloni (RETIRED) gentoo-dev 2006-10-09 14:32:55 UTC
Cool... it'll take me a while to get this implemented, since I'm making some other changes at the same time (nwn takes 1+ hours to digest/commit, so I try to make all my changes at once)
Comment 18 Bill C. Riemers 2006-11-13 03:03:05 UTC
Perhaps I should mention I already build the digests for the updates to nwn-data and nwn.  The install is also quicker, because unnecessary components are not downloaded with the updated version.  (The original version downloaded language files for nwn-data even when they weren't needed.)

Bill

Comment 19 Chris Gianelloni (RETIRED) gentoo-dev 2006-11-13 10:31:44 UTC
The digests and such don't help me, as #1. I'm required to redo them myself, and #2. the Manifest changes due to CVS filling certain keywords, like the header, automatically
Comment 20 Jon 2006-11-28 10:24:24 UTC
Regarding the segmentation fault, installing with USE="-nowin" fixed the problem for me.
Comment 21 Chris Gianelloni (RETIRED) gentoo-dev 2006-11-29 13:09:23 UTC
OK.  I'm marking this as FIXED since it works with USE="-nowin" and I've tested USE="cdinstall" and USE="nowin" now (there was a bug in nowin).