If you're doing something un-thread-safe, like calling game functions from 
another thread, you can expect it to break.  The fact that it didn't break at 
some earlier time is pure luck.

At 2006/05/31 03:10 PM, Olef van de Stadt wrote:
>What changed in the Source engine since the 25th that a coredump occurs
>on my plugin ?
>
>Full trace:
>#0  0x00e7a350 in ConCommandBase::FindCommand () from bin/vstdlib_i486.so
>#1  0x02110491 in CCvar::FindVar () from bin/engine_i686.so
>#2  0x021da8e1 in SV_ActivateServer () from bin/engine_i686.so
>#3  0x021646cb in Host_NewGame () from bin/engine_i686.so
>#4  0x0216d4f5 in CHostState::State_NewGame () from bin/engine_i686.so
>#5  0x0216d949 in CHostState::FrameUpdate () from bin/engine_i686.so
>#6  0x0216d9e7 in HostState_Frame () from bin/engine_i686.so
>#7  0x021f9834 in CEngine::Frame () from bin/engine_i686.so
>#8  0x021f74ce in CDedicatedServerAPI::RunFrame () from bin/engine_i686.so
>#9  0x00146ffd in RunServer () from bin/dedicated_i686.so
>#10 0x021f6eae in CModAppSystemGroup::Main () from bin/engine_i686.so
>#11 0x022f9a73 in CAppSystemGroup::Run () from bin/engine_i686.so
>#12 0x021f80bf in CDedicatedServerAPI::ModInit () from bin/engine_i686.so
>#13 0x0014724a in CDedicatedAppSystemGroup::Main () from
>bin/dedicated_i686.so
>#14 0x00174d43 in CAppSystemGroup::Run () from bin/dedicated_i686.so
>#15 0x00174d43 in CAppSystemGroup::Run () from bin/dedicated_i686.so
>#16 0x0014760f in main () from bin/dedicated_i686.so
>#17 0x0804909e in main ()
>
>Console:
>L 05/31/2006 - 21:03:24: Started map "de_dust" (CRC "-1541057188")
>couldn't exec skill2.cfg
>Executing dedicated server config file
>Error: Material "sprites/bubble" : proxy "AnimatedTexture" not found!
>L 05/31/2006 - 21:03:25: [TEST] Start of map, 32 players
>Section [Scenes]: 0 resources total 0 bytes, 0.00 % of limit (2.10 MB)
>./srcds_run: line 426: 24429 Segmentation fault      (core dumped) $HL_CMD
>Add "-debug" to the ./srcds_run command line to generate a debug.log to
>help with solving this problem
>
>I tried it with disabling every command and convar in my code, still the
>same result.
>I thought of updating the build sources to current and the SDK files to
>current.
>Game is also up-to-date
>
>Alfred Reynolds wrote:
>>The Source engine is NOT thread safe. You will need to access the engine
>>interface from the main thread and then use some safe dispatch mechanism
>>to get them to your other threads.
>>
>>- Alfred
>>
>>Olef van de Stadt wrote:
>>
>>>My plugin needs to create some threads for checking purposes.
>>>The concept is as follows:
>>>When a player has got a successfull Steam-ID, that ID is checked
>>>against
>>>an SQL database.
>>>To prevent the server from stalling, I use the threads (pthreads for
>>>linux, windows threads for... you guessed it.)
>>>In that thread I make calls to engine->GetPlayerNetworkIDString and
>>>playerinfo->GetPlayerNetworkIDString.
>>>
>>>Both crash "every now and then" on those calls or return NULL
>>>pointers.
>>>
>>>Is there any way I can get those classes to work in threads ?
>>>Or are there specific functions to call prior to accessing these
>>>class'
>>>functions ?
>>>
>>>Thanks,
>>> - Olef van de Stadt.
>>>
>>>
>>>_______________________________________________
>>>To unsubscribe, edit your list preferences, or view the list
>>>archives, please visit:
>>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>_______________________________________________
>>To unsubscribe, edit your list preferences, or view the list archives, please 
>>visit:
>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list archives, please 
>visit:
>http://list.valvesoftware.com/mailman/listinfo/hlcoders

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to