linux server crashing upon character select
Posted: Sat Aug 02, 2014 10:18 am
Hi everyone,
I work best by breaking things, and in order to break things I need my own copy =) I've spent the past 2 days or trying to get a server up and running on my linux machine here at home and have ran into some difficulties. The first was that it appears that the code will not properly compile with g++-4.6, and requires g++-4.8; I've installed g++-4.8 on my ubuntu machine according to this post which has allowed me to compile it. After fixing a bunch of misc firewall issues I can now launch the server and it properly talks to your login server. The problem however, is once a character is selected the code segfaults.
At first I believed this to be an issues with the oddball way g++-4.8 was installed, so I started up a VM with ubuntu 14.04 which has native g++-4.8 support. However, the code continues to seg fault; with my limited gdb knowledge (I'm working on it!) I was able to get this:
Any help on the appropriate next steps would be greatly appreciated!
(running svn version 546, copied over all .xml files from the trunk/conf directory to the trunk/src/world directory, & only imported vgo_world.sql into my sql database.)
and here is the output leading up to the segfault:
I work best by breaking things, and in order to break things I need my own copy =) I've spent the past 2 days or trying to get a server up and running on my linux machine here at home and have ran into some difficulties. The first was that it appears that the code will not properly compile with g++-4.6, and requires g++-4.8; I've installed g++-4.8 on my ubuntu machine according to this post which has allowed me to compile it. After fixing a bunch of misc firewall issues I can now launch the server and it properly talks to your login server. The problem however, is once a character is selected the code segfaults.
At first I believed this to be an issues with the oddball way g++-4.8 was installed, so I started up a VM with ubuntu 14.04 which has native g++-4.8 support. However, the code continues to seg fault; with my limited gdb knowledge (I'm working on it!) I was able to get this:
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
0x0000000000456818 in Net::SendCharacterInfo (this=0x729ba0 <net>, client=..., characters=0x7fffffff9960, count=2) at Net.cpp:253
253 out->SetInt32("Coord_x", info->coord_x);
(gdb) backtrace
#0 0x0000000000456818 in Net::SendCharacterInfo (this=0x729ba0 <net>, client=..., characters=0x7fffffff9960, count=2) at Net.cpp:253
#1 0x0000000000456f20 in Net::HandleCharacterSelected (this=0x729ba0 <net>, client=..., packet_struct=0x754620) at Net.cpp:353
#2 0x0000000000455f02 in Net::Process (this=0x729ba0 <net>) at Net.cpp:145
#3 0x00000000004554d8 in main (argc=1, argv=0x7fffffffe638) at Main.cpp:137
(running svn version 546, copied over all .xml files from the trunk/conf directory to the trunk/src/world directory, & only imported vgo_world.sql into my sql database.)
and here is the output leading up to the segfault:
Code: Select all
Module: VGOEmulator WorldServer, Version: 0.1 Alpha
Copyright (C) 2014 VGOEmulator. http://vgoemulator.net/
VGOEmulator is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
VGOEmulator is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Website : http://vgoemulator.net
SVN : http://svn.vgoemulator.net/svn/vgoemulator
18:47:45.941 I General Starting VGOEmulator WorldServer v0.1 Alpha
18:47:45.947 I Database MySQL database connected to 192.168.1.18:3306
18:47:45.953 E Packet Error finding opcode with name OP_ClientRaidLockout
18:47:45.953 E Packet Error finding opcode with name OP_ServerPOIRegion
18:47:45.954 E Packet Error finding opcode with name OP_ServerPOIChunk
18:47:45.954 E Packet Error finding opcode with name OP_ServerPOIAdd
18:47:45.954 E Packet Error finding opcode with name OP_ServerPOILocations
18:47:45.956 E Packet Error finding opcode with name OP_ServerChestItems
18:47:45.956 E Packet Error finding opcode with name OP_ServerAssemblyItems
18:47:45.957 E Packet Error finding opcode with name OP_ServerEscrowItems
18:47:45.958 E Packet Error finding opcode with name OP_ServerBeginCastText
18:47:45.958 E Packet Error finding opcode with name OP_ClientAutoAttackToggle
18:47:45.959 E Packet Error finding opcode with name OP_ServerChunkPreload2
18:47:45.959 E Packet Error finding opcode with name OP_ServerRemoveBeneficialEffect
18:47:45.959 E Packet Error finding opcode with name OP_ServerItemRefreshTimer
18:47:45.959 E Packet Error finding opcode with name OP_ServerSpellCurrentSequence
18:47:45.960 E Packet Error finding opcode with name OP_ClientMoveWornItem
18:47:45.960 E Packet Error finding opcode with name OP_ServerMoveWornItem
18:47:45.960 E Packet Error finding opcode with name OP_ServerCancelMaintainedEffect
18:47:45.960 E Packet Error finding opcode with name OP_ServerPlayerIconLevel
18:47:45.960 E Packet Error finding opcode with name OP_ServerCampTimer
18:47:45.960 E Packet Error finding opcode with name OP_ServerSetGameTime
18:47:45.961 E Packet Error finding opcode with name OP_ClientHail
18:47:45.961 I Config Successfully loaded 406 packet structs.
18:47:45.962 D Rules Loaded 1 Rule Sets
18:47:45.964 E Database Error running MySQL query (1054): Unknown column 'script_id' in 'field list'
SELECT id, `continent`, `shortname`, `filename`,`start_x`,`start_y`,`start_z`,`file_count`,`file_guid`, `file_size`,
`coord_x`, `coord_y`, `displayname`, `start_pitch`, `start_yaw`, `start_roll`, `chunk_type`, `behavior_flags`, `access_flags`,
`is_city`, `always_loaded`, `shutdown_timer`, `file_count`, `name_count`, `file_guid`, `file_size`, `ruleset_id`, `script_id`
FROM `chunks`
WHERE 1
18:47:45.965 I Database Successfully loaded 4 variables.
18:47:45.967 I Database Successfully loaded 464 commands.
18:47:45.967 E Database Error running MySQL query (1146): Table 'vgemu.lua_scripts' doesn't exist
SELECT `script_id`, `script_name` FROM `lua_scripts` WHERE `script_type` = 'Spawn'
18:47:45.968 I Lua Successfully loaded 0 spawn scripts.
18:47:45.968 E Database Error running MySQL query (1146): Table 'vgemu.lua_scripts' doesn't exist
SELECT `script_id`, `script_name` FROM `lua_scripts` WHERE `script_type` = 'Chunk'
18:47:45.968 I Lua Successfully loaded 0 chunk scripts.
[New Thread 0x7ffff6682700 (LWP 9776)]
[New Thread 0x7ffff5651700 (LWP 9777)]
18:47:45.970 I Net Server listening on 192.168.1.112:10100
[New Thread 0x7ffff4e50700 (LWP 9778)]
[New Thread 0x7fffeffff700 (LWP 9779)]
18:47:46.279 I Net Connected to login server 68.98.218.5:10102
[New Thread 0x7fffef7fe700 (LWP 9780)]
18:49:03.050 I UDP New client connected from 192.168.2.1
18:49:03.050 I UDP Received session request from 192.168.2.1 with connection ID 1308004898
18:49:03.132 I Net New Session: Account ID: 104 Session ID: '3j44duk473d18i12nc3rt3vum5'
Program received signal SIGSEGV, Segmentation fault.