Jump to content
  • 0

Problem With My Server It Crashes Without Reason


Question

Posted

hello there can u help me please my server crash without reason or someone is trying to hack it i dont know

and i see log it show me this.

WARN  com.mchange.v2.resourcepool.BasicResourcePool@5939d7b1 -- 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 com.l2jfrozen.util.database.L2DatabaseFactory_c3p0.getConnection(L2DatabaseFactory_c3p0.java:147)
	at com.l2jfrozen.gameserver.network.serverpackets.CharSelectInfo.loadCharacterSelectInfo(CharSelectInfo.java:234)
	at com.l2jfrozen.gameserver.network.serverpackets.CharSelectInfo.<init>(CharSelectInfo.java:69)
	at com.l2jfrozen.gameserver.thread.LoginServerThread.run(LoginServerThread.java:365)
ERROR L2DatabaseFactory: getConnection() failed, trying again
java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531)
	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
	at com.l2jfrozen.util.database.L2DatabaseFactory_c3p0.getConnection(L2DatabaseFactory_c3p0.java:147)
	at com.l2jfrozen.gameserver.network.serverpackets.CharSelectInfo.loadCharacterSelectInfo(CharSelectInfo.java:234)
	at com.l2jfrozen.gameserver.network.serverpackets.CharSelectInfo.<init>(CharSelectInfo.java:69)
	at com.l2jfrozen.gameserver.thread.LoginServerThread.run(LoginServerThread.java:365)
Caused by: 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)
	... 5 more
INFO  Disconnecting all players from the Server...
INFO  Saving all players data...

Recommended Posts

  • 0
Posted (edited)

I won't edit c3p0 for a custom crap while you got other efficient db poolers running around (boneCP, hikariCP, etc).

 

The point is no one will try and test those poolers because no one knows how to properly test it. See L2JFrozen tried to move to boneCP, it ended by a total revert as they couldn't figure which values to set.

 

Gimme good values for X, XX and XXX and XXXX players and I will commit it without doubt (with a performance test before/after) ;p.

 

I got other things to rework before trying to crash the db due to new system. But up to you to test and share results of your experiments.

 

Regarding PreparedStatement, it's still using close but as I don't rely on an external method, class or even Jar (like that CloseUtil.) I didn't see the use to edit it. Finally some queries still got "crafted" PreparedStatement, I prefered to keep a single writing style over the whole project.

 

-----------

 

Regarding the OP question, the shutdown process has to be reworked. If it's not that, it's one of the queries used by the Shutdown process methods.

Edited by Tryskell
Guest
This topic is now closed to further replies.



  • Posts

    • Both are in-game bots. I'm looking for an out-of-game bot ((one that doesn’t require the L2 client).     Hmm, never heard about this bot. Will check, thank you
    • 🎉 L2Mid is back! After a 3-year pause, we’re launching a new Interlude server based on the original Interlude client (old school 😉).   What to expect • The classic Interlude spirit • Old friends, rival clans, and returning legends • A season focused on pure nostalgia   This may be our final Interlude server. (maybe 😉) 🗓️ Opening: December 5, 2025 at 20:00 (GMT+2)   https://l2mid.com
    • Hello, i was wondering if there's a guide on how to add the enchanting armor glow system from  Ertheia or Lindvior to hi5?
    • I imported this file using Unreal Engine 2 Runtime, modified it, saved it back, and then placed it on the client. When I run the game and wear this back accessory, the client crashes!     2025.10.28 03:52:59 OS : Windows XP 5.1 (Build: 2600) CPU : GenuineIntel  Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz @ 3697 MHz 1023MB RAM Video : NVIDIA GeForce GT 730 (3064) PosCode : TS4(273) -119:-62:-1474 4/1 [0] SkeletalMesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel: Serial size mismatch: Got 383399, Expected 383403 History: LoadObject <- (SkeletalMesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel 8376427==8376427/8376498 7993028 383403) <- ULinkerLoad::Preload <- PreLoadObjects <- UObject::EndLoad <- UObject::StaticLoadObject <- (Engine.Mesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel NULL) <- UMeshComponent::LoadMeshComponent <- UMeshContainer::UpdateMeshComponents <- APawn::UpdateMeshComponents <- User::UpdatePawnMeshContainerByItem <- User::UpdatePawnMeshContainer <- User::SetPawnResource <- NCPawnView_InvenItemWnd::OnRButtonDown <- NCVirtualWndMain::SetFocusingWindow <- NCVirtualWndMain::DispatchWndMsg <- NConsoleWnd::DispatchWndMsg <- NConsoleWnd::MasterConsoleEventProcess <- UEngine::InputEvent <- UWindowsViewport::CauseInputEvent <- UWindowsViewport::UpdateInput <- UViewport::ReadInput <- APlayerController::Tick <- ALineagePlayerController::Tick <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- UMasterLevel::Tick <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- MainLoop   I don't know what the reason is. Can you help me?
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock