Tremulous Forum
		Mods => Modding Center => Topic started by: scloh on September 12, 2008, 03:24:29 am
		
			
			- 
				Hi all,
 
 I got tremulous compiled and then i copied the tremulous.x86 file to a new directory. Created a base directory in that directory and copied a bunch of map files in the base directory. Then I tried to run tremulous.
 
 tremulous first showed up in a small window, played the startup sound and then disappeared as well as making the shell session disappear.
 
 The last lines from stderror are:
 
 --- Common Initialization Complete ---
 Opening IP socket: localhost:30720
 Hostname: bradosfs2
 IP: 192.168.9.5
 Started tty console (use +set ttycon 0 to disable)
 ----- CL_Shutdown -----
 Closing SDL audio device...
 SDL audio device shut down.
 RE_Shutdown( 1 )
 -----------------------
 Shutdown tty console
 
 
 There were no error messages reported. Where do we start?
- 
				did you copy the 1.1 data into that directory?
			
- 
				did you copy the 1.1 data into that directory?
 
 
 ----- FS_Startup -----
 Current search path:
 /export/home/icttech/.tremulous/base
 ./base/vms-1.1.0.pk3 (4 files)
 ./base/ui-sunos-x86.pk3 (13 files)
 ./base/map-uncreation-1.1.0.pk3 (110 files)
 ./base/map-tremor-1.1.0.pk3 (45 files)
 ./base/map-transit-1.1.0.pk3 (135 files)
 ./base/map-niveus-1.1.0.pk3 (134 files)
 ./base/map-nexus6-1.1.0.pk3 (151 files)
 ./base/map-karith-1.1.0.pk3 (118 files)
 ./base/map-atcs-1.1.0.pk3 (87 files)
 ./base/map-arachnid2-1.1.0.pk3 (67 files)
 ./base/data-1.1.0.pk3 (1229 files)
 ./base
 
 Do I need anything else?
- 
				no that looks fine, could you add +set developer 1 to the client's command line?
			
- 
				no that looks fine, could you add +set developer 1 to the client's command line?
 
 
 Sorry for the late reply, long weekend over here in HK. Here are some extra lines that seem to be of interest from stderr.
 
 ----- Client Initialization Complete -----
 ----- R_Init -----
 Warning: cvar "r_uifullscreen" given initial values: "1" and "0"
 ...
 ----- finished R_Init -----
 Can't find gfx/colors/black.tga
 ...
 Can't find vm/ui.map
 Couldn't load symbol file: vm/ui.map
 ui loaded in 4596672 bytes on the hunk
 ^3WARNING: sound/misc/menu2.wav is not a 22kHz wav file
 Can't find models/splash/splash_screen_2.md3
 Can't find models/splash/splash_screen_1.md3
 Can't find models/splash/bright_star.tga
 Can't find models/splash/bright_star_2.tga
 Can't find models/splash/nebula.tga
 Can't find models/splash/nebula_2.tga
 Can't find ui/credit.menu
 Can't find gfx/2d/load_screen.tga
 Can't find ui/addfilter.menu
 UI menu load time = 410 milli seconds
 UI menu load time = 28 milli seconds
 UI menu load time = 26 milli seconds
 Channel memory manager started
 Can't find games/(null)_0.game
 Can't find demos/(null)_0.dm_69
 ...
 Channel memory manager started
 SCR_PlayCinematic( splash.RoQ )
 trFMV::play(), playing splash.RoQ
 roq_size>65536||roq_id==0x1084
 finished cinematic
 Channel memory manager started
 S_StartBackgroundTrack( sound/ui/heartbeat.wav, sound/ui/heartbeat.wav )
 ----- CL_Shutdown -----
 ...
 RE_Shutdown( 1 )
 
 
 thanks,
 
 scloh.
- 
				Additionally you could do an "strace" and post the last lines (the last 100 maybe).
			
- 
				Try +set ttycon 0
			
- 
				Additionally you could do an "strace" and post the last lines (the last 100 maybe).
 
 
 Last 100 lines:
 
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 /1:   ioctl(15, FIONREAD, 0x080431BC)         = 0
 /1:   recvfrom(22, 0x0899D240, 16384, 0, 0x08043360, 0x0804335C) Err#11 EAGAIN
 Channel memory manager started
 /1:   write(2, " C h a n n e l   m e m o".., 31)   = 31
 S_StartBackgroundTrack( sound/ui/heartbeat.wav, sound/ui/heartbeat.wav )
 /1:   write(2, " S _ S t a r t B a c k g".., 73)   = 73
 /1:   open("/export/home/icttech/.tremulous/base/sound/ui/heartbeat.wav", O_RDONLY) Err#2 ENOENT
 /1:   open("./base/data-1.1.0.pk3", O_RDONLY)      = 23
 /1:   lseek(3, 0x02AD3DBF, SEEK_SET)         = 0x02AD3DBF
 /1:   read(3, " P K0102170314\002\0\b\0".., 131072)   = 17897
 /1:   lseek(23, 0x025500FE, SEEK_SET)         = 0x025500FE
 /1:   fstat64(23, 0x08044B60)            = 0
 /1:   fstat64(23, 0x08044A90)            = 0
 /1:   ioctl(23, TCGETA, 0x08044B2C)         Err#25 ENOTTY
 /1:   read(23, " P K030414\002\0\b\0C680".., 131072)   = 131072
 /1:   lseek(23, 0x02550147, SEEK_SET)         = 0x02550147
 /1:   read(23, "1C ]05 t13CFD7 MB2 q wAF".., 131072)   = 131072
 /1:       Incurred fault #6, FLTBOUNDS  %pc = 0x08168D94
 /1:         siginfo: SIGSEGV SEGV_MAPERR addr=0x08168D94
 /1:       Received signal #11, SIGSEGV [caught]
 /1:         siginfo: SIGSEGV SEGV_MAPERR addr=0x08168D94
 /1:   lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
 /1:   ioctl(1, TCGETA, 0x0804458C)         = 0
 /1:   fstat64(1, 0x080444F0)            = 0
 /1:   write(1, " R e c e i v e d   s i g".., 31)   = 31
 ----- CL_Shutdown -----
 /1:   write(2, " - - - - -   C L _ S h u".., 24)   = 24
 Channel memory manager started
 /1:   write(2, " C h a n n e l   m e m o".., 31)   = 31
 Closing SDL audio device...
 /1:   write(2, " C l o s i n g   S D L  ".., 28)   = 28
 /2:   nanosleep(0xFD80DE88, 0xFD80DE80)      = 0
 /2:   lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
 /2:   lwp_exit()
 lwp_wait(2, 0x08045360)            = 0
 close(21)               = 0
 SDL audio device shut down.
 write(2, " S D L   a u d i o   d e".., 28)   = 28
 RE_Shutdown( 1 )
 write(2, " R E _ S h u t d o w n (".., 17)   = 17
 ioctl(17, _IOWRN('F', 88, 40), 0x08045200)   = 0
 ioctl(17, _IOWRN('F', 41, 16), 0x08045220)   = 0
 ioctl(17, _IOWRN('F', 88, 40), 0x08045200)   = 0
 ioctl(17, _IOWRN('F', 41, 16), 0x08045220)   = 0
 ioctl(17, _IOWRN('F', 88, 40), 0x08045200)   = 0
 ioctl(17, _IOWRN('F', 41, 16), 0x08045220)   = 0
 ioctl(17, _IOWRN('F', 88, 40), 0x08045200)   = 0
 ioctl(17, _IOWRN('F', 41, 16), 0x08045220)   = 0
 getpid()               = 14147 [14146]
 write(15, " i\003\002\001\004\00101".., 96)   = 96
 read(15, 0x080453B0, 32)         Err#11 EAGAIN
 pollsys(0x12430648, 1, 0x00000000, 0x00000000)   = 1
 read(15, "06\0 =\0 +8ED7 L :01\0\0".., 32)   = 32
 read(15, "1204 @\002\0  0302\0  03".., 32)   = 32
 read(15, "11\0 @\002\0  0302\0  03".., 32)   = 32
 read(15, "0101 B\0\0\0\0\001\0\0\0".., 32)   = 32
 getpid()               = 14147 [14146]
 getpid()               = 14147 [14146]
 munmap(0xFE7D8000, 407744)         = 0
 close(15)               = 0
 mkdir("/export", 0777)            Err#17 EEXIST
 mkdir("/export/home", 0777)         Err#17 EEXIST
 mkdir("/export/home/icttech", 0777)      Err#17 EEXIST
 mkdir("/export/home/icttech/.tremulous", 0777)   Err#17 EEXIST
 writing to: /export/home/icttech/.tremulous/servercache.dat
 write(2, " w r i t i n g   t o :  ".., 60)   = 60
 open("/export/home/icttech/.tremulous/servercache.dat", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 15
 fstat64(15, 0x08043CD0)            = 0
 fstat64(15, 0x08043C00)            = 0
 ioctl(15, TCGETA, 0x08043C9C)         Err#25 ENOTTY
 write(15, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072)   = 131072
 write(15, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072)   = 131072
 write(15, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072)   = 131072
 write(15, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072)   = 131072
 write(15, "\0\0\0\0\0\0\0\0\0\0\0\0".., 119824)   = 119824
 close(15)               = 0
 -----------------------
 write(2, " - - - - - - - - - - - -".., 24)   = 24
 _exit(0)
 
- 
				I have two guesses:
 
 1. failing SDL sound support
 2. file permissions
 
 Did you try Amanieus tip?
- 
				I have two guesses:
 
 1. failing SDL sound support
 2. file permissions
 
 Did you try Amanieus tip?
 
 
 1. I don't think so...I do hear that initial weee sound when I see the splash screen.
 2. Hmm...what is all this stuff? open("/export/home/icttech/.tremulous/base/scripts/reactor.shader", O_RDONLY) Err#2 ENOENT
 
 I see a whole bunch of attempts to read stuff from .tremulous/base but I only have a autogen.cfg file in there.
 
 As for the Amanieus tip, that only saves me from having to background tremulous to prevent it from locking the X terminal. I have had to kill X with Ctrl-Alt-Backspace if I did not put tremulous into the background in the shell. Now I do not have to background it.
- 
				It seems to fail while writing the servercache.dat
 
 I don't have any clue what's happening there.
 
 Or it's the trouble with these lines:
 
 /1:   read(23, "1C ]05 t13CFD7 MB2 q wAF".., 131072)   = 131072
 /1:       Incurred fault #6, FLTBOUNDS  %pc = 0x08168D94
 /1:         siginfo: SIGSEGV SEGV_MAPERR addr=0x08168D94
 /1:       Received signal #11, SIGSEGV [caught]
 /1:         siginfo: SIGSEGV SEGV_MAPERR addr=0x08168D94
 
 
 I don't know enough about signals to interprete all that stuff.
 
 What are the file permissions on your tremulous executable?
- 
				That means the program is trying to access memory that doesn't exist.
			
- 
				2. Hmm...what is all this stuff? open("/export/home/icttech/.tremulous/base/scripts/reactor.shader", O_RDONLY) Err#2 ENOENT
 
 
 Attempting to open a file for reading which doesn't exist - but the segfault is the problem, not this.
 
 Bissig mentions the servercache, but the segfault is before that; right after reading some data from file descriptor 23, which you can see by an earlier open is data-1.1.0.pk3 (the " = 23" in the open call means the file was opened successfully, and made available as file descriptor 23).  So something while it's reading in data-1.1.0.pk3 caused a segfault.  I'm afraid that without attaching a debugger and watching things intently, I can't glean more from the trace output, but then I'm the type that prefers stepping through the code in DDD instead of trying to debug by strace output dumps :>
- 
				Idea:
 
 Might you by any chance run out of usable RAM?
- 
				Idea:
 
 Might you by any chance run out of usable RAM?
 
 
 4GB?  ::)
- 
				2. Hmm...what is all this stuff? open("/export/home/icttech/.tremulous/base/scripts/reactor.shader", O_RDONLY) Err#2 ENOENT
 
 
 Attempting to open a file for reading which doesn't exist - but the segfault is the problem, not this.
 
 Bissig mentions the servercache, but the segfault is before that; right after reading some data from file descriptor 23, which you can see by an earlier open is data-1.1.0.pk3 (the " = 23" in the open call means the file was opened successfully, and made available as file descriptor 23).  So something while it's reading in data-1.1.0.pk3 caused a segfault.  I'm afraid that without attaching a debugger and watching things intently, I can't glean more from the trace output, but then I'm the type that prefers stepping through the code in DDD instead of trying to debug by strace output dumps :>
 
 
 Hmm...I wonder if this is one of those gcc abi vs suncc abi things...I could not compile tremulous with suncc.
- 
				Run it in gdb and see where it crashes. Then grab a backtrace and a dump of all local vars.