RYuan 發表於 2019-7-22 18:45

JAVA問題

本帖最後由 RYuan 於 2019-7-22 19:06 編輯

小弟自架太陽神V14版本,自己5.6個朋友玩玩而已,一開始都沒問題直到這幾天黑盒子跑錯誤出來,GOOGLE好幾天都找不到答案也沒有人可以問,所以在此請教各位前輩,以下是錯誤訊息:
警告: Task already scheduled or cancelled
java.lang.IllegalStateException: Task already scheduled or cancelled
      at java.util.Timer.sched(Unknown Source)
      at java.util.Timer.scheduleAtFixedRate(Unknown Source)
      at l1j.server.server.model.Instance.L1NpcInstance.startHpRegeneration(Un
known Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.setCurrentHp(Unkno
wn Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

七月 21, 2019 1:04:42 上午 l1j.server.server.HomeTownTimeController dailyProc
資訊: 登記村民系統每日處理開始!
七月 21, 2019 1:14:00 上午 l1j.server.server.command.executor.L1CreateItem execu
te
嚴重: 470269
java.lang.ArrayIndexOutOfBoundsException: 470269
      at l1j.server.server.datatables.ItemTable.getTemplate(Unknown Source)
      at l1j.server.server.command.executor.L1CreateItem.execute(Unknown Sourc
e)
      at l1j.server.server.GMCommands.executeDatabaseCommand(Unknown Source)
      at l1j.server.server.GMCommands.handleCommands(Unknown Source)
      at l1j.server.server.clientpackets.C_Chat.<init>(Unknown Source)
      at l1j.server.server.PacketHandler.handlePacket(Unknown Source)
      at l1j.server.server.ClientThread$HcPacket.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "Timer-8028" java.lang.NullPointerException
      at l1j.server.server.model.Instance.L1MonsterInstance$1.run(Unknown Sour
ce)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
七月 21, 2019 1:26:07 上午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-54" java.lang.OutOfMemoryError: unable to cre
ate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(Unknown Sou
rce)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
七月 21, 2019 1:26:07 上午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "Timer-8428" java.lang.NullPointerException
      at l1j.server.server.model.Instance.L1MonsterInstance$1.run(Unknown Sour
ce)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
七月 21, 2019 1:26:08 上午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "Timer-8442" java.lang.NullPointerException
      at l1j.server.server.model.Instance.L1MonsterInstance$1.run(Unknown Sour
ce)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
七月 21, 2019 1:26:08 上午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "Timer-8448" java.lang.NullPointerException
      at l1j.server.server.model.Instance.L1MonsterInstance$1.run(Unknown Sour
ce)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
七月 21, 2019 1:26:08 上午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-62" java.lang.OutOfMemoryError: unable to cre
ate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(Unknown Sou
rce)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
Exception in thread "pool-1-thread-66" java.lang.OutOfMemoryError: unable to cre
ate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Attack.commitNpc(Unknown Source)
      at l1j.server.server.model.L1Attack.commit(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.onAction(Unknown S
ource)
      at l1j.server.server.clientpackets.C_Attack.<init>(Unknown Source)
      at l1j.server.server.PacketHandler.handlePacket(Unknown Source)
      at l1j.server.server.ClientThread$HcPacket.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
Exception in thread "Timer-8547" java.lang.NullPointerException
      at l1j.server.server.model.Instance.L1MonsterInstance$1.run(Unknown Sour
ce)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)


第二個錯誤訊息:
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-191" java.lang.OutOfMemoryError: unable to cr
eate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Attack.commitNpc(Unknown Source)
      at l1j.server.server.model.L1Attack.commit(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.onAction(Unknown S
ource)
      at l1j.server.server.clientpackets.C_Attack.<init>(Unknown Source)
      at l1j.server.server.PacketHandler.handlePacket(Unknown Source)
      at l1j.server.server.ClientThread$HcPacket.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
七月 21, 2019 9:41:25 下午 l1j.server.server.model.L1Chaser run
警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-90" java.lang.OutOfMemoryError: unable to cre
ate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Attack.commitNpc(Unknown Source)
      at l1j.server.server.model.L1Attack.commit(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.onAction(Unknown S
ource)
      at l1j.server.server.clientpackets.C_Attack.<init>(Unknown Source)
      at l1j.server.server.PacketHandler.handlePacket(Unknown Source)
      at l1j.server.server.ClientThread$HcPacket.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

警告: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at java.util.Timer.<init>(Unknown Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage(Unkn
own Source)
      at l1j.server.server.model.L1Chaser.attack(Unknown Source)
      at l1j.server.server.model.L1Chaser.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

      at java.util.concurrent.FutureTask.runAndReset(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.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-286" java.lang.OutOfMemoryError: unable to cr
eate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(Unknown Sou
rce)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
Exception in thread "pool-1-thread-167" java.lang.OutOfMemoryError: unable to cr
eate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(Unknown Sou
rce)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Exception in thread "pool-1-thread-512" java.lang.OutOfMemoryError: unable to cr
eate new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(Unknown Sou
rce)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

以上請問事發生甚麼事嗎?我GOOGLE過好像是記憶體問題??麻煩前輩幫幫忙,最近都不能玩很悶.....


殺戮kill 發表於 2019-7-22 19:06

   at l1j.server.server.model.Instance.L1MonsterInstance.setCurrentHp(Unkno
wn Source)
      at l1j.server.server.model.Instance.L1MonsterInstance.receiveDamage
有看到幾個重點 這是怪物減傷的錯誤訊息 回想一下有沒有改到noc什麼數值

再來outofmemory調整一下 模擬器資料夾內 啟動黑盒子.bat 右鍵編輯
看一下內置提供Java 的記憶體大小多少
依照你電腦配備做調整

以上都不能解決 建議直接先把DB備份起來重新匯入原始db
慢慢除錯 就可以找到了 因為太陽神V14 應該是沒有附原碼的
只有可能在DB調整上 出問題導致

RYuan 發表於 2019-7-22 23:10

殺戮kill 發表於 2019-7-22 19:06
at l1j.server.server.model.Instance.L1MonsterInstance.setCurrentHp(Unkno
wn Source)
      at l1 ...

感謝哦,聽您的建議回復DB發現....那麼多錯誤除了記憶體外.......都是我自己造成的,我在遊戲內新增物品,但是DB內卻沒有紀錄,所以對應不到然後產生錯誤,現在一切都正常囉...
對了,可以順便問一下嗎?在太陽神V14內他是說連線人數10人,CONFIG裡面是可以修改的,那修改是會有作用的嗎?(在先不管硬體設備前提下) 因為有提到V14沒有源碼....所以我不知道修改是否有效....

nienyung 發表於 2020-1-16 10:27

感謝分享~~

bennyst 發表於 2021-7-17 01:36

z420412345 發表於 2024-6-23 06:48

感謝分享。
頁: [1]
查看完整版本: JAVA問題