Bug 259 - Battlefield crashes if connect.......
Status: RESOLVED FIXED
Alias: None
Product: Battlefield 1942
Classification: Unclassified
Component: dedicated server
Version: beta1
Hardware: PC Linux
: P2 blocker
Assignee: Ryan C. Gordon
QA Contact:
URL:
: 262
Depends on:
Blocks:
 
Reported: 2002-12-10 09:31 EST by didi
Modified: 2002-12-15 09:27:04 EST
2 users (show)

See Also:



Description didi 2002-12-10 09:31:05 EST
1. server starts up.

2. if conectect from local net it crashes. (Engine/Gamemenu/Texture.cpp)
    memory leak.

my OS is Debian Linux Woody (3.0)

Hardware:

athlon 800 MHZ
512M Ram
no Sound
NVIDIA TNT2
Comment 1 David Mercier 2002-12-10 11:14:30 EST
same problem, same result on Redhat 7.3

segmentation fault as soon as a player connects to the server
Comment 2 Steven Hartland 2002-12-10 11:32:18 EST
Same here under FreeBSD
Comment 3 David Mercier 2002-12-10 11:50:17 EST
more details, here is a backtrace in gdb when analysing
the core file :

Reading symbols from /games/bf1942-lnxded-
1.2beta1/MultiplayerServers/GameSpyHost_Debug.so...
(no debugging symbols found)...done.
Loaded symbols for /games/bf1942-lnxded-
1.2beta1/MultiplayerServers/GameSpyHost_Debug.so
#0  0x08f64128 in dice::ref2::MemoryPool::alloc ()
(gdb) bt
#0  0x08f64128 in dice::ref2::MemoryPool::alloc ()
#1  0x08f641b8 in dice::ref2::MemoryPool::alloc ()
#2  0x08f68714 in __builtin_vec_new ()
#3  0x08b020d3 in dice::meme::Memory::wstringDuplicate ()
#4  0x08aecdf1 in dice::meme::WstringData::set ()
#5  0x08b84c03 in dice::bf::BfMenu::initHud ()
#6  0x08b8aadd in dice::bf::BfMenu::outputMessage ()
#7  0x08ccfabe in dice::bf::GameServer::handleGameEventManagerEvent ()
#8  0x08cd4641 in dice::bf::GameServer::processReceivedPackets ()
#9  0x08cc82ba in dice::bf::GameServer::update ()
#10 0x08a9e591 in dice::bf::Setup::mainLoop ()
#11 0x08a9db7c in dice::bf::Setup::start ()
#12 0x08a816c9 in main ()
#13 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6

OS : Linux Redhat 7.3 kernel 2.4.18-18.7.xsmp
Hardware : Dual PIII 1.13 Ghz - 2 Go Ram

Hope this helps
Comment 4 Christopher Kunz 2002-12-10 12:46:38 EST
Same here, RedHat 7.3 with 2.4.18-3. Celeron 1700MHz (Willamette), 512mb ram.
Strace doesnt do anything unusual, neither does the server throw core upon
segfaulting. Otherwise, same behavior: starts up fine (...well, if you want to
call that fine), but crashes on connection
Comment 5 Christopher Kunz 2002-12-10 13:54:57 EST
Same behavior on
Linux ffm-game15 2.4.20 #2 SMP Sun Dec 1 20:44:07 CET 2002 i686 unknown (debian)
Linux ffm-game01 2.4.17 #6 SMP Tue May 28 08:16:49 CEST 2002 i686 unknown (SuSE)
So far, none of 4 boxes I tried ran the server with any success.
Comment 6 Jason Abbott 2002-12-10 16:26:55 EST
I recieved an identical stack backtrace as listed in #3 on my Debian 3.0 system
when I try to connect locally to the server.

CPU: 0.9 GHz AMD
Sound: none
Mem: 256 Megs

I tried starting it both under Xwindows and in console, as super user and as a
regular user. All combinations ended with the segmentation fault.
Comment 7 Anton Jansen 2002-12-11 04:27:01 EST
Can also confirm the stack trace of #3
Linux iwi144 2.4.19-rc1 #22 Tue Oct 15 15:17:11 CEST 2002 i686
Comment 8 Steven Hartland 2002-12-11 04:33:01 EST
Stack traces from my crashes:
#0  0x8f20f3c in dice::ref2::world::FlagBase::handleUpdate ()
#1  0x90757cf in dice::ref2::world::ObjectManager::updateObjects ()
#2  0x8cf48bd in dice::bf::GameServer::simulateFrame ()
#3  0x8cc82ee in dice::bf::GameServer::update ()
#4  0x8a9e591 in dice::bf::Setup::mainLoop ()
#5  0x8a9db7c in dice::bf::Setup::start ()
#6  0x8a816c9 in main ()
#7  0x298019cb in __libc_start_main () at ../sysdeps/generic/libc-start.c:122


#0  0x8f64128 in dice::ref2::MemoryPool::alloc ()
#1  0x8f641b8 in dice::ref2::MemoryPool::alloc ()
#2  0x8f68714 in __builtin_vec_new ()
#3  0x8b020d3 in dice::meme::Memory::wstringDuplicate ()
#4  0x8aecdf1 in dice::meme::WstringData::set ()
#5  0x8b84c03 in dice::bf::BfMenu::initHud ()
#6  0x8b8aadd in dice::bf::BfMenu::outputMessage ()
#7  0x8ccfbde in dice::bf::GameServer::handleGameEventManagerEvent ()
#8  0x8cd4641 in dice::bf::GameServer::processReceivedPackets ()
#9  0x8cc82ba in dice::bf::GameServer::update ()
#10 0x8a9e591 in dice::bf::Setup::mainLoop ()
#11 0x8a9db7c in dice::bf::Setup::start ()
#12 0x8a816c9 in main ()
#13 0x29810e5e in __libc_start_main (main=0x8a815d0 <main>, argc=1, 
ubp_av=0xbfbffc64, 
    init=0x8a809ec <_init>, fini=0x96018bc <_fini>, rtld_fini=0x297ab3c4 
<_dl_fini>, 
    stack_end=0xbfbffc5c) at ../sysdeps/generic/libc-start.c:129
Comment 9 SartriX 2002-12-11 10:33:00 EST

=========================

Having the same problem here.
As soon as someone tries to connect this happens:

STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
Segmentation fault (core dumped)

These 7 lines are generated at the crash and the map has been started properly 
(Challenge started-msg).

I get this when I run it 'out of the box'. Tried it with custom settings as 
well (game.serverDedicated 1, game.serverInternet 1, removed 
admin.enableRemoteAdmin commands), but none of them made any difference.

PS: I'm an experienced CS-serveradmin.
We run RedHat 7.1 with 2.4.20 kernel, a few gameservers, a site and some small 
userservices on a dual p3 800 with 1.5Gb Registered ECC ram, plenty of HD and a 
solid connection. We usually stay below a load of 1.0, so we have 1 CPU left.
Comment 10 Victor Martinez 2002-12-12 13:37:10 EST
Here are my stack traces on a quad xeon 700 with 4gb mem on slack 8.1

0  0x08f64128 in dice::ref2::MemoryPool::alloc ()
#1  0x08f641b8 in dice::ref2::MemoryPool::alloc ()
#2  0x08f68714 in __builtin_vec_new ()
#3  0x08b020d3 in dice::meme::Memory::wstringDuplicate ()
#4  0x08aecdf1 in dice::meme::WstringData::set ()
#5  0x08b84c03 in dice::bf::BfMenu::initHud ()
#6  0x08b8aadd in dice::bf::BfMenu::outputMessage ()
#7  0x08ccfabe in dice::bf::GameServer::handleGameEventManagerEvent ()
#8  0x08cd4641 in dice::bf::GameServer::processReceivedPackets ()
#9  0x08cc82ba in dice::bf::GameServer::update ()
#10 0x08a9e591 in dice::bf::Setup::mainLoop ()
#11 0x08a9db7c in dice::bf::Setup::start ()
#12 0x08a816c9 in main ()
#13 0x4006d17d in __libc_start_main (main=0x8a815d0 <main>, argc=1, 
ubp_av=0xbffff964,
    init=0x8a809ec <_init>, fini=0x96018bc <_fini>, rtld_fini=0x4000a534 
<_dl_fini>,
    stack_end=0xbffff95c) at ../sysdeps/generic/libc-start.c:129

#0  0x08f64128 in dice::ref2::MemoryPool::alloc ()
#1  0x08f641b8 in dice::ref2::MemoryPool::alloc ()
#2  0x08f68658 in __builtin_new ()
#3  0x08faee0e in dice::ref2::io::NetworkManager::analyseObject ()
#4  0x08fab89d in dice::ref2::io::NetworkManager::addObject ()
#5  0x08fab7d7 in dice::ref2::io::NetworkManager::addObject ()
#6  0x08cc791c in dice::bf::GameServer::spawnMultipleObjects ()
#7  0x08f167a2 in dice::ref2::world::FireArms::initProjectilePool ()
#8  0x08f15fc9 in dice::ref2::world::FireArms::FireArms ()
#9  0x08f21c97 in dice::ref2::world::HandFireArms::HandFireArms ()
#10 0x093a403c in dice::ref2::world::HandFireArmsTemplate::createObject ()
#11 0x090905c6 in dice::ref2::world::BundleTemplate::addBundleChilds ()
#12 0x0908052c in dice::ref2::world::Bundle::Bundle ()
#13 0x08f23277 in dice::ref2::world::Item::Item ()
#14 0x08f239e9 in dice::ref2::world::Kit::Kit ()
#15 0x093a48bc in dice::ref2::world::KitTemplate::createObject ()
#16 0x08ccb87a in dice::bf::GameServer::createObjectOnAllClients ()
#17 0x08ce0a77 in dice::bf::GameServer::spawnPlayer ()
#18 0x08ce7608 in dice::bf::GameServer::gameStatusPlaying ()
#19 0x08ce6adb in dice::bf::GameServer::updateGameLogic ()
#20 0x08cf4cc7 in dice::bf::GameServer::simulateFrame ()
#21 0x08cc82ee in dice::bf::GameServer::update ()
#22 0x08a9e591 in dice::bf::Setup::mainLoop ()
#23 0x08a9db7c in dice::bf::Setup::start ()
#24 0x08a816c9 in main ()
#25 0x4006d17d in __libc_start_main (main=0x8a815d0 <main>, argc=1, 
ubp_av=0xbffff964,
    init=0x8a809ec <_init>, fini=0x96018bc <_fini>, rtld_fini=0x4000a534 
<_dl_fini>,
    stack_end=0xbffff95c) at ../sysdeps/generic/libc-start.c:129

Comment 11 Steven Hartland 2002-12-13 06:47:17 EST
Got a different one now:
This looks like a strange one to me:
(gdb) info stack
#0  0x298a9a61 in __libc_nanosleep () from /lib/libc.so.6
#1  0x298d0885 in usleep (useconds=15000) 
at ../sysdeps/unix/sysv/linux/usleep.c:30
#2  0x8a9eec3 in dice::bf::Setup::mainLoop ()
#3  0x8a9e11c in dice::bf::Setup::start ()
#4  0x8a81a4d in main ()
#5  0x29811e5e in __libc_start_main (main=0x8a81890 <main>, argc=8, 
ubp_av=0xbfbff794, 
    init=0x8a80ca8 <_init>, fini=0x960211c <_fini>, rtld_fini=0x297ac3c4 
<_dl_fini>, stack_end=0xbfbff78c)
    at ../sysdeps/generic/libc-start.c:129

OS FreeBSD 4.7
Dual P4 2.53, 2GB RAM
Comment 12 ggilley 2002-12-14 21:49:21 EST
I get same as #9

STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
STUB: Texture::load {Engine/GameMenu/Texture.cpp:674}.
Segmentation fault

Tried default config settings and several customer ones.  No diff on any of them.

Running RedHat 8.0
AMD Ath.  1GHz
Ram       1Gig
SBLive
Nvidia GF2
Comment 13 Brad Davidson 2002-12-14 23:03:42 EST
*** Bug 262 has been marked as a duplicate of this bug. ***
Comment 14 Ryan C. Gordon 2002-12-15 09:27:04 EST
Fixed in build #1039933525.

--ryan.