smqtt icon indicating copy to clipboard operation
smqtt copied to clipboard

遇到空指针异常

Open feimenggo opened this issue 2 years ago • 7 comments

12:13:48.153 [business-io-1262] ERROR i.g.q.core.protocol.PublishProtocol - error
java.lang.NullPointerException: null
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1693)
	at io.github.quickmsg.core.spi.DefaultMessageRegistry.saveSessionMessage(DefaultMessageRegistry.java:32)
	at io.github.quickmsg.core.protocol.PublishProtocol.filterOfflineSession(PublishProtocol.java:128)
	at io.github.quickmsg.core.protocol.PublishProtocol.lambda$send$0(PublishProtocol.java:102)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
	at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.github.quickmsg.core.protocol.PublishProtocol.send(PublishProtocol.java:109)
	at io.github.quickmsg.core.protocol.PublishProtocol.parseProtocol(PublishProtocol.java:68)
	at io.github.quickmsg.common.protocol.Protocol.lambda$doParseProtocol$0(Protocol.java:27)
	at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:47)
	at reactor.core.publisher.Mono.subscribe(Mono.java:4338)
	at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

feimenggo avatar Aug 19 '22 04:08 feimenggo

image

feimenggo avatar Aug 19 '22 07:08 feimenggo

这种是,没有发送connect报文,导致,

---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午3:16 收件人: @.>; 抄送: @.***>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

1ssqq1lxr avatar Aug 19 '22 08:08 1ssqq1lxr

这种是,没有发送connect报文,导致, ---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午3:16 收件人: @.>; 抄送: @.>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

请问应该怎么解决呢?重启smqtt后正常了,有可能后面还会遇到。

feimenggo avatar Aug 19 '22 09:08 feimenggo

能提供更详细得日志吗?可以试用我们商业版

---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午5:32 收件人: @.>; 抄送: @.@.>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19)

这种是,没有发送connect报文,导致, … ---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午3:16 收件人: @.>; 抄送: @.>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

请问应该怎么解决呢?重启smqtt后正常了,有可能后面还会遇到。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

1ssqq1lxr avatar Aug 19 '22 11:08 1ssqq1lxr

能提供更详细得日志吗?可以试用我们商业版 ---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午5:32 收件人: @.>; 抄送: @.@.>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19) 这种是,没有发送connect报文,导致, … ---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 下午3:16 收件人: @.>; 抄送: @.>; 主题: Re: [quickmsg/smqtt] 遇到空指针异常 (Issue #19) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.> 请问应该怎么解决呢?重启smqtt后正常了,有可能后面还会遇到。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

没有更详细的日志了,我是发现消息发布后,订阅没有收到消息,查日志才发现这个问题。

feimenggo avatar Aug 19 '22 12:08 feimenggo

又遇到这个问题了

image

我在filterOfflineSession方法里加了判断ChannelStatus.OFFLINE,才执行saveSessionMessage方法。

feimenggo avatar Aug 20 '22 00:08 feimenggo

加微信17512575402

---原始邮件--- 发件人: @.> 发送时间: 2022年8月19日(周五) 中午12:19 收件人: @.>; 抄送: @.***>; 主题: [quickmsg/smqtt] 遇到空指针异常 (Issue #19)

12:13:48.153 [business-io-1262] ERROR i.g.q.core.protocol.PublishProtocol - error java.lang.NullPointerException: null at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1693) at io.github.quickmsg.core.spi.DefaultMessageRegistry.saveSessionMessage(DefaultMessageRegistry.java:32) at io.github.quickmsg.core.protocol.PublishProtocol.filterOfflineSession(PublishProtocol.java:128) at io.github.quickmsg.core.protocol.PublishProtocol.lambda$send$0(PublishProtocol.java:102) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at io.github.quickmsg.core.protocol.PublishProtocol.send(PublishProtocol.java:109) at io.github.quickmsg.core.protocol.PublishProtocol.parseProtocol(PublishProtocol.java:68) at io.github.quickmsg.common.protocol.Protocol.lambda$doParseProtocol$0(Protocol.java:27) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:47) at reactor.core.publisher.Mono.subscribe(Mono.java:4338) at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

1ssqq1lxr avatar Oct 11 '22 07:10 1ssqq1lxr