Overflow detection
Hello,
How can I catch the moment when a player receives an overflow error ? I want to execute log_amx("Overflow on player %s", name) when this is happening. Thank you! Later Edit: Also, I have this error which crashes the server: Code:
L 09/21/2012 - 19:09:53: [test.amxx] Event "HLTV" - New Round Event- (1) New Round Event ("HLTV"); - (2) triggered "Spawned_With_The_Bomb"; - (3) FATAL ERROR (shutting down): SZ_GetSpace: overflow without FSB_ALLOWOVERFLOW set on Server Reliable Datagram. I checked every event-hooks and function calls which crossed my mind, but I didn't identify the problem. Which event could be between (2) and (3) ? I think there is something which causes the problem... Running Furien Mod. LE: OK... I've done some more checks and the crash is happening between triggered "Spawned_With_The_Bomb" and World triggered "Round_Start". So, the order is this: - triggered "Spawned_With_The_Bomb"; - crash (the error written above); - World triggered "Round_Start" (which doesn't happen because of the crash). Thank you! Later Edit: After a few more checks I come with new information. Problem rephrased: I get overflow errors on players OR overflow error on server ("FATAL ERROR (shutting down): SZ_GetSpace: overflow without FSB_ALLOWOVERFLOW set on Server Reliable Datagram") ONLY AFTER "triggered "Spawned_With_The_Bomb" and BEFORE round start (which is new round + freezetime). Sometimes all players are disconnected by "overflow" errors, sometimes the server crashes with the error written above. This is happening when 20 or more players are connected on the server and it never takes too long before these problems appear. I suppose the player spawn catch is responsable for all these errors. This is the only player spawn function I have and must be something wrong with it because I have only one plugin installed on the server and this is the closest function call to the moment the errors appear. Besides the problem explained above, it is all perfectly working, no other errors or strange things. Later Edit: I've tested without Player_Spawn function and errors still apear. This is my plugin_init(): Do you see anything which can lead to the errors posted above, which appear on round_start ? (right after "triggered "Spawned_With_The_Bomb") I repeat: the problem appears only when 20 or more players are connected and always in the same circumstance: on the round start right after "triggered "Spawned_With_The_Bomb" (this is the last message in log). Thank you! |
Re: Overflow detection
Four posts?
A game server is not a forging machine. By the way, I think you have to translate word "overflow" -- check http://www.thefreedictionary.com/overflow |
Re: Overflow detection
I'm really sorry for posting in a row.
I know what overflow means and I know the most situation when it occures. I've disabled any text / hud message sent to player, or any other auxiliar information and I checked (test by removing) all events hooked near to the moment the problem appears (round end, round start, sendaudio, player spawn, etc.). I haven't posted here without doing my research or without doing as far as possible tests. I'm thinking now to something else... I execute some threaded queries (SQL) on plugin_init, client_putinserver and client_disconnect and in each function I initialize a bidimensional array which is used to write the query: Query[4096]. Therefore, I have set #pragma dynamic to 8192. Is it too less ? Is it possible the "overflow" errors to be caused by this ? Even if it's not related to the round_start. Thank you! Later Edit: I have optimized the queries as much as I could. The pragma dynamic is set to 16384 (just for safety), and I have these 3 bigger arrays: - Query[850] in plugin_init - Query [310] in client_putinserver; - Query [450] in client_disconnect; Other variables/arrays are insignifiant. The problem still exists... LE: Never Mind. |
| All times are GMT -4. The time now is 08:13. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.