Bug #987
EGS Segmentation fault under ubuntu x64
Status: | Rejected | Start date: | 06/20/2010 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | - | % Done: | 0% |
|
Category: | - | |||
Target version: | - |
Description
Hello,
EGS service crash at launching under ubuntu x64
After a little discution with kervala, i've launch EGS under debug mode with gdb tool.
You will find below the result :
/ryzom_code_linux/code/ryzom/server$ gdb ./src/entities_game_service/entities_game_service_debug GNU gdb (GDB) 7.1-ubuntu <blabla> Reading symbols from /ryzom_code_linux/code/ryzom/server/src/entities_game_service/entities_game_service_debug...done.
(gdb) run
Starting program: /ryzom/ryzom_code_linux/code/ryzom/server/src/entities_game_service/entities_game_service_debug [Thread debugging using libthread_db enabled] INF f7fd6720 command.cpp 145 registerNamedCommandHandler <Unknown> : CCommandRegistry : adding commands handler for class 'CModuleManager' INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'AdminExecutorService' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'AdminExecutorServiceClient' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'AdminService' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'AnimSessionManager' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'CharNameMapperClient' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'CharacterControl' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'ClientCommandForwader' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'GuildUnifier' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'LocalGateway' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'LoggerServiceClient' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'ShardUnifierClient' factory INF f7fd6720 module_manager.cpp 228 addModuleFactoryRegistry <Unknown> : Adding module 'StandardGateway' factory INF f7fd6720 service.cpp 256 cbDirectoryChanged EGS : SERVICE: 'ConfigDirectory' changed to '/ryzom/ryzom_code_linux/code/ryzom/server/' Program received signal SIGSEGV, Segmentation fault. 0x000000000143b15c in NLNET::cbDirectoryChanged(NLMISC::IVariable&) ()
(gdb) bt
0x000000000143b15c in NLNET::cbDirectoryChanged(NLMISC::IVariable&) () 0x00000000014422f1 in NLNET::IService::main(char const*, char const*, unsigned short, char const*, char const*, char const*) () 0x0000000000b3ad89 in main (argc=1, argv=0x7fffffffe298) at entities_game_service.cpp:2119
At the line 2119 in entities_game_service.cpp, we've found this:
NLNET_SERVICE_MAIN( CPlayerService, "EGS", "entities_game_service", 0, EmptyCallbackArray, "", "" );
But, after search and test, i don't find the reason of this crash.
All others services are launched correctly except egs.
Need some help :)
Related issues
History
#1 Updated by vonbister about 8 years ago
Same issue on Ubuntu 10.4 amd64.
Solved by changing line 259 of code/nel/src/net/service.cpp
from:
if (var.getName() "RunningDirectory")
to:
if (var.getName().c_str() "RunningDirectory")
note: i had to do a full rebuild, 'make_all' didn't rebuild nel when i changed the file.
#2 Updated by kervala about 8 years ago
if (var.getName().c_str() == "RunningDirectory")is not correct neither :(
Because it's always "false": var.getName().c_str() is the pointer on var string and "RunningDirectory" is the pointer on a different static string.
If you want to compare 2 char*, you should use
strcmp(var1, var2) == 0
If you changed that and it doesn't crash anymore, that's a problem with chdir (vp.c_str());
#3 Updated by promethium about 8 years ago
vonbister wrote:
Same issue on Ubuntu 10.4 amd64.
Solved by changing line 259 of code/nel/src/net/service.cpp
I have the same problem with ubuntu 10.10 x86_64 (does it work for anyone with 64 bits ubuntu ?).
I tried everything around those line (checking for null or empty path, commenting out the test), and cleaning out everything before rebuilding (by uncommenting cleanup lines in make_all, is it the right thing to do ?), but it doesn't seem to have any effects on the error for me.
#4 Updated by kervala over 7 years ago
- Status changed from New to Rejected
That's a duplicate of #1016 and since there are more details there, we'lll use the other issue :)