Game server crash (Clan data)

Issue #327 closed
HD321kbps created an issue

Game server crash

[ERROR] 2020-06-06 19:37:46 L2Clan: Error restoring clan data: null
java.lang.NullPointerException: null
    at com.l2jserver.gameserver.bbs.model.Forum.lambda$getChildByName$0(Forum.java:79) ~[l2jserver.jar:?]
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176) ~[?:?]
    at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1601) ~[?:?]
    at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) ~[?:?]
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) ~[?:?]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) ~[?:?]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
    at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[?:?]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
    at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) ~[?:?]
    at com.l2jserver.gameserver.bbs.model.Forum.getChildByName(Forum.java:79) ~[l2jserver.jar:?]
    at com.l2jserver.gameserver.model.L2Clan.setLevel(L2Clan.java:598) ~[l2jserver.jar:?]
    at com.l2jserver.gameserver.model.L2Clan.restore(L2Clan.java:897) [l2jserver.jar:?]
    at com.l2jserver.gameserver.model.L2Clan.<init>(L2Clan.java:172) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable.<init>(ClanTable.java:89) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable$SingletonHolder.<clinit>(ClanTable.java:464) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable.getInstance(ClanTable.java:460) [l2jserver.jar:?]
    at com.l2jserver.gameserver.GameServer.<init>(GameServer.java:260) [l2jserver.jar:?]
    at com.l2jserver.gameserver.GameServer.main(GameServer.java:449) [l2jserver.jar:?]
[WARN ] 2020-06-06 19:37:46 ItemContainer: could not restore container:
java.lang.NullPointerException: null
    at com.l2jserver.gameserver.model.itemcontainer.ClanWarehouse.getOwner(ClanWarehouse.java:51) ~[l2jserver.jar:?]
    at com.l2jserver.gameserver.model.itemcontainer.ClanWarehouse.getOwner(ClanWarehouse.java:32) ~[l2jserver.jar:?]
    at com.l2jserver.gameserver.model.itemcontainer.ItemContainer.restore(ItemContainer.java:584) [l2jserver.jar:?]
    at com.l2jserver.gameserver.model.L2Clan.<init>(L2Clan.java:173) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable.<init>(ClanTable.java:89) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable$SingletonHolder.<clinit>(ClanTable.java:464) [l2jserver.jar:?]
    at com.l2jserver.gameserver.data.sql.impl.ClanTable.getInstance(ClanTable.java:460) [l2jserver.jar:?]
    at com.l2jserver.gameserver.GameServer.<init>(GameServer.java:260) [l2jserver.jar:?]
    at com.l2jserver.gameserver.GameServer.main(GameServer.java:449) [l2jserver.jar:?]

When upgrading a clan or adding items to the warehouse. Everything stops working. The clan lost leader.

[WARN ] 2020-06-07 15:23:40 L2Clan: com.l2jserver.gameserver.model.L2Clan: Clan MonsterKill without clan leader!
[WARN ] 2020-06-07 15:24:42 L2GameClientPacket: Exception processing bypass from player Admin: npc_268463002_increase_clan_level
java.lang.NullPointerException: null
        at com.l2jserver.gameserver.bbs.model.Forum.lambda$getChildByName$0(Forum.java:79) ~[l2jserver.jar:?]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176) ~[?:?]
        at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1601) ~[?:?]
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) ~[?:?]
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
        at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) ~[?:?]
        at com.l2jserver.gameserver.bbs.model.Forum.getChildByName(Forum.java:79) ~[l2jserver.jar:?]
        at com.l2jserver.gameserver.model.L2Clan.setLevel(L2Clan.java:598) ~[l2jserver.jar:?]
        at com.l2jserver.gameserver.model.L2Clan.changeLevel(L2Clan.java:2196) ~[l2jserver.jar:?]
        at com.l2jserver.gameserver.model.L2Clan.levelUpClan(L2Clan.java:2179) ~[l2jserver.jar:?]
        at com.l2jserver.gameserver.model.actor.instance.L2VillageMasterInstance.onBypassFeedback(L2VillageMasterInstance.java:231) ~[l2jserver.jar:?]
        at com.l2jserver.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:166) [l2jserver.jar:?]
        at com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:68) [l2jserver.jar:?]
        at com.l2jserver.gameserver.network.L2GameClient.run(L2GameClient.java:914) [l2jserver.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
        at java.lang.Thread.run(Thread.java:832) [?:?]


Comments (11)

  1. rafael Medeiros

    @{557058:ba07eabf-44f4-4086-a1ad-2981189ae334}

    @HD321kbps

    can you send clan_data table here?

  2. rafael Medeiros

    @{557058:ba07eabf-44f4-4086-a1ad-2981189ae334} you need create backup table clan_data an run this script

    -- CREATE DATABASE "l2jgs" ---------------------------------
    CREATE DATABASE IF NOT EXISTS `l2jgs` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    USE `l2jgs`;


    -- CREATE TABLE "clan_data" ------------------------------------
    CREATE TABLE `clan_data` (
    `clan_id` Int( 11 ) NOT NULL DEFAULT 0,
    `clan_name` VarChar( 45 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `clan_level` Int( 11 ) NULL DEFAULT NULL,
    `reputation_score` Int( 11 ) NOT NULL DEFAULT 0,
    `hasCastle` Int( 11 ) NULL DEFAULT NULL,
    `blood_alliance_count` Smallint( 5 ) UNSIGNED NOT NULL DEFAULT 0,
    `blood_oath_count` Smallint( 5 ) UNSIGNED NOT NULL DEFAULT 0,
    `ally_id` Int( 11 ) NULL DEFAULT NULL,
    `ally_name` VarChar( 45 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `leader_id` Int( 11 ) NULL DEFAULT NULL,
    `crest_id` Int( 11 ) NULL DEFAULT NULL,
    `crest_large_id` Int( 11 ) NULL DEFAULT NULL,
    `ally_crest_id` Int( 11 ) NULL DEFAULT NULL,
    `auction_bid_at` Int( 11 ) NOT NULL DEFAULT 0,
    `ally_penalty_expiry_time` BigInt( 13 ) UNSIGNED NOT NULL DEFAULT 0,
    `ally_penalty_type` TinyInt( 1 ) NOT NULL DEFAULT 0,
    `char_penalty_expiry_time` BigInt( 13 ) UNSIGNED NOT NULL DEFAULT 0,
    `dissolving_expiry_time` BigInt( 13 ) UNSIGNED NOT NULL DEFAULT 0,
    `new_leader_id` Int( 10 ) UNSIGNED NOT NULL DEFAULT 0,
    PRIMARY KEY ( `clan_id` ) )
    CHARACTER SET = utf8
    COLLATE = utf8_general_ci
    ENGINE = InnoDB;


    -- CREATE INDEX "ally_id" --------------------------------------
    CREATE INDEX `ally_id` USING BTREE ON `clan_data`( `ally_id` );


    -- CREATE INDEX "auction_bid_at" -------------------------------
    CREATE INDEX `auction_bid_at` USING BTREE ON `clan_data`( `auction_bid_at` );


    -- CREATE INDEX "leader_id" ------------------------------------
    CREATE INDEX `leader_id` USING BTREE ON `clan_data`( `leader_id` );


  3. HD321kbps Account Deactivated reporter

    @rafael Medeiros

    It's not about the tables!
    Created a clean new Clan_data table.
    Creating a new clan, everything works.
    But if you increase the clan’s level or put an item in the clan’s warehouse. After restarting the server, errors appear.

  4. Zoey76

    Clan crash fix

    Fixed logout logger and differentiated logout from restart. Fixed clan crash, reported by HD321kbps. Reworked PostBBSManager, Forum, ForumRepositoryMySQLImpl and ForumsBBSManager classes. Decoupled L2Clan from Forum.

    Fixes #327

    → <<cset 82102d3964c2>>

  5. Log in to comment