You can use a tool like Wireshark and see what's being sent back/forth with
a breakdown of the WebSocket frames (headers+payload)
You should be able to see where that bad Frame with RSV1 set to true is
coming from.

>From what I can tell, the project org.java_websocket is throwing that
exception because it thinks it sees a frame with RSV1 set to true.
That should only be true for the combination of using permessage-deflate
extension and the frame being a non-continuation data frame (TEXT/BINARY).

Joakim Erdfelt / [email protected]


On Fri, Mar 8, 2019 at 11:52 AM Meggyesi, Zalán <[email protected]> wrote:

> Hello Joakim,
>
> I ran a build of Jetty 10.0.0 based on the latest source, but I'm still
> getting the exception: org.java_websocket.exceptions.InvalidFrameException:
> bad rsv RSV1: true RSV2: false RSV3: false
> I saw your PR merged, so I'm probably doing something wrong, but I have no
> idea *what*...
>
> Best,
>
> Zalan Meggyesi
> Chief Support Engineer
> Skawa Innovation Kft.
>
> Phone: 0036704627005
> Mobile: +36205146666
>
>
> On Fri, Mar 1, 2019 at 11:08 PM Meggyesi, Zalán <[email protected]>
> wrote:
>
>> Hello again,
>>
>> I *did* try sending Sec-WebSocket-Extensions:[deflate-frame] this time,
>> but it still resulted in an exception 
>> (org.java_websocket.exceptions.InvalidFrameException:
>> bad rsv RSV1: true RSV2: false RSV3: false).
>>
>> Just to let you know.
>>
>> Best,
>> Zalan
>>
>> On Fri, Mar 1, 2019 at 10:36 PM Meggyesi, Zalán <[email protected]>
>> wrote:
>>
>>> Hello Joakim,
>>>
>>> Thanks for your quick reply, this is very helpful!
>>> I added a line to log the request headers:
>>>
>>> 22:18:22.772 [qtp33233312-29] INFO  h.s.s.g.filters.LoggerFilter -
>>> Headers:
>>> Sec-WebSocket-Key:[SquKmRXFd5Bt4jUcPD0mkw==]
>>> Connection:[Upgrade]
>>> Sec-WebSocket-Version:[13]
>>> Host:[localhost:8000]
>>> Upgrade:[websocket]
>>>
>>> while the response headers have
>>>
>>> Connection: Upgrade; Upgrade
>>> Date: Fri, 01 Mar 2019 21:35:24 GMT
>>> Sec-WebSocket-Accept: LlhSOQ+9EI8rCJ2z9vb5wEhG2bM=
>>> Server: Jetty(9.4.12.v20180830)
>>> Upgrade: WebSocket
>>>
>>> Let me know if this is helpful to you!
>>>
>>> Best Regards,
>>> Zalan
>>>
>>> On Fri, Mar 1, 2019 at 10:16 PM Joakim Erdfelt <[email protected]>
>>> wrote:
>>>
>>>> Actually, I am making an assumption that
>>>> https://github.com/TooTallNate/Java-WebSocket/ only supports
>>>> permessage-deflate.
>>>> It could be that it also supports deflate-frame (an older deprecated
>>>> extension that Jetty also supports).
>>>>
>>>> Can you please double check what the HTTP Upgrade Request headers and
>>>> HTTP Upgrade Response headers are?
>>>> That will tell us exactly what extensions were negotiated.
>>>>
>>>> Joakim Erdfelt / [email protected]
>>>>
>>>>
>>>> On Fri, Mar 1, 2019 at 4:11 PM Joakim Erdfelt <[email protected]>
>>>> wrote:
>>>>
>>>>> Disable permessage-deflate and don't negotiate it between your client
>>>>> / server.
>>>>>
>>>>> You've stumbled into a variant of issue
>>>>> https://github.com/eclipse/jetty.project/issues/3159
>>>>>
>>>>> Joakim Erdfelt / [email protected]
>>>>>
>>>>>
>>>>> On Fri, Mar 1, 2019 at 2:29 PM Meggyesi, Zalán <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've floated this problem a while ago, but I only just got around to
>>>>>> actually getting some data on it.
>>>>>>
>>>>>> It seems like websocket handling ... well, for lack of a better word,
>>>>>> "broke" after v9.4.12.v20180830.
>>>>>> I'm using the Ninja Framework, which bundles this version of Jetty as
>>>>>> its internal webserver, and if I launch a skeleton WS server using the
>>>>>> bundled Jetty instance, connections go through just fine. On the other
>>>>>> hand, if I use the latest Jetty plugin from Maven Central, and launch the
>>>>>> same WS server, I get an error when I try to send a message, 
>>>>>> specifically, org.java_websocket.exceptions.InvalidFrameException:
>>>>>> bad rsv RSV1: true RSV2: false RSV3: false. I'm using this project
>>>>>> <https://t.sidekickopen07.com/s2t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJN7t5XZsd_Y1WW7fZy424XyK2bW4Wzrfn56dH0SdvF0Qz02?t=https%3A%2F%2Fgithub.com%2FTooTallNate%2FJava-WebSocket&si=5091535561949184&pi=c62e4189-aa69-4f91-9ecf-0dde2f6ef24a>
>>>>>> as my WS client.
>>>>>>
>>>>>> Now, my go-to reaction would be to simply downgrade my standalone
>>>>>> Jetty installation to 9.4.12, but unfortunately because my *real* 
>>>>>> application
>>>>>> runs under Java 11, I cannot do that (due to an outdated ASM in the 
>>>>>> 9.4.12
>>>>>> version).
>>>>>>
>>>>>> Can anyone give me some pointers as where this might be going wrong?
>>>>>>
>>>>>> Best,
>>>>>> Zalan
>>>>>> _______________________________________________
>>>>>> jetty-users mailing list
>>>>>> [email protected]
>>>>>> To change your delivery options, retrieve your password, or
>>>>>> unsubscribe from this list, visit
>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>>>
>>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>
>>> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users

Reply via email to