Jump to content
  • 0

Problem With My Server It Crashes Without Reason


iAlreadyExist

Question

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...
Link to comment
Share on other sites

Recommended Posts

  • 0

 

Putting things to null is, at best, pointless.

 

That

        finally
        {
            CloseUtil.close(con);
            con = null;
        }

is also useless, since JDK7 you can use try-with-ressources statements (closing automatically opened ressources).

 

https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

 

Finally there isn't only a single issue, I count at least 5. And the InterruptedException comes while you try to shutdown server.

INFO  SIGTERM received. Shutting down NOW!

why acis still has sql connections < java 7 since you already know that?

about the issues its more indeed but i read 2-3 comments, one piece of advice stop using this pack will save you time and brain damage.

Link to comment
Share on other sites

  • 0

why acis still has sql connections < java 7 since you already know that?

Example or never happened :) With such writting style, you get an error on aCis sources as far as I remember.

Edited by SweeTs
Link to comment
Share on other sites

  • 0

Why people likes used finally in try?

 

finnaly has other uses rather than only properly handling connection closing post java 7.

 

try

{

          return null;

}

finally

{

        //code

}

Edited by xxdem
Link to comment
Share on other sites

  • 0

finnaly has other uses rather than only properly handling connection closing post java 7.

 

try

{

          return null;

}

finally

{

        //code

}

 

But not everywhere.

Link to comment
Share on other sites

  • 0

why acis still has sql connections < java 7 since you already know that?

 

Dunno which rev or which part of the code you saw, but all connections are handled by try-with-ressources statements since... Years. I don't try-with-ressources PreparedStatement.

Edited by Tryskell
Link to comment
Share on other sites

  • 0

I am sorry I was not very clear here is an example of what I meant:

try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
       PreparedStatement statement = con.prepareStatement("blabla");

}

catch(Exeption e){}

this is the courent state of aCis

 

try (Connection con = L2DatabaseFactory.getInstance().getConnection();

            PreparedStatement statement = con.prepareStatement("blabla"))
{
      // code

}

catch(Exeption e){}

this is what I believe should be more effective on handling the database connections

pros less code, better handle

- time to code it

if you want I can discuss with you in private about a reworked database connection, from small tests I did is faster, but faster does not meant always reliable, I am talking about the c3p0 library.

anything else send me a message cause I am out of topic. BB:)

Link to comment
Share on other sites

  • 0

I am sorry I was not very clear here is an example of what I meant:

try (Connection con = L2DatabaseFactory.getInstance().getConnection())

{

       PreparedStatement statement = con.prepareStatement("blabla");

}

catch(Exeption e){}

this is the courent state of aCis

 

try (Connection con = L2DatabaseFactory.getInstance().getConnection();

            PreparedStatement statement = con.prepareStatement("blabla"))

{

      // code

}

catch(Exeption e){}

this is what I believe should be more effective on handling the database connections

pros less code, better handle

- time to code it

if you want I can discuss with you in private about a reworked database connection, from small tests I did is faster, but faster does not meant always reliable, I am talking about the c3p0 library.

anything else send me a message cause I am out of topic. BB:)

 

 

you dont even know what you're talking about. At the point where you close the connection all its resources including ResultSets and Statements will close aswell.

Link to comment
Share on other sites

  • 0

you're wrong here, if you dont use statement.close(); result.close(); you have unclosed stuff running around, if you use it like my example and if you see tryskell's link you will see what I mean, and you dont have to use statement.close(); result.close(); on every sql connection

 

ps "At the point where you close the connection all its resources including ResultSets and Statements will close aswell."

if I close with

statement.close(); result.close();

or this exapmle:

try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
       PreparedStatement statement = con.prepareStatement("blabla");

}

catch(Exeption e){}

because only in first you are right but as I explained and plus is old way

 

ps I am not working on this more than 6 months now but I know what I am talking about

Link to comment
Share on other sites

  • 0

you're wrong here, if you dont use statement.close(); result.close(); you have unclosed stuff running around, if you use it like my example and if you see tryskell's link you will see what I mean, and you dont have to use statement.close(); result.close(); on every sql connection

 

ps "At the point where you close the connection all its resources including ResultSets and Statements will close aswell."

if I close with

statement.close(); result.close();

or this exapmle:

try (Connection con = L2DatabaseFactory.getInstance().getConnection())

{

       PreparedStatement statement = con.prepareStatement("blabla");

}

catch(Exeption e){}

because only in first you are right but as I explained and plus is old way

 

ps I am not working on this more than 6 months now but I know what I am talking about

 

you dont know shit lmao, con.close() will invoke closable.close to all closables that this connection object generated, at least as far as the database java and rdbms side are properly configured and coded. But in a project like aCis theres no doubt that thiats the case.

Edited by xxdem
Link to comment
Share on other sites

  • 0

After reading all these replies i will reconsider 3 times to open a topic in dev help if i stuck somewhere. That guy asks if it has unclosed connections due to rebirthmanager you guys ended up to solve what to use in general. Obviously that guy is a newbie , searching for help he doesnt get a shit of what are you guys talk about.

Link to comment
Share on other sites

  • 0

The answer has been given. He have to close the connection following actual structure or simply rework the connection. And then.. discussion has begun, which is nothing bad.

Edited by SweeTs
Link to comment
Share on other sites

  • 0

The answer has been given. He have to close the connection following actual structure or simply rework the connection. And then.. discussion has begun, which is nothing bad.

Well if i was an author i will just be like (?) what i got to do now.. Some people arent smart enought to get something quick, i guess if you end the chat here and repost his solution would be better. 

Link to comment
Share on other sites

  • 0

he actually must admit(but he wont) that he's wrong, I am right (there are alot of examples on google with better handle) and aCis lucks of a good SQL connection management actually its half code done in try-with-resources and plus a better DatabaseFactory management can be achieved as I prementioned with changing c3p0 jar, the aCis guys can make their tests and see what I am talking about.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



  • Posts

    • 2 Factor Authentication Code for 100% secure login. Account provided with full information (email, password, dob, gender, etc).
    • ready server for sale, also available for testing with ready and beautiful npc zone pvp with custom 2 epic core orfen lvl2 with all maps ready all quests work at 100% ready comm  board with buffer teleport gm shop service anyone interested send me a pm many more that I forget  Exp/Sp : x30 (Premium: x40)    Adena : x7 (Premium: x10)   Drop : x7 (Premium: 10)   Spoil : x7 (Premium: 10)   Seal Stones : x7 (Premium: 10)   Raid Boss EXP/SP : x10   Raid Boss Drop : x3 (Premium: x5)   Epic Boss Drop : x1 Enchants   Safe Enchant : +3   Max Enchant : +16   Normal Scroll of Enchant Chance : 55%   Blessed Scroll of Enchant Chance : 60% Game Features   GMShop (Max. B-Grade)   Mana Potions (1000 MP, 10 sec Cooldown)   NPC Buffer (Include all buffs, 2h duration)   Auto-learn skills (Except Divine Inspiration)   Global Gatekeeper   Skill Escape: 15 seconds or /unstuck   1st Class Transfer (Free)   2nd Class Transfer (Free)   3rd Class Transfer (700 halisha mark)   Subclass (Items required from Cabrio / Hallate / Kernon / Golkonda + Top B Weapon + 984 Cry B)   Subclass 5 Subclasses + Main (Previous subclasses to level 75 to add new one)   Noblesse (Full Retail Quest)   Buff Slots: 24 (28 with Divine Inspiration LVL 4)   Skill Sweeper Festival added (Scavenger level 36)   Skill Block Buff added   Maximum delevel to keep Skills: 10 Levels   Shift + Click to see Droplist   Global Shout & Trade Chat   Retail Geodata and Pathnodes   Seven Signs Retail   Merchant and Blacksmith of Mammon at towns   Dimensional Rift (Min. 3 people in party to enter - Instance)   Tyrannosaurus drop Top LS with fixed 50% chance   Fast Augmentation System (Using Life Stones from Inventory)   Chance of getting skills (Normal 1%, Mid 3%, High 5%, Top 10%)   Wedding System with 30 seconds teleport to husband/wife Olympiad & Siege   Olympiad circle 14 days. (Maximum Enchant +6)   Olympiads time 18:00 - 00:00 (GMT +3)   Non-class 5 minimum participants to begin   Class based disabled   Siege every week.   To gain the reward you need to keep the Castle 2 times. Clans, Alliances & Limits   Max Clients/PC: 2   Max Clan Members: 36   Alliances allowed (Max 1 Clans)   24H Clan Penalties   Alliance penalty reset at daily restart (3-5 AM)   To bid for a Clan Hall required Clan Level 6 Quests x3   Alliance with the Ketra Orcs   Alliance with the Varka Silenos   War with Ketra Orcs   War with the Varka Silenos   The Finest Food   A Powerful Primeval Creature   Legacy of Insolence   Exploration of Giants Cave Part 1   Exploration of Giants Cave Part 2   Seekers of the Holy Grail   Guardians of the Holy Grail   Hunt of the Golden Ram Mercenary Force   The Zero Hour   Delicious Top Choice Meat   Heart in Search of Power   Rise and Fall of the Elroki Tribe   Yoke of the Past     Renegade Boss (Monday to Friday 20:00)   All Raid Boss 18+1 hours random respawn   Core (Jewel +1 STR +1 DEX) Monday, Wednesday and Friday 20:00 - 21:00 (Maximum level allowed to enter Cruma Tower: 80)   Orfen (Jewel +1 INT +1 WIT) Monday to Friday, 20:00 - 21:00 (Maximum level allowed to enter Sea of Spores: 80)   Ant Queen Monday and Friday 21:00 - 22:00 (Maximum level allowed to enter Ant Nest: 80)   Zaken Monday,Wednesday,Friday 22:00 - 23:00 (Maximum level allowed to enter Devil's Isle: 80)   Frintezza Tuesday, Thursday and Sunday 22:00 – 23:00 (Need CC of 4 party and 7 people in each party min to join the lair, max is 8 party of 9 people each)   Baium (lvl80) Saturday 22:00 – 23:00   Antharas Every 2 Saturdays 22:00 - 23:00 Every 2 Sundays (alternating with Valakas) 22:00 – 23:00   Valakas Every 2 Saturdays 22:00 - 23:00 Every 2 Sundays (alternating with Antharas) 22:00 – 23:00   Subclass Raids (Cabrio, Kernon, Hallate, Golkonda) 18hours + 1 random   Noblesse Raid (Barakiel) 6 hours + 15min random   Varka’s Hero Shadith 8 hours + 30 mins random (4th lvl of alliance with Ketra)   Ketra’s Hero Hekaton 8 hours + 30 mins random (4th lvl of alliance with Varka)   Varka’s Commander Mos 8 hours + 30 mins random (5th lvl of alliance with Ketra)   Ketra’s Commander Tayr 8 hours + 30 mins random (5th lvl of alliance with Varka)
    • Have a great day! Unfortunately, we can not give you the codes at the moment, but they will be distributed as soon as trial is back online, thanks for understanding! Other users also can reply there for codes, we will send them out some time after.
    • Ok mates i would like to play a pridestyle server (interluide, gracie w/ever) Is there any such server online and worth playing?
  • 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