Jump to content
Eternal Lands Official Forums
Beaverhunter

Current CVS errors

Recommended Posts

Latest bunch of CVS changes caused a problem on my windows setup, I had to amend the makefile

./libelc.a(sound.o)(.text+0xa2b): In function `load_ogg_file':
C:\elcvs\elc/sound.c:1765: undefined reference to `ov_open'
./libelc.a(sound.o)(.text+0xa98): In function `stream_ogg_file':
C:\elcvs\elc/sound.c:1785: undefined reference to `ov_clear'
./libelc.a(sound.o)(.text+0xb22):C:\elcvs\elc/sound.c:1796: undefined reference to `ov_info'
./libelc.a(sound.o)(.text+0xc80): In function `stream_ogg':
C:\elcvs\elc/sound.c:1830: undefined reference to `ov_read'
./libelc.a(sound.o)(.text+0xdf5): In function `load_ogg_into_memory':
C:\elcvs\elc/sound.c:1891: undefined reference to `ov_info'
./libelc.a(sound.o)(.text+0xe91):C:\elcvs\elc/sound.c:1908: undefined reference to `ov_read'
./libelc.a(sound.o)(.text+0xed9):C:\elcvs\elc/sound.c:1922: undefined reference to `ov_clear'
./libelc.a(sound.o)(.text+0x17ea): In function `destroy_stream':
C:\elcvs\elc/sound.c:2115: undefined reference to `ov_clear'
./libelc.a(sound.o)(.text+0x2984): In function `display_song_name':
C:\elcvs\elc/sound.c:2654: undefined reference to `ov_time_tell'
./libelc.a(sound.o)(.text+0x29c3):C:\elcvs\elc/sound.c:2655: undefined reference to `ov_time_tell'
./libelc.a(sound.o)(.text+0x2a3a):C:\elcvs\elc/sound.c:2656: undefined reference to `ov_time_total'
./libelc.a(sound.o)(.text+0x2a84):C:\elcvs\elc/sound.c:2657: undefined reference to `ov_time_total'
./libelc.a(sound.o)(.text+0x2b04):C:\elcvs\elc/sound.c:2659: undefined reference to `ov_comment'
collect2: ld returned 1 exit status
make: *** [el.exe] Error 1

I had to manually add

LDFLAGS= $(EXTRA_LIBS) $(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS)) \
-llibxml2 -lSDL_net -lSDL_image -lsdl -lalut -lopenal32 -lglu32 -lopengl32 -liconv -lcal3d -lm -lstdc++ $(OGG_VORBIS_LIBS)

in makefile.win to make it compile

Share this post


Link to post
Share on other sites

I'm having added problems when NEW_SELECTION is included (uncommented) in make.conf.

 

My cursor does not react at all to any 3d objects. I found an "Invalid selection type!" 4 seconds after the client start in my error_log.txt. If it helps at all, these problems have occured for me since before the recent #Ifdef purge.

 

Video card: GeForce 7900 GS/PCI/SSE2 Vendor ID: NVIDIA Corporation OpenGL Version: 2.1.1 NVIDIA 100.14.19

(K)ubuntu 7.10

Share this post


Link to post
Share on other sites

The actors caching causes a crash. Actually, the first time it runs and creates the cache, everything is fine, but subsequent runs crash the client. Happens on Windows. Deleting the cache directory makes the client not crash for the first run, then it crashes again.

Share this post


Link to post
Share on other sites

Fresh CVS build from today (Thu Feb 14 11:07:47 GMT+2 2008)

I cant exit cleanly from elc anymore, Presing ALT-X just freezes client and i need to kill -KILL it.

OS is Linux

Share this post


Link to post
Share on other sites
Fresh CVS build from today (Thu Feb 14 11:07:47 GMT+2 2008)

I cant exit cleanly from elc anymore, Presing ALT-X just freezes client and i need to kill -KILL it.

OS is Linux

If you run from a terminal, do you see the "doing SDL_Quit" then "done SDL_Quit" message? When its frozen, could you run strace on the process and see where its stuck? If that doesn't help, is there any chance you could add some extra debug printf()s to the shut down code and trace where it's stuck? Is it using 100% of the cpu?

Share this post


Link to post
Share on other sites
If you run from a terminal, do you see the "doing SDL_Quit" then "done SDL_Quit" message? When its frozen, could you run strace on the process and see where its stuck? If that doesn't help, is there any chance you could add some extra debug printf()s to the shut down code and trace where it's stuck? Is it using 100% of the cpu?

There is no *SDL* messages on quit

and strace is meaningless to me

 

jeka@gentoo ~ $ strace -p `pidof el`

Process 4148 attached - interrupt to quit

futex(0xa75ffbd8, FUTEX_WAIT, 4151, NULL

 

will recompile with debug and try to get more info

 

Edit: if i run el as root it exits cleanly, just cant exit if i run it under regular user

Edit2: ok I traced it and problem is not in elc itself but somewhere between openal and arts iteraction. It hangs at alcDestroyContext if i shutdown arts or get rid of my .openalrc [(define devices '(arts))] client exits cleanly but i dont have sound. Recompiling arts right now, maybe some update to alsa causes that problem

Edit3: Recompiling alsa arts solved my problem, so sorry for noise

Edited by Jetchko

Share this post


Link to post
Share on other sites

Windows, current CVS with labrat's compile fix and MEMORY_DEBUG enabled

 

on console: Two times before login and after login endless times till the client crashes

Log started at 2008-02-14 22:50:02 localtime (Westeuropäische Normalzeit)

[22:50:02] Error: Server profile not found in servers.lst for server: Lands\el.exe". Failover to server: main.
[22:50:02] Using the server profile: main
[22:50:05] EXTENDED EXCEPTION(1:file_not_found): Can't find file shaders/anim.vert in el_file at io/elfile.cpp (line 179)
[22:50:30] * server www.eternal-lands.com filename [url="http://www.eternal-lands.com/updates150/files.lst"]http://www.eternal-lands.com/updates150/files.lst[/url]
[22:50:30] Downloading [url="http://www.eternal-lands.com/updates150/files.lst"]http://www.eternal-lands.com/updates150/files.lst[/url] from www.eternal-lands.com
[22:50:30] Finished downloading [url="http://www.eternal-lands.com/updates150/files.lst"]http://www.eternal-lands.com/updates150/files.lst[/url]
[22:50:31] Error creating buffer: Invalid Name
[22:50:31] * server www.eternal-lands.com filename [url="http://www.eternal-lands.com/updates/custom_files.lst"]http://www.eternal-lands.com/updates/custom_files.lst[/url]
[22:50:31] Downloading [url="http://www.eternal-lands.com/updates/custom_files.lst"]http://www.eternal-lands.com/updates/custom_files.lst[/url] from www.eternal-lands.com
[22:50:31] Finished downloading [url="http://www.eternal-lands.com/updates/custom_files.lst"]http://www.eternal-lands.com/updates/custom_files.lst[/url]

Edited by Alberich

Share this post


Link to post
Share on other sites

Sorry Ent,

using a clean checkout with MEMORY_DEBUG enabled, the 2 lines uncommented for windows compilation in make.conf.

and added "$(OGG_VORBIS_LIBS)" to the LDFLAGS in Makefile.win.

No further changes

 

I'll try it with a clean install later to check if the my crashes haven't corrupted some data or config files,

and add results to this post.

 

Thanks for your time.

 

Edit:

 

fresh install (with sound files) no changes to config files or anything else only replaced the el.exe

First start, I get to the language menu then doing nothing, the console floods with this and crashes:

queue.c:148:Attempting to free a pointer(02479470) which isn't allocated!
queue.c:148:Attempting to free a pointer(02479490) which isn't allocated!
queue.c:148:Attempting to free a pointer(02479868) which isn't allocated!
queue.c:148:Attempting to free a pointer(02479888) which isn't allocated!
...

Second Start: I can select a language then i get the old error again:

main.c:152:Attempting to free a pointer(04CF1E20) which isn't allocated!
main.c:153:Attempting to free a pointer(08EFB5C0) which isn't allocated!
...

can anyone verify this?

Edited by Alberich

Share this post


Link to post
Share on other sites
Latest bunch of CVS changes caused a problem on my windows setup, I had to amend the makefile
Index: Makefile.win
===================================================================
RCS file: /cvsroot/elc/elc/Makefile.win,v
retrieving revision 1.78
diff -u -r1.78 Makefile.win
--- Makefile.win	17 Feb 2008 14:15:06 -0000	1.78
+++ Makefile.win	20 Feb 2008 16:27:22 -0000
@@ -12,14 +12,10 @@
CXXFLAGS=$(PLATFORM) $(CXXWARN) -O0 -ggdb -pipe $(OPTIONS) -fno-strict-aliasing $(EXTRA_INCLUDES)
_CXXFLAGS=$(PLATFORM) -O3 -fomit-frame-pointer -ffast-math -pipe -fno-strict-aliasing $(EXTRA_INCLUDES)

-ZLIB_LIBS = -lz
-NEW_FILE_IO_LIBS = -lz
-EYE_CANDY_LIBS = -lpng
-PNG_SCREENSHOT_LIBS = -lpng
-OGG_VORBIS_LIBS = -lvorbisfile -lvorbis -logg
# WARNING: the order is important! If -lX uses -lY, then you must list -lX before -lY (sic!)
LDFLAGS= $(EXTRA_LIBS) $(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS)) \
-	-llibxml2 -lSDL_net -lSDL_image -lsdl -lalut -lopenal32 -lglu32 -lopengl32 -liconv -lcal3d -lm -lstdc++
+	-llibxml2 -lSDL_net -lSDL_image -lsdl -lalut -lopenal32 -lglu32 -lopengl32 -liconv -lcal3d -lm -lstdc++ \
+	-lz -lpng -lvorbisfile -lvorbis -logg
_LDFLAGS=-lopengl32 -lz
STATICLIBS=libs/libSDL_net.a libs/libSDL.a libs/libSDL_image.a libs/libopenal.a libs/libvorbisfile.a libs/libvorbis.a libs/libogg.a libs/libxml2.a libs/libcal3d.a libs/libpng.a libs/libasound.a $(EXTRA_STATICLIBS)

 

And one warning:

actor_init.cpp: In function `void build_buffers(actor_types*)':
actor_init.cpp:642: warning: converting to `Uint8' from `float'
actor_init.cpp:654: warning: converting to `Uint8' from `float'

Share this post


Link to post
Share on other sites

I briefly had a new graphics card (don't ask :closedeyes: ) that supports FB & shaders so I gave a new build of CVS on Linux a try (NEW_SELECTION, USE_SHADER, MISSILES defined extra) using the new data files with RC1. The client crashed after login so I updated to the latest nvidia driver and it work fine. Problem solved but I was curious where the crash happened so here's a gdb stack trace:

#1  0x0812c2d4 in render_mesh_shader (a=0x863f734, act=0x10fd21f8, index=42,
hmd=@0x10fd9d24, use_glow=true) at actor_init.cpp:201
#2  0x0812c7a0 in cal_render_actor_shader (act=0x10fd21f8, use_lightning=1,
use_textures=1, use_glow=1) at actor_init.cpp:484
#3  0x08063202 in draw_actor_without_banner (actor_id=0x10fd21f8,
use_lightning=1, use_textures=1, use_glow=1) at actors.c:618
#4  0x08063f31 in display_actors (banner=0, render_pass=1) at actors.c:854
#5  0x080e69f5 in display_3d_reflection () at reflection.c:517
#6  0x0809fd5a in display_game_handler (win=0x8cd2408) at gamewin.c:1031
#7  0x08091c0d in draw_window (win=0x8cd2408) at elwindows.c:1137
#8  0x08092261 in display_window (win_id=0) at elwindows.c:1306
#9  0x0808f2e7 in display_windows (level=1) at elwindows.c:73
#10 0x0808773f in draw_scene () at draw_scene.c:136
#11 0x080c55ac in start_rendering () at main.c:164
#12 0x080c595f in main (argc=2, argv=0xbfcf2594) at main.c:297

This is in the following section of code.

   198				  if (have_extension(ext_gpu_program_parameters))
  199				  {
  200						  ELglProgramLocalParameters4fvEXT(GL_VERTEX_PROGRAM_ARB, 0,
  201								  a->hardware_model->getBoneCount() * 3, hmd.get_buffer());
  202				  }
  203				  else
  204				  {
  205						  count = a->hardware_model->getBoneCount() * 3;
  206						  for (i = 0; i < count; i++)
  207						  {
  208								  ELglProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, i,
  209										  hmd.get_buffer(i * 4));
  210						  }
  211				  }

The curious thing is if I force the else code path, the client runs fine with the old driver.

Share this post


Link to post
Share on other sites
I briefly had a new graphics card (don't ask :P ) that supports FB & shaders

 

Did it die on you?

If so, let me know, I have a little something for you.

Share this post


Link to post
Share on other sites
I think the implementation of the GL_EXT_gpu_program_parameters extention is buggy in the old driver.

May very well be that. The only reason I mentioned it was because many people trying out the latest RC on windows had a crash in the same kind of place (right after login) that was fixed by a driver update. I should have said that I'm using Debian Etch and the stable nvidia driver 1.0-8776 is the one that crashes, version 169.09 (currently the latest) is OK.

Share this post


Link to post
Share on other sites
I briefly had a new graphics card (don't ask :P ) that supports FB & shaders

 

Did it die on you?

If so, let me know, I have a little something for you.

Lol, no it was just unbearably noisy. I think the circuit to control the fan speed was faulty. It was the only one in stock and 'used'. My current thought is to get a XFX Geforce 6200A with passive cooling so I'm trying to find out exactly which features that supports. It's OpenGL 2.0 compatible at least.

Share this post


Link to post
Share on other sites
Oh, did you return it already? If not, maybe the fan has some dust in it?

It's boxed ready to go. It looked new so I suspect it was returned before for the same reason when it was bought as new.

Share this post


Link to post
Share on other sites
*bump*

please fix Windows build with Makefile.win Link

Thanks in advance

OK, Makefile.win fixed as you suggested. I was hoping Xaphier would have a look at the warning :dry:

Thanks Alberich and sorry for the delay.

Share this post


Link to post
Share on other sites
Hmm, I guess I missed something, but do I need new model files or something? All the actors only have a head ...

The CVS client still works OK for me with the old data but I am using the new files available with the rc5 version (extracted via wine). Could it be your data_dir is wrong?

Share this post


Link to post
Share on other sites

Since when does the OSX version care about data_dir?

 

Hmm, the error_log is full of those:

EXTENDED EXCEPTION(1:file_not_found): Can't find file ./meshes/cape1_mediumf.cmf in el_file at io/elfile.cpp (line 179)

the file is there, and it only seems to affect certain files.

 

Most textures are loaded correctly, also animations etc. Only equipable items are not loaded, or their textures.

 

And another thing:

 

EXTENDED EXCEPTION(5:opengl_error): Error: 'Error on line 40: program parameter count exceeded (hint: '}')' in file 'shaders/anim.vert' in load_vertex_program at actor_init.cpp (line 137)

 

I'll get the latest windows test client and copy the data files over.

 

/EDIT

OK, RC7 data files fixed that. The vertex shader problem remains, though.

Edited by Florian

Share this post


Link to post
Share on other sites
Since when does the OSX version care about data_dir?

I did hesitate to suggest it. :P Anyhow, I do remember having a similar problem several releases ago but I can't quite remember the cause. I have this nagging feeling it was a #define problem but many of those old #defines are now gone.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×