Page 1 of 2

Gameserver Crash

Posted: Wed Sep 09, 2009 9:36 pm
by DeathCall
» Find Revision
L2J Revision Number:3458
L2JDP Revision Number: 6566


Server Specifications:

- Intel Core2Quad Q6600
- 2*250 GB SATA2 Raid 0
- 8 GB DDR2 1066
- 1Gb/s Internet Connection
- Windows 2008 Server Enterprise Edition 64bit
- Java x64, Mysql x64

I got this error every few hours and gameserver starts disconnecting ppl. Ingame freeze. I have to close gameserver, and ofcourse ther's a few minutes rollback.
I tryed all possible settings in gameserver.bat memory. Players on server : ~400 .
Same thing happens with less on, so its not about players.
I`m trying to figure out a reason. Maybe RAM errors ?
I need more info about this error: "basic resource pool" . It runs out of resources? Looking at ram utilization and its always under 70 %.

2009.09.09 21:21:00,597 WARNING 33 com.mchange.v2.resourcepool.BasicResourcePool com.mchange.v2.resourcepool.BasicResourcePool@2980f96c -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread must have either interrupted the Thread attempting checkout!
2009.09.09 21:21:00,599 WARNING 33 net.sf.l2j.L2DatabaseFactory L2DatabaseFactory: getConnection() failed, trying again java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException
2009.09.09 21:21:02,678 WARNING 78 com.mchange.v2.resourcepool.BasicResourcePool com.mchange.v2.resourcepool.BasicResourcePool@2980f96c -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread must have either interrupted the Thread attempting checkout!
2009.09.09 21:21:02,679 WARNING 78 net.sf.l2j.L2DatabaseFactory L2DatabaseFactory: getConnection() failed, trying again java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException

Re: Gameserver Crash

Posted: Fri Sep 11, 2009 8:34 pm
by DeathCall
Can anyone help me with this ? I tryed everything.

Re: Gameserver Crash

Posted: Fri Sep 11, 2009 9:15 pm
by devo
can you post error log? from gameserver folder? Whole file.

Re: Gameserver Crash

Posted: Fri Sep 11, 2009 9:39 pm
by DeathCall
This is the file. Also in this log file i had a problem with mysql, and had to restart mysql service. Gameserver was blocked 5 minutes, after i restarted mysql, worked again without restarting gameserver. But after few hours same old error that drives me crazy. See bottom of log, before starting to massdisconnect players.
This error appears 3 times in the moment of crash : WARNING 33 com.mchange.v2.resourcepool.BasicResourcePool com.mchange.v2.resourcepool.BasicResourcePool@2980f96c -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread must have either interrupted the Thread attempting checkout!

Re: Gameserver Crash

Posted: Sat Sep 12, 2009 12:43 am
by toastgodsupreme
You know, it MIGHT be that you have a connection limit set in mysql (number of connections per hour). Very rare that it should be anything but 0, but it happens.

Re: Gameserver Crash

Posted: Sat Sep 12, 2009 1:06 am
by DeathCall
i have set mysql connections limit to : 100 , 600 , 1000 , 1500. no luck, still crash after 8-10 hours.

Re: Gameserver Crash

Posted: Sat Sep 12, 2009 1:14 am
by toastgodsupreme
DeathCall wrote:i have set mysql connections limit to : 100 , 600 , 1000 , 1500. no luck, still crash after 8-10 hours.
Firstly, I said "IN MYSQL". Not in l2j. :)

Secondly, this really sounds like an issue with mysql NOT the gameserver/loginserver. Given the fact that restarting MySQL fixes the issue it shouldn't take too much to figure out where the problem is with a little trial and error on your behalf.

Re: Gameserver Crash

Posted: Sat Sep 12, 2009 1:50 am
by DeathCall
u didnt read well. mysql restarting doesnt fix the crash issue. i said i had an issue with mysql but resolved by restarting, but the main problem its not resolvable by anything, server crashes and i need to close it and open it again. and i was talking by connections in my.ini(mysql settings).

Let me explain again :

Server works with 400 players (no lag) . After 8-10 hours : Ingame Freeze, Server console shows players disconnecting, and i get that error that i was talking bout in first post in the moment that server freezes.
I tested : gameserver.bat (all memory settings that i could think of)
general config (thread numbers)
my.ini (all settings possible that i could find on forums, and the original installing settings)

This error is not resolvable by any means, i have to close gameserver(few minutes rollback).

Re: Gameserver Crash

Posted: Sun Sep 13, 2009 9:34 pm
by carrion

Re: Gameserver Crash

Posted: Tue Sep 15, 2009 2:27 pm
by JavierDC
this too is a mistake that happens ma. if I can help

Code: Select all

14/09/2009 23:30:25 com.mchange.v2.resourcepool.BasicResourcePool prelimCheckoutResourceADVERTENCIA: com.mchange.v2.resourcepool.BasicResourcePool@c743eb -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread must have either interrupted the Thread attempting checkout!java.lang.InterruptedException	at java.lang.Object.wait(Native Method)	at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315)	at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)	at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)	at net.sf.l2j.L2DatabaseFactory.getConnection(L2DatabaseFactory.java:220)	at net.sf.l2j.gameserver.model.L2ItemInstance.updateInDb(L2ItemInstance.java:1496)	at net.sf.l2j.gameserver.model.L2ItemInstance.updateDatabase(L2ItemInstance.java:1310)	at net.sf.l2j.gameserver.model.L2ItemInstance.updateDatabase(L2ItemInstance.java:1284)	at net.sf.l2j.gameserver.model.itemcontainer.ItemContainer.destroyItem(ItemContainer.java:435)	at net.sf.l2j.gameserver.model.itemcontainer.PcInventory.destroyItem(PcInventory.java:426)	at net.sf.l2j.gameserver.model.itemcontainer.PcInventory.destroyItemByItemId(PcInventory.java:474)	at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.destroyItemByItemId(L2PcInstance.java:3613)	at net.sf.l2j.gameserver.model.actor.L2Character.onMagicHitTimer(L2Character.java:6186)	at net.sf.l2j.gameserver.model.actor.L2Character$MagicUseTask.run(L2Character.java:2567)	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)	at java.util.concurrent.FutureTask.run(Unknown Source)	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)	at java.lang.Thread.run(Unknown Source)

Re: Gameserver Crash

Posted: Wed Sep 16, 2009 6:10 am
by nBd
Post your my.cfg/ini. Does your MySQL Server run on same Machine? If not what connection is used between GS<->MySQL ? Looks not like a problem of l2j, more a failure in SQL Settings.

Re: Gameserver Crash

Posted: Wed Sep 16, 2009 1:16 pm
by DeathCall
True, its mysql. With the following settings i managed to keep it 34 Hours on after it crashed again with same error. I started Slow Query log and at every crash, i get this query

Code: Select all

# Query_time: 24.960044  Lock_time: 0.031201 Rows_sent: 0  Rows_examined: 0use l2jdb;SET timestamp=1253087062;DELETE FROM item_attributes WHERE item_attributes.itemId NOT IN (SELECT object_id FROM items); 
Next test will be : Disable that specific query from java.
If u think i can improve mysql settings, please advise.
mysql is on same machine. localhost.

Code: Select all

[mysqld] port=3306basedir="C:/Program Files/MySQL/MySQL Server 5.1/"datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"default-character-set=latin1default-storage-engine=INNODBsql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"max_connections=2048query_cache_type = 1query_cache_size=256Mtable_cache = 10000tmp_table_size=256Mmax_heap_table_size=512Mthread_cache_size=2048log_slow_queriesmemlockwait_timeout =14400interactive_timeout=14400query_prealloc_size=16k  #*** MyISAM Specific options myisam_max_sort_file_size=100Gmyisam_sort_buffer_size=30Mkey_buffer_size=128Mread_buffer_size=1Mjoin_buffer_size=128kread_rnd_buffer_size=512Ksort_buffer_size=1M #*** INNODB Specific options *** innodb_additional_mem_pool_size=8Minnodb_flush_log_at_trx_commit=2innodb_log_buffer_size=4Minnodb_buffer_pool_size=256Minnodb_log_file_size=64Minnodb_thread_concurrency=8innodb_lock_wait_timeout =50innodb_file_per_tableinnodb_open_files=2400
btw do you think increasing " innodb_lock_wait_timeout = " would help ?

Re: Gameserver Crash

Posted: Thu Sep 17, 2009 12:12 pm
by _DS_
This query executed only ONCE during server startup.

Re: Gameserver Crash

Posted: Thu Oct 01, 2009 12:06 am
by JavierDC
nuevamente este error

Code: Select all

Sep 30, 2009 9:06:52 PM com.mchange.v2.resourcepool.BasicResourcePool prelimCheckoutResourceWARNING: com.mchange.v2.resourcepool.BasicResourcePool@1938039 -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread must have either interrupted the Thread attempting checkout!java.lang.InterruptedException	at java.lang.Object.wait(Native Method)	at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315)	at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)	at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)	at net.sf.l2j.L2DatabaseFactory.getConnection(L2DatabaseFactory.java:220)	at net.sf.l2j.gameserver.network.serverpackets.CharSelectionInfo.loadCharacterSelectInfo(CharSelectionInfo.java:205)	at net.sf.l2j.gameserver.network.serverpackets.CharSelectionInfo.<init>(CharSelectionInfo.java:54)	at net.sf.l2j.gameserver.LoginServerThread.run(LoginServerThread.java:318)

Re: Gameserver Crash

Posted: Fri Oct 02, 2009 6:51 pm
by JavierDC
solution

query_cache_size= > DB --- increased the total database
tmp_table_size= > DB --- increased the total database


thus I had no problem

de esta forma no tuve mas problema