PlaneShift
Support => Linux Specific Issues => Topic started by: Rolf Blacksmith on July 14, 2006, 05:14:55 pm
-
I built Planeshift from CVS, and it segfaults on loading, namely when the "molecular blue"-splash screen appears.
Reading from the CVS tag, I'm using the "D2006.07.12.00.00.00"-version of planeshift.
Console spits out the following:
./psclient
DEBUG: Sound System Software Renderer Initializing...
planeshift.application.client:
PlaneShift Crystal Blue
This game uses Crystal Space Engine created by Jorrit and others
0.99 r0 [Unix-x86-GCC]
All LOGS are off.
Mounting skin: /this/art/skins/cvs.zip
Skipping 'InfoButton' because it's already loaded
Skipping 'InfoButton_over' because it's already loaded
...
...
...
Skipping 'Loading Background' because it's already loaded
psEngine initialized.
Using fontsize 16 for resolution 1024x768
<src/common/paws/pawstexturemanager.cpp:371> CreateTexture:
Could not open image: >/paws/skin/backdrop/charborder.dds<
<src/common/paws/pawswidget.cpp:2482> SetMaskingImage:
Could not locate masking image charborder for widget PaperDollView
Speicherzugriffsfehler (<-- Segfault)
Does that ring any bells with someone?
As a notice:
I compiled without debugging symbols, could rebuild with them if that helps somehow.
I also ran the updater before starting the app.
Specs:
Kernel 2.6.17
1 GB Ram
GF 6600
Athlon XP 1700+
-
One think that I would do is to change the skin from "cvs" to something else.
At least most of the "Skipping ..." and "Could not ..." messages should go away. Not sure about the segfault, because I don't get it with the "cvs" skin.
-
Does that ring any bells with someone?
Yes, id does, I have seen exactly the same output, but I can't remeber, what was causing it :-\
Maybe...
In -> that thread (http://hydlaa.com/smf/index.php?topic=24307.0) we can see, that next step is loading cal3d plugin.
What version of gcc do You use ? I was unable to build working psclient with gcc 3.4, it was crashing on loading cal3d library.
In -> that thread (http://hydlaa.com/smf/index.php?topic=20012.msg219619#msg219619) there is glibc free invalid pointer, try
export MALLOC_CHECK_=0
before starting the game.
Yes, backtrace could help.
-
Actually, I'm using gcc 3.4.6.
Using another skin took care of the skips, but I still segfault, with or without malloc-check.
So, let's go for another compiling run ...
-
Also, make sure you're using the CS and CEL revisions listed in the latest version of docs/compiling.html and also go with latest PS.
-
I'm using the latest version said to be compatible with the server, 2006-07-12 to be precise.
Update:
Using gdb I get the following:
Starting program: /opt/planeshift-test/planeshift/psclient
[Thread debugging using libthread_db enabled]
[New Thread -1211459392 (LWP 19598)]
planeshift.application.client:
PlaneShift Crystal Blue
This game uses Crystal Space Engine created by Jorrit and others
0.99 r0 [Unix-x86-GCC]
All LOGS are off.
Mounting skin: /this/art/skins/elves.zip
[New Thread -1253327952 (LWP 19602)]
Mounting skin: /planeshift/art/skins/base/client_base.zip
psEngine initialized.
Using fontsize 19 for resolution 1200x900
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211459392 (LWP 19598)]
CS::Plugin::SprCal3d::csSpriteCal3DMeshObjectFactory::HardTransform (this=0xb383e620, t=@0x85782b8)
at stl_vector.h:131
131 * <a href="tables.html#68">optional sequence requirements</a> with the
(gdb) bt full
#0 CS::Plugin::SprCal3d::csSpriteCal3DMeshObjectFactory::HardTransform (this=0xb383e620,
t=@0x85782b8) at stl_vector.h:131
bone = (CalCoreBone *) 0x85782b8
bonerot = {x = -1.59437974e-07, y = 1.12103877e-44, z = -5.46333752e-08,
w = -2.87891162e-05}
bonevec = {x = -5.46333752e-08, y = -1.61426442e-07, z = -5.38567519e-08}
#1 0xb3822476 in CS::Plugins::SprCal3dLoader::csSpriteCal3DFactoryLoader::Parse (this=0x40490fdc,
node=0xb46b8b80, ldr_context=0xbfdd6230, context=0xb41226b0) at ref.h:330
ay = -5.45628325e-08
angle = -1
translation = {{m = {-1, -5.46392675e-06, -1.72947502}}}
rotation = {m11 = 0, m12 = -1, m13 = -1.3611384e-07, m21 = -6.07277002e-08, m22 = -1,
m23 = 0, m31 = -3.2584137e-07, m32 = 0, m33 = 1}
rt = {<csTransform> = {_vptr.csTransform = 0xbf800000, m_o2t = {m11 = -2.84771668e-05,
m12 = 5.99023472e-34, m13 = 4.28138461e-34, m21 = -6.14198825e-08, m22 = -1, m23 = 0,
m31 = -3.2584137e-07, m32 = 0, m33 = 1}, v_o2t = {{m = {0, 3.2584137e-07, 0}}}}, m_t2o = {
m11 = -1, m12 = 0, m13 = 0, m21 = 0, m22 = -1, m23 = 0, m31 = 3.2584137e-07, m32 = 0, m33 = 1}}
ax = -6.14202236e-08
az = -1.72945023
Previous frame inner to this frame (corrupt stack?)
Is there something else I can do?
-
http://vaalnor.mine.nu/Downloads/planeshift_cb_.3.15b.run
as a last resort you could try my precompiled binary. Download it - chmod the .run so its executible, it'll create a planeshift dir. in that dir are 3 scripts psclient pssetup and updater - run updater from a command line and it will get the art from the mirrors. Then play :D
-
Using gdb I get the following:
(gdb) bt full
#0 CS::Plugin::SprCal3d::csSpriteCal3DMeshObjectFactory::HardTransform (this=0xb383e620,
...
Is there something else I can do?
As I was suspecting, You crash in cal3d. Try to run CS app "viewmesh", if it crashes too it means that You have the same problem as I had. If any of programmers can't explain what's going on, install gcc 4.x. I currently use gcc 4.1.1, all compiles well, PS runs well. (Be carefull and don't harm your system by installing gcc 4.x over 3.x).
Or use the link Induane posted above, or wait for Xordan's official package.
-
I already used Induane's binary, which doesn't work anymore.
Viewmesh, included with CS, doesn't compile, probably has to be compiled with the rest of the tools, which I'm too lazy to do now
Seems like I just have to wait for Xordan's return ...
(By the way: without malloc_check I got the client to work with gcc 3.4, but it slowly but steadily filled up my memory ...)