Skip to content

Unexpected errors when kill -15 #5362

Closed
@halibobo1205

Description

@halibobo1205

System information

OS : Linux
JVM : Red Hat, Inc. 1.8.0_302 amd64
Git : 9e95599
Version : 4.7.2

Expected behaviour

During the kill -15, the service throws no unnecessary errors.

Actual behaviour

You're gonna get a lot of errors.

Steps to reproduce the behaviour

kill -15 to shutdown service.

Backtrace

19:11:45.024 ERROR [DPosMiner] [DB](Manager.java:1300) Closed
org.iq80.leveldb.DBException: Closed
        at org.fusesource.leveldbjni.internal.JniDB.get(JniDB.java:75)
        at org.tron.common.storage.leveldb.LevelDbDataSourceImpl.getData(LevelDbDataSourceImpl.java:201)
        at org.tron.core.db2.common.LevelDB.get(LevelDB.java:25)
        at org.tron.core.db2.common.LevelDB.get(LevelDB.java:12)
        at org.tron.core.db2.core.SnapshotRoot.get(SnapshotRoot.java:54)
        at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:51)
        at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:37)
        at org.tron.core.db2.core.Chainbase.getUnchecked(Chainbase.java:153)
        at org.tron.core.db.TronStoreWithRevoking.getUnchecked(TronStoreWithRevoking.java:124)
        at org.tron.core.store.WitnessScheduleStore.getData(WitnessScheduleStore.java:43)
        at org.tron.core.store.WitnessScheduleStore.getActiveWitnesses(WitnessScheduleStore.java:64)
        at org.tron.consensus.ConsensusDelegate.getActiveWitnesses(ConsensusDelegate.java:88)
        at org.tron.consensus.dpos.DposSlot.getScheduledWitness(DposSlot.java:57)
        at org.tron.consensus.dpos.DposService.validBlock(DposService.java:127)
        at org.tron.consensus.Consensus.validBlock(Consensus.java:35)
        at org.tron.core.db.Manager.processBlock(Manager.java:1691)
        at org.tron.core.db.Manager.applyBlock(Manager.java:1007)
        at org.tron.core.db.Manager.pushBlock(Manager.java:1292)
        at org.tron.core.consensus.BlockHandleImpl.produce(BlockHandleImpl.java:54)
        at org.tron.consensus.dpos.DposTask.produceBlock(DposTask.java:109)
        at org.tron.consensus.dpos.DposTask.lambda$init$0(DposTask.java:57)
        at java.lang.Thread.run(Thread.java:748)

13:08:50.399 ERROR [qtp993587250-11210] [o.t.c.Wallet](Wallet.java:4307) getEnergyFee timestamp=1688303298000 failed, error is Closed

02:48:22.335 ERROR [pool-61-thread-1] [i.n.u.c.D.rejectedExecution](Slf4JLogger.java:181) Failed to submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated
	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:842)
	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:328)
	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:321)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:765)
	at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:768)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:432)
	at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:987)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:491)
	at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:80)
	at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:74)
	at io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86)
	at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:333)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:163)
	at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:119)
	at org.tron.p2p.connection.socket.PeerClient.connectAsync(PeerClient.java:92)
	at org.tron.p2p.connection.socket.PeerClient.connectAsync(PeerClient.java:62)
	at org.tron.p2p.connection.business.pool.ConnPoolService.lambda$connect$4(ConnPoolService.java:189)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.tron.p2p.connection.business.pool.ConnPoolService.connect(ConnPoolService.java:187)
	at org.tron.p2p.connection.business.pool.ConnPoolService.lambda$triggerConnect$9(ConnPoolService.java:267)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	
02:48:22.319 WARN  [pool-61-thread-1] [i.n.c.AbstractChannel](Slf4JLogger.java:146) Force-closing a channel whose registration task was not accepted by an event loop: [id: 0x148375b5]
java.util.concurrent.RejectedExecutionException: event executor terminated
	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:842)
	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:328)
	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:321)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:765)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:479)
	at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:80)
	at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:74)
	at io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86)
	at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:333)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:163)
	at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:119)
	at org.tron.p2p.connection.socket.PeerClient.connectAsync(PeerClient.java:92)
	at org.tron.p2p.connection.socket.PeerClient.connectAsync(PeerClient.java:62)
	at org.tron.p2p.connection.business.pool.ConnPoolService.lambda$connect$4(ConnPoolService.java:189)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.tron.p2p.connection.business.pool.ConnPoolService.connect(ConnPoolService.java:187)
	at org.tron.p2p.connection.business.pool.ConnPoolService.lambda$triggerConnect$9(ConnPoolService.java:267)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

17:39:33.167 ERROR [pool-49-thread-1] [DB](Manager.java:1306) Closed
org.iq80.leveldb.DBException: Closed
    at org.fusesource.leveldbjni.internal.JniDB.get(JniDB.java:75)
    at org.tron.common.storage.leveldb.LevelDbDataSourceImpl.getData(LevelDbDataSourceImpl.java:190)
    at org.tron.core.db2.common.LevelDB.get(LevelDB.java:25)
    at org.tron.core.db2.common.LevelDB.get(LevelDB.java:12)
    at org.tron.core.db2.core.SnapshotRoot.get(SnapshotRoot.java:54)
    at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:51)
    at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:37)
    at org.tron.core.db2.core.Chainbase.getUnchecked(Chainbase.java:153)
    at org.tron.core.db2.core.Chainbase.get(Chainbase.java:134)
    at org.tron.core.db.RecentBlockStore.get(RecentBlockStore.java:19)
    at org.tron.core.db.Manager.validateTapos(Manager.java:756)
    at org.tron.core.db.Manager.processTransaction(Manager.java:1410)
    at org.tron.core.db.Manager.processBlock(Manager.java:1728)
    at org.tron.core.db.Manager.applyBlock(Manager.java:1012)
    at org.tron.core.db.Manager.pushBlock(Manager.java:1298)
    at org.tron.core.net.TronNetDelegate.processBlock(TronNetDelegate.java:260)
    at org.tron.core.net.service.sync.SyncService.processSyncBlock(SyncService.java:301)
    at org.tron.core.net.service.sync.SyncService.lambda$handleSyncBlock$9(SyncService.java:287)
    at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)
    at org.tron.core.net.service.sync.SyncService.handleSyncBlock(SyncService.java:266)
    at org.tron.core.net.service.sync.SyncService.lambda$init$1(SyncService.java:85)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
17:39:33.169 INFO  [pool-49-thread-1] [DB](PendingManager.java:57) Pending tx size: 0.
17:39:33.170 ERROR [pool-49-thread-1] [net](SyncService.java:310) Process sync block Num:52582289,ID:0000000003225791de6bf7887282f5dae1d3dd018af8bfa5bfd24debcde9148d failed
org.iq80.leveldb.DBException: Closed
    at org.fusesource.leveldbjni.internal.JniDB.get(JniDB.java:75)
    at org.tron.common.storage.leveldb.LevelDbDataSourceImpl.getData(LevelDbDataSourceImpl.java:190)
    at org.tron.core.db2.common.LevelDB.get(LevelDB.java:25)
    at org.tron.core.db2.common.LevelDB.get(LevelDB.java:12)
    at org.tron.core.db2.core.SnapshotRoot.get(SnapshotRoot.java:54)
    at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:51)
    at org.tron.core.db2.core.SnapshotImpl.get(SnapshotImpl.java:37)
    at org.tron.core.db2.core.Chainbase.getUnchecked(Chainbase.java:153)
    at org.tron.core.db2.core.Chainbase.get(Chainbase.java:134)
    at org.tron.core.db.RecentBlockStore.get(RecentBlockStore.java:19)
    at org.tron.core.db.Manager.validateTapos(Manager.java:756)
    at org.tron.core.db.Manager.processTransaction(Manager.java:1410)
    at org.tron.core.db.Manager.processBlock(Manager.java:1728)
    at org.tron.core.db.Manager.applyBlock(Manager.java:1012)
    at org.tron.core.db.Manager.pushBlock(Manager.java:1298)
    at org.tron.core.net.TronNetDelegate.processBlock(TronNetDelegate.java:260)
    at org.tron.core.net.service.sync.SyncService.processSyncBlock(SyncService.java:301)
    at org.tron.core.net.service.sync.SyncService.lambda$handleSyncBlock$9(SyncService.java:287)
    at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)
    at org.tron.core.net.service.sync.SyncService.handleSyncBlock(SyncService.java:266)
    at org.tron.core.net.service.sync.SyncService.lambda$init$1(SyncService.java:85)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Optimization suggestions

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions