Author Topic: Building for Linux/amd64  (Read 1640 times)

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
Building for Linux/amd64
« on: January 05, 2005, 10:16:02 pm »
Built mostly fine according to Acraig\'s instructions [http://laanx.fragnetics.com/gentoo], thanks Andrex!

had to add \"unsigned int cs_floatrand_seed;\" to CS/libs/csutil/floatrand.cpp, who knows how it went missing, but the change is trivial anyway.

updater agreed to work and seems to have updated everything.

psclient started up (woo-hoo), allows to walk around for a some time, fighting and trading worked a couple of times, and the client even managed to relight the underworld.

relighting hydlaa_plaza reliably segv\'s psclient though.

other segv\'s are random-ish, can\'t quite point them out yet. will post backtraces if someone\'s interested...

Xordan

  • Crystal Space Developer
  • Forum Addict
  • *
  • Posts: 3845
  • For God and the Empire
    • View Profile
(No subject)
« Reply #1 on: January 05, 2005, 10:27:32 pm »
Sure. Any bt\'s for seg fault would be great. Post here and say what causes them if you can, or what you were doing at the time.  I assume you\'re using rapid collision?

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
(No subject)
« Reply #2 on: January 05, 2005, 11:30:21 pm »
will post backtrace on the weekend... edit: see below

still cannot get function names, et. al. in the hydlaa plaza relight backtrace. bewildreing...
« Last Edit: January 09, 2005, 12:44:23 am by dimaq »

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
crash blacksmith/plaza
« Reply #3 on: January 09, 2005, 12:08:01 am »
this sort of crash happens on hydlaa plaza, while trading with the blacksmith, although the real reason could easily be all the players appearing in the square.

to reproduce: click on Harnquist, click \'sell\', click \'Items\' - crashes before items (that could be sold to Harnquist) appear on the screen.
I\'ve got a few items like ore and rotten meat and and stuff.

just wondering - could this be a 64-bit issue in disguise of varargs?

RemoveObject:
  Removing entity \'Kylez Zazochi\'
Received actor Ahruman Wizaru.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 1844)]
0x0000002a96001590 in strlen () from /lib/libc.so.6

(gdb) bt
#0  0x0000002a96001590 in strlen () from /lib/libc.so.6
#1  0x00000000006df81d in ap_vformatter(int (*)(ap_vformatter_buff*), ap_vformatter_buff*, char const*, __va_list_tag*) (flush_func=0x6e0164 ,
    vbuff=0x7fbfffdb50, fmt=0x70a9c2 \"s\", ap=0x7fbffff0a0)
    at libs/csutil/snprintf.cpp:948
#2  0x00000000006e032f in cs_vsnprintf(char*, unsigned long, char const*, __va_list_tag*) (buf=0x8f24610 \"    format=0x70a9c1 \"%s\", ap=0x7fbffff0a0) at libs/csutil/snprintf.cpp:1237
#3  0x00000000006c5d43 in csString::FormatV(char const*, __va_list_tag*) (
    this=0x9388d0, format=0x70a9c1 \"%s\", args=0x7fbffff0a0)
    at libs/csutil/csstring.cpp:404
#4  0x0000002a99b9de45 in ?? ()
#5  0x000000000000000a in ?? ()
#6  0x0000000000544069 in csReporterHelper::ReportV(iObjectRegistry*, int, char const*, char const*, __va_list_tag*) () at tinyxml.h:273
#7  0x00000000005f715e in pslog::LogMessage(char const*, int, char const*, int, int, char const*, ...) () at tinyxml.h:273
#8  0x00000000005a45f2 in pawsMerchantWindow::HandleItems(char const*) ()
    at tinyxml.h:273
#9  0x00000000005a3aad in pawsMerchantWindow::HandleMessage(MsgEntry*) ()
    at tinyxml.h:273
#10 0x00000000005e7b70 in MsgHandler::Publish(MsgEntry*) () at tinyxml.h:273
#11 0x00000000005c33e6 in psClientMsgHandler::HandleEvent(iEvent&) ()
---Type to continue, or q to quit---
    at tinyxml.h:273
#12 0x00000000005c364d in psClientMsgHandler::EventHandler::HandleEvent(iEvent&) () at tinyxml.h:273
#13 0x00000000006ba8c2 in csEventQueue::Notify(unsigned) (this=0x90b4d0,
    pseudo_event=8) at libs/csutil/cseventq.cpp:219
#14 0x00000000006ba8fa in csEventQueue::Process() (this=0x90b4d0)
    at libs/csutil/cseventq.cpp:226
#15 0x00000000006effff in csDefaultRunLoop(iObjectRegistry*) (r=0x90c2e0)
    at libs/csutil/generic/runloop.cpp:81
#16 0x000000000054088d in main () at tinyxml.h:273
« Last Edit: January 09, 2005, 12:49:52 am by dimaq »

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
oops... smilieys
« Reply #4 on: January 09, 2005, 12:09:48 am »
here\'s the backtrace again, hopefully without the smileys *g*

(gdb) bt
#0  0x0000002a96001590 in strlen () from /lib/libc.so.6
#1  0x00000000006df81d in ap_vformatter(int (*)(ap_vformatter_buff*), ap_vformatter_buff*, char const*, __va_list_tag*) (flush_func=0x6e0164 ,
    vbuff=0x7fbfffdb50, fmt=0x70a9c2 \"s\", ap=0x7fbffff0a0)
    at libs/csutil/snprintf.cpp:948
#2  0x00000000006e032f in cs_vsnprintf(char*, unsigned long, char const*, __va_list_tag*) (buf=0x8f24610 \"    format=0x70a9c1 \"%s\", ap=0x7fbffff0a0) at libs/csutil/snprintf.cpp:1237
#3  0x00000000006c5d43 in csString::FormatV(char const*, __va_list_tag*) (
    this=0x9388d0, format=0x70a9c1 \"%s\", args=0x7fbffff0a0)
    at libs/csutil/csstring.cpp:404
#4  0x0000002a99b9de45 in ?? ()
#5  0x000000000000000a in ?? ()
#6  0x0000000000544069 in csReporterHelper::ReportV(iObjectRegistry*, int, char const*, char const*, __va_list_tag*) () at tinyxml.h:273
#7  0x00000000005f715e in pslog::LogMessage(char const*, int, char const*, int, int, char const*, ...) () at tinyxml.h:273
#8  0x00000000005a45f2 in pawsMerchantWindow::HandleItems(char const*) ()
    at tinyxml.h:273
#9  0x00000000005a3aad in pawsMerchantWindow::HandleMessage(MsgEntry*) ()
    at tinyxml.h:273
#10 0x00000000005e7b70 in MsgHandler::Publish(MsgEntry*) () at tinyxml.h:273
#11 0x00000000005c33e6 in psClientMsgHandler::HandleEvent(iEvent&) ()
---Type to continue, or q to quit---
    at tinyxml.h:273
#12 0x00000000005c364d in psClientMsgHandler::EventHandler::HandleEvent(iEvent&) () at tinyxml.h:273
#13 0x00000000006ba8c2 in csEventQueue::Notify(unsigned) (this=0x90b4d0,
    pseudo_event=8) at libs/csutil/cseventq.cpp:219
#14 0x00000000006ba8fa in csEventQueue::Process() (this=0x90b4d0)
    at libs/csutil/cseventq.cpp:226
#15 0x00000000006effff in csDefaultRunLoop(iObjectRegistry*) (r=0x90c2e0)
    at libs/csutil/generic/runloop.cpp:81
#16 0x000000000054088d in main () at tinyxml.h:273
(gdb) frame 3
#3  0x00000000006c5d43 in csString::FormatV(char const*, __va_list_tag*) (
    this=0x9388d0, format=0x70a9c1 \"%s\", args=0x7fbffff0a0)
    at libs/csutil/csstring.cpp:404
404         rc = cs_vsnprintf(Data, MaxSize, format, args);

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
(No subject)
« Reply #5 on: January 10, 2005, 09:43:43 pm »
Quote
Originally posted by Xordan
Sure. Any bt\'s for seg fault would be great. Post here and say what causes them if you can, or what you were doing at the time.  I assume you\'re using rapid collision?


alright I looked at all the compiler warnings for plugin/collide directory...
quite a few can be serious in a 64-bit environment (like uint32 a = new xx(); delete a;)
couldn\'t bring myself to fix all of them.

so, how do I know which collision detection model/algorithm planeshift (psclient) uses?

Aerig

  • Hydlaa Resident
  • *
  • Posts: 76
    • View Profile
64 Bit Version?
« Reply #6 on: January 12, 2005, 08:47:28 pm »
I have just built myself a new 64bit AMD machine and am intending to attempt PS server and client compilation on it.

If you have debugged any 32/64 bit compilation clashes could you possibly create a diff file or, better, submit your changed files with appropriate #if preprocessor directives to the main CVS, so that I dont end up duplicating your work?

I am sure I am not the only person who would appraciate a 64 bit compileable version of the source ;)

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
(No subject)
« Reply #7 on: January 13, 2005, 03:38:29 pm »
well it still crashes - I don\'t think I really improved on anything yet. I\'m slow :)

Androgos

  • Guest
(No subject)
« Reply #8 on: January 13, 2005, 04:10:45 pm »
psclient.cfg

Use: \"System.PlugIns.iCollideSystem = crystalspace.collisiondetection.opcod\" (without quotes) to use opcod
Use: \"System.PlugIns.iCollideSystem = crystalspace.collisiondetection.rapid\" (without quotes) to use rapid

dimaq

  • Hydlaa Resident
  • *
  • Posts: 87
    • View Profile
crashes with both
« Reply #9 on: January 17, 2005, 07:58:42 pm »
Just tested it... psclient crashes with both rapid and opcode collision detection algorithms.

it crashes in different ways though - while rapid collision crashes clearly in the collision detection bit, whith:
plugins/collide/rapid/csrapid.h:55: failed assertion \'false\'
(that\'s in virtual bool CollideRay(,,,,))

opcode collision allows me to get further - and crashes in the trading dialogue - any trading (buy or sell) as long as the right pane should have some items in it.