Closed steveforse closed 6 years ago
Before I address this issue: if you are writing new code then please please add connect headers to your connect hash asking for STOMP protocol level 1.2:
:connect_headers => {:host => "localhost", :"accept-version" => "1.2"},
Regarding this issue: thanks for the report. And thanks for the sample code. The code made it easy for me to understand exactly what you are seeing.
Are you aware that this bizarre (and incorrect) gem behavior only occurs for ssl connections?
There was a fairly recent code change that modified how read timeouts were implemented (that change eliminated large memory leaks due to use of Ruby's Timeout implementation).
It turns out that code needs to be 'more ssl aware'.
I have a local fix here that seems to work. But I have only tested it so far on my Mac. I will test Linux and Windows tomorrow.
If all goes well, I will push that to dev late tomorrow.
Yes, I only get this behavior for SSL. I only tested use case 1 and 2 so far, but thought that was sufficient to file a report.
Indeed, it is quite sufficient for an issue creation.
Please test the subcases: broker does/does not require client authorization.
Eight total tests.
Regards, Guy
On 02/16/2017 10:31 AM, Steve Forse wrote:
Yes, I only get this behavior for SSL. I only tested use case 1 and 2 so far, but thought that was sufficient to file a report.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/stompgem/stomp/issues/139#issuecomment-280363212, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAbv2nFl-bSqzeIqSjijHCtjkJuWH0vks5rdGvegaJpZM4MCU_A.
Commit c022d37 addresses this issue.
That commit is on the dev branch only at present.
Clone this repo and build from the HEAD of dev if you can. If you cannot, let me know and I will build a test gem for you to install.
The mcollective project is affected by this, and the commit you mention fixes the issue for me. Any chance we can get a new gem?
This went out the door with version 1.4.4.
Belatedly closing this issue.
I'm using ActiveMQ 5.14.3 configured from stomp+ssl. I'm using the following code for testing:
On stomp 1.4.0+, calling send_msg has a very quirky behavior. If I call send_msg, nothing will happen and eventually I hit the parse_timeout error:
However, if I make multiple calls to send_msg, each new message looks like it's pushing the previous message through the queue. It will correctly dequeue and process each message, except the most recent, which will cause the timeout above:
I only get this behavior using stomp+ssl on 1.4.0+. If I use stomp+ssl with 1.3.5 or stomp without ssl on 1.4.0+, then everything is fine.