+ Reply to Thread
Results 1 to 6 of 6

Thread: 2010/02/28 05:17:57.635 SEVERE [19] (Places.leave):

  1. #1
    Junior Member
    Join Date
    Feb 2010
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    2010/02/28 05:17:57.635 SEVERE [19] (Places.leave):

    Code:
    2010/02/28 05:17:57.635 SEVERE [19] (Places.leave): [Room=45, User=berkal] JavaScriptException occured while calling pluginDestroy: com.electrotank.electroserver.plugins.PluginException: JavaScriptException occured while calling pluginInterop: com.electrotank.electroserver.plugins.PluginException: Error attempting to execute update: Data truncation: Truncated incorrect DOUBLE value: 'null'
     com.electrotank.electroserver.plugins.PluginException: [Room=45, User=berkal] JavaScriptException occured while calling pluginDestroy: com.electrotank.electroserver.plugins.PluginException: JavaScriptException occured while calling pluginInterop: com.electrotank.electroserver.plugins.PluginException: Error attempting to execute update: Data truncation: Truncated incorrect DOUBLE value: 'null'
            com.electrotank.electroserver.plugins.ScriptPlugin.pluginDestroy(ScriptPlugin.java:206)
            com.electrotank.electroserver.plugins.utilities.RunPluginHelper.runDestroy(RunPluginHelper.java:46)
            com.electrotank.electroserver.entities.Room.pluginDestroy(Room.java:355)
            com.electrotank.electroserver.entities.Room.destroy(Room.java:54)
            com.electrotank.electroserver.entities.Places.leaveRoom(Places.java:231)
            com.electrotank.electroserver.entities.Places.leave(Places.java:175)
            com.electrotank.electroserver.ChatProtocol.cleanupConnection(ChatProtocol.java:202)
            com.electrotank.electroserver.ChatProtocol.connectionStopping(ChatProtocol.java:188)
            org.ronsoft.protoplex.generic.AbstractGenericServer.doDisconnect(AbstractGenericServer.java:212)
            org.ronsoft.protoplex.generic.AbstractGenericServer.disconnect(AbstractGenericServer.java:199)
            org.ronsoft.protoplex.nioimpl.server.NioConnection.readInput(NioConnection.java:231)
            org.ronsoft.protoplex.nioimpl.server.NioConnection.handleReadySelection(NioConnection.java:175)
            org.ronsoft.protoplex.nioimpl.server.Dispatcher$HandlerAdapter.run(Dispatcher.java:469)
            EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
            java.lang.Thread.run(Unknown Source)
    I'm getting this error please help me what should I do. How can I solve this problem. Games freeze

    Thank you.

  2. #2
    Administrator tcarr's Avatar
    Join Date
    Dec 2007
    Posts
    7,217
    Thanks
    80
    Thanked 1,087 Times in 1,076 Posts
    It appears that the destroy() method of one of your AS plugins is trying to invoke interop on another plugin and getting a null somewhere. I'll need to see the source code for your destroy() method and also for the interop method in the other plugin.
    Teresa Carrigan
    Senior Engineer
    Electrotank, Inc.

  3. #3
    Junior Member
    Join Date
    Feb 2010
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    [code]
    deste_id = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51");
    deste_renk = new Array("4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1");
    deste_puan = new Array(14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
    var poolNameAGC = "AGCDB";
    // * kaldir var poolNameSecond = "secondDB";
    var databasePluginName = "DatabasePlugin";
    var chat_game_db = "";
    var onceki_game_id = 0;
    var adminMesaj = 0;
    var elKontrolSay = 0;
    // setInterval için gerekli degiskneler
    var zamanlayici;
    // setIntervalin esitlendigi deger.
    var olay = "";
    // verilen süre bitince çagiralacak function u belirler.
    var soruSirasi = "";
    // Sorunun hangi kullaniciya sorulacagini belirler.
    var desteDizi = new Array();
    // el baslamadan önce kartlarin id lerinin tanimlandigi dizi.
    var oyundakiler = new Array();
    // gameStart esnasinda koltukta oturanlarin tutuldugu dizi.
    var oyunaGirenler = new Array();
    // Gir Girme sorusuna Gir cevabini verenlerin tutuldugu dizi.
    var puanlar = new Array();
    // Oyun Bittikten sonra kullanicinin elindeki kartlarin toplam puani
    var degerler = new Array();
    // Oyun Bittikten sonra kullanicinin elindeki kartlarin degerleri (per:1, doper:2 gibi...)
    var seatNolar = new Array();
    // Oyun Bittikten sonra eli degerlendirilecek kullanicilarin koltuk numaralari.
    var desteler = new Array();
    // Oyun Bittikten sonra eli degerlendirilecek kullancilarin kartlari.
    var isaretler = new Array();
    // Oyunun kazanan kullanicinin yanip sönecek kartlari.
    var room_ipler = new Array(0, 0, 0, 0, 0);
    // Odadaki ve oturan kullanicilarin ip bilgileri
    var girMiktar;
    // Odanin giris miktari tutulur.
    var roomMinLimit;
    // Odanin minimum giris miktari.
    var komisyonOrani;
    // Odanin komisyonunun orani.
    var desteKalan = "";
    // Kartlar dagitildiktan sonra kalan kartlar.
    var oturan = 0;
    // Masada oturan kullanicilarin sayisi.
    var ortaPara = 0;
    // Ortada toplanan para miktari.
    var dealerYer = 5;
    // dealerin konumu
    var cevapSay = 0;
    // Soruya cevap veren kullanicilarin sayisi
    var sonOyuncu = "";
    // Artir ve Kabul cevaplari ile degisir. Son cevabi veren kullanicinin koltuk numarasidir. (Kabul ilk ez denildiyse degisir.)
    var oyunAcikmi = "false";
    // Oyunun açilip açilmadigini tutan degisken..
    var elim_acikmi = "false";
    // Siradaki oyuncunun elinin açik olup olmadigi tutulur.
    var el_isaret = "1,2,3,4,5";
    // Yanip sönen kartlari bulmak için kullanilan bir degisken.
    var yer_userName = new Array("bos", "bos", "bos", "bos", "bos");
    var yer_chatDurum = new Array("acik", "acik", "acik", "acik", "acik");
    // Kullanicilarin oturduklara koltuga göre userName lerinin tutuldugu dizi.
    var yer_userId = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklara koltuga göre userId lerinin tutuldugu dizi.
    var yer_gameBalance = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklari koltuga göre oyundaki bakiyelerinin tutuldugu dizi.
    var yer_Balance = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklari koltuga göre kasadaki bakiyelerinin tutuldugu dizi.
    var yer_arttirA = new Array(0, 0, 0, 0, 0);
    var yer_arttirB = new Array(0, 0, 0, 0, 0);
    var yer_komBulIcin = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklari koltuga göre arttir ve kabul butonlari ile ortaya koyduklari paralarin tutuldugu dizi.
    var yer_girilen = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklari koltuga göre Gir butonu ile ortaya koyduklari paralarin tutuldugu dizi.
    var yer_onundeki = new Array(0, 0, 0, 0, 0);
    // Kullanicilarin oturduklari koltuga göre ön

  4. #4
    Administrator tcarr's Avatar
    Join Date
    Dec 2007
    Posts
    7,217
    Thanks
    80
    Thanked 1,087 Times in 1,076 Posts
    The code that is triggered from destroy() is very complicated and is AS1 instead of Java so it's harder for me to grasp fully. Somewhere (possibly in this code, possibly in the interop call) you are referencing something that is null.

    To track down the problem, I suggest adding logging lines liberally so that you can pinpoint the line that has the problem, then log each item in that line to determine which one is null. Please note that when destroy() is called it's possible that all the players from the game have already disconnected. The room hasn't been destroyed yet but it will be shortly.
    Teresa Carrigan
    Senior Engineer
    Electrotank, Inc.

  5. #5
    Junior Member
    Join Date
    Feb 2010
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    2010/02/28 22:29:24.895 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:34.700 SEVERE [11] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:35.215 SEVERE [11] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:38.721 SEVERE [12] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:41.017 SEVERE [12] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:41.551 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.008 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.009 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.011 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.015 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.230 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed
    2010/02/28 22:29:42.758 SEVERE [10] (NioConnection.shutdownChannel): Attempt to shutdown channel that's already closed


    HELP ME PLS

  6. #6
    Administrator tcarr's Avatar
    Join Date
    Dec 2007
    Posts
    7,217
    Thanks
    80
    Thanked 1,087 Times in 1,076 Posts
    You have an extremely complicated process that is triggered by the destroy() method. Please keep in mind that the destroy() method could be called because all users in the room were disconnected. This is far more complicated than I can debug from posts in the forum.

    You have several options at this point:
    1. Pay Electrotank for a "support ticket" and provide both server and client source code so that we can figure out what went wrong. If it turns out to be a bug in ElectroServer your fee will be refunded. I strongly suspect that the problem can be fixed by tweaking your application code.

    2. Using a combination of logging or trace lines and commenting out sections, pinpoint the exact line that was causing the original null pointer exception, then post here giving that line and I'll help you (free).

    3. Redesign the plugin to make the destroy method much simpler. For example, anything having to do with an individual user might be moved to the userExit method instead.

    4. Rewrite the plugin using Java so that Teresa can understand it more easily.
    Teresa Carrigan
    Senior Engineer
    Electrotank, Inc.

+ Reply to Thread

Similar Threads

  1. leave room??
    By jrdata2k in forum ES4 General Discussion
    Replies: 5
    Last Post: 09-07-2006, 04:31 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts