Migration from FC5 32-bit to Debian 64-bit
Making a thread to harvest suggestions. Any help is appreciated. :)
Original system is a 32-bit Fedora Core 5 box. New system is a 64-bit Debian install. It's an Intel Core2Duo running kernel 2.6.18-6-amd64, x86_64. Our code is somewhat custom but primarily the same as project-eqemu trunk, last changelog March 23rd 09. Old gcc version is 4.1.2 (20070502), new gcc version is gcc 4.1.2 (20061115, prerelease, fair enough debian is cautious). We brought our source tree over to the new machine and immediately tackled these issues: Code:
../common/TCPConnection.cpp: In member function `bool TCPConnection::GetSockName(char*, uint16*)': - Modifying makefiles to use -march=nocona instead of -march=i686, removed compile flags -DI386. ( gcc <= 4.3 doesn't have the core2 arch and nocona was suggested here ) Behavior: ./zone - Segfaults. GDB: Code:
GNU gdb 6.4.90-debian Code:
(gdb) list 140,165 Quote:
Going ahead and posting this for assistance, but still researching the issue with vprintf and whatnot. Might be a dead-end or not, we'll see. Thanks for any help, all. |
He forgot to say
HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELP !!!!!!!!!!!!!!!!!!!!!! So there I said it... |
There is a patch in the last post of this thread that may help you:
http://www.projecteq.net/phpBB2/view...ghlight=valist I've not tried to compile on 64-Bit Linux myself. |
That's gotten zone to boot and supporting players (at least one) so far. Thanks so much.
For future reference, the link posted above contains a diff of common/MiscFunctions.cpp and common/debug.cpp, copied below: Code:
Code: Continuing on... |
Zone is now crashing on ZoneDatabase::LoadAAs()
Zone init appears normal and happy: Code:
(gdb) r Code:
Error in SpawngroupID: 3362960 Code:
[Status] Loading spawn2 points... Code:
#0 ZoneDatabase::LoadAAs (this=0x8824c0, load=0xae15e0) at AA.cpp:1289 Code:
(gdb) list |
Have you tried a vanilla installation? eg: a PEQ DB and an appropriate version of EQEmu code. This could show you if you have an underlying problem with the system or if the problem is in your custom code.
I know that PEQ DB 1129Rev535 and EQEmu instance branch rev 585 works for me. I'm using Fedora 8 x86_64 on a Pentium D. I did not set -march at all during compile time. |
Had to do actual work for awhile :(
Went down into GetAASkillVars() and found that it isn't returning rows. Query is at line 1310 roughly, next if() block checks row count and fails at 0. skill_id is apparently '2', Innate Strength. Running the actual query on the database from the mysql CLI client produces the expected results: Code:
SELECT a.cost, a.max_level, a.hotkey_sid, a.hotkey_sid2, a.title_sid, a.desc_sid, a.type, COALESCE(( Code:
+------+-----------+------------+-------------+-----------+----------+------+--------------------+------------------+------------+---------------+---------+-----------+------------+------------+-----------------+----------+ |
I also modified my zone makefile:
Code:
diff -up EQEmuServer/zone/makefile.dan EQEmuServer/zone/makefile |
I pulled a clean trunk down from the googlecode svn. Made the changes above, including modifying the makefiles.
Unfortunately the server still crashed on LoadAAs(). Pulled down a fresh version of PEQ and got it updated. Our custom bins can get into zone without a crash with the fresh PEQ db. Gonna double-check our dump and ensure everything came down properly. |
Well, at least you have narrowed down the problem. Let me know if there is anything else you need.
|
Yup just something whacked out with that particular copy of the database...
|
All times are GMT -4. The time now is 08:44 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.