RocketChat / Rocket.Chat

The communications platform that puts data protection first.
https://rocket.chat/
Other
40.48k stars 10.54k forks source link

Rocket.Chat freezes and does not respond #31057

Closed xxxYasyaxxx closed 11 months ago

xxxYasyaxxx commented 11 months ago

Description:

When trying to send a message containing Java Stacktrace, Rocket.Chat freezes and stops responding. At the same time, the logs are empty. The service does not crash. Operability is restored only after restarting the service.

Steps to reproduce:

  1. Go to any room/chat/channel.
  2. Paste text below for example:

2023-11-22 16:22:29.993 ERROR 14 --- [nboundChannel-1] m.f.terminalproxy.TerminalProxyImpl : terminal proxy talk send, error

java.lang.ClassCastException: class java.lang.String cannot be cast to class org.springframework.security.oauth2.jwt.Jwt (java.lang.String is in module java.base of loader 'bootstrap'; org.springframework.security.oauth2.jwt.Jwt is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @1ed6993a) at moex.formalization.terminalproxy.TerminalProxyImpl.sendTalkWithDealParametersMap(TerminalProxyImpl.java:65) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkServiceImpl.persistTalk(TalkServiceImpl.java:391) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkServiceImpl.persistTalk(TalkServiceImpl.java:406) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkServiceImpl.confirmTalkByCounterpartyAndPersist(TalkServiceImpl.java:333) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkServiceImpl.confirmTalkByOutgoingCounterparty(TalkServiceImpl.java:89) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkStateChangerImpl.confirmFirstByOutgoingCounterparty(TalkStateChangerImpl.java:233) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkStateChangerImpl.confirmFirst(TalkStateChangerImpl.java:105) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkEventProcessingImpl.processTalkEvent(TalkEventProcessingImpl.java:117) ~[classes!/:na] at moex.formalization.tradingchats.service.TalkEventProcessingImpl.processTalkEvent(TalkEventProcessingImpl.java:48) ~[classes!/:na] at moex.formalization.tradingchats.web.TalkEventStompController.listenEvent(TalkEventStompController.java:38) ~[classes!/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMatch(AbstractMethodMessageHandler.java:569) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:511) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:94) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessageInternal(AbstractMethodMessageHandler.java:524) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessage(AbstractMethodMessageHandler.java:458) ~[spring-messaging-5.3.22.jar!/:5.3.22] at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:144) ~[spring-messaging-5.3.22.jar!/:5.3.22] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Expected behavior:

The text should be sent to the chat

Actual behavior:

Rocket.Chat freezes and does not respond

Server Setup Information:

Client Setup Information

Gummikavalier commented 11 months ago

We get this too. This is particularly bad because coders and admins often copypaste errors into discussions.

Even using codeblock around this example freezes the web client in the user end.

Gummikavalier commented 11 months ago

Linking here this one too https://github.com/RocketChat/Rocket.Chat/issues/30362

WebVishnu commented 11 months ago

@Gummikavalier Is there any solution for this

Gummikavalier commented 11 months ago

@WebVishnu Hi, sorry! I'm not a Rocket.Chat employee. Just their pretty vocal customer. :smiley:

MartinSchoeler commented 11 months ago

Hey, this PR fixes the issue https://github.com/RocketChat/fuselage/pull/1231 Expect the fix to come in version 6.5.0 Thanks!