[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #28 from Philippe Mouawad --- Hello, JMeter 5.4.1 has been released with this fix Regards -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #27 from hks --- (In reply to Philippe Mouawad from comment #26) > Hello, > Yes JMeter 5.4.1 is in rc2 currently and should be released this week. > > Regards Hi, Appreciate & Thanks a lot for all this, we were happy to get the resolution. Sure we will take the rc2 build. Regards, HKS -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #26 from Philippe Mouawad --- Hello, Yes JMeter 5.4.1 is in rc2 currently and should be released this week. Regards -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #25 from hks --- Will this fix go into the main package? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #24 from hks --- (In reply to Felix Schumacher from comment #22) > Have committed the fix to trunk. We now ignore SocketTimeoutException, when > no EOM is set. > > Can you try next nightly or trunk build and report back, whether it fixes > your issue? > > commit 0ee07764cab6cc603d26c5ec79957aeaeab1 > AuthorDate: Wed Dec 30 12:36:51 2020 +0100 > > Ignore SocketTimeoutException on BinaryTCPClientImpl, when no EOM Byte > is set > > Bugzilla Id: 65034 > --- > .../protocol/tcp/sampler/BinaryTCPClientImpl.java | 18 > -- > xdocs/changes.xml | 3 +++ > 2 files changed, 15 insertions(+), 6 deletions(-) I took the nightly build or trunk build - "5.4.1-SNAPSHOT 7acd031" and tested our script/testplan and it worked very well, its fixed now :) . Thank you for the support and providing a solution. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEEDINFO|NEW -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #23 from hks --- (In reply to Felix Schumacher from comment #22) > Have committed the fix to trunk. We now ignore SocketTimeoutException, when > no EOM is set. > > Can you try next nightly or trunk build and report back, whether it fixes > your issue? > > commit 0ee07764cab6cc603d26c5ec79957aeaeab1 > AuthorDate: Wed Dec 30 12:36:51 2020 +0100 > > Ignore SocketTimeoutException on BinaryTCPClientImpl, when no EOM Byte > is set > > Bugzilla Id: 65034 > --- > .../protocol/tcp/sampler/BinaryTCPClientImpl.java | 18 > -- > xdocs/changes.xml | 3 +++ > 2 files changed, 15 insertions(+), 6 deletions(-) Sure i will try this and let you know. Sorry for the delay, i am traveling. 18th Jan Monday will be back. Will do it the same day. Thanks for your support. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Philippe Mouawad changed: What|Removed |Added Hardware|PC |All CC||p.mouawad@ubik-ingenierie.c ||om -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Felix Schumacher changed: What|Removed |Added Severity|critical|normal Keywords||FixedInTrunk -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Felix Schumacher changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #22 from Felix Schumacher --- Have committed the fix to trunk. We now ignore SocketTimeoutException, when no EOM is set. Can you try next nightly or trunk build and report back, whether it fixes your issue? commit 0ee07764cab6cc603d26c5ec79957aeaeab1 AuthorDate: Wed Dec 30 12:36:51 2020 +0100 Ignore SocketTimeoutException on BinaryTCPClientImpl, when no EOM Byte is set Bugzilla Id: 65034 --- .../protocol/tcp/sampler/BinaryTCPClientImpl.java | 18 -- xdocs/changes.xml | 3 +++ 2 files changed, 15 insertions(+), 6 deletions(-) -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEEDINFO|NEW -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #21 from hks --- (In reply to Felix Schumacher from comment #18) > Created attachment 37665 [details] > Swallow SocketTimeoutException when no EOM Byte is set > > Earlier versions of JMeter swallowed SocketTimeoutException on the > BinaryTCPSamplerImpl. Revert to this behaviour, when no EOM Byte is set, as > we have no other way to detect the end of the incoming message. So how do we have to take it ahead now? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #20 from hks --- (In reply to Felix Schumacher from comment #19) > Seems, like the change has been done on purpose with > https://bz.apache.org/bugzilla/show_bug.cgi?id=52104 Yeah but doing so, the scenario which we are encountering will never work on latest versions of JMeter. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #19 from Felix Schumacher --- Seems, like the change has been done on purpose with https://bz.apache.org/bugzilla/show_bug.cgi?id=52104 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #18 from Felix Schumacher --- Created attachment 37665 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37665&action=edit Swallow SocketTimeoutException when no EOM Byte is set Earlier versions of JMeter swallowed SocketTimeoutException on the BinaryTCPSamplerImpl. Revert to this behaviour, when no EOM Byte is set, as we have no other way to detect the end of the incoming message. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #17 from hks --- Created attachment 37664 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37664&action=edit Jmeter log 5.4 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #16 from hks --- Created attachment 37663 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37663&action=edit Results-Tab Jmeter 5.4 1b Sampler -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEEDINFO|NEW --- Comment #15 from hks --- (In reply to Felix Schumacher from comment #14) > In my tests, I used netcat to simulate a server: > > date | netcat -l 127.0.0.1 1234 > > and used a TCP Sampler to read from that 'server'. > > In my first try, the test didn't end, as I specified no timeout for the read > operation. When I did, I got the following exception in the log file > (nightly build): > > 2020-12-29 10:36:40,937 ERROR o.a.j.p.t.s.TCPSampler: > org.apache.jmeter.protocol.tcp.sampler.ReadException: > at > org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl. > read(BinaryTCPClientImpl.java:143) ~[ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] > at > org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java: > 398) [ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] > at > org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638) > [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] > at > org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread. > java:558) [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] > at > org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) > [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] > at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) > [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201] > Caused by: java.net.SocketTimeoutException: Read timed out > at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_201] > at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) > ~[?:1.8.0_201] > at java.net.SocketInputStream.read(SocketInputStream.java:171) > ~[?:1.8.0_201] > at java.net.SocketInputStream.read(SocketInputStream.java:141) > ~[?:1.8.0_201] > at java.net.SocketInputStream.read(SocketInputStream.java:127) > ~[?:1.8.0_201] > at > org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl. > read(BinaryTCPClientImpl.java:126) ~[ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] > ... 6 more > > The end of stream is signalled with a SocketTimeoutException (which is an > IOException). In earlier versions, we swallowed the SocketTimeoutException > silently. In the newer version, we convert them to a ReadException. > > This is, what is hitting you (I suspect). Now, the question remains, what to > do here. > > I think, we can swallow the SocketTimeoutException in the case, when no > EOM-Byte is set. That way, your issue should be gone and those, who can use > an EOM-Byte will get notified, when the stream ended early. I think you are spot on with what we are facing presently. We get "Read Exception" for 1b sampler. I have attached the "Results Tab" from Jmeter 5.4 & also the Jmeter.log file from that. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #14 from Felix Schumacher --- In my tests, I used netcat to simulate a server: date | netcat -l 127.0.0.1 1234 and used a TCP Sampler to read from that 'server'. In my first try, the test didn't end, as I specified no timeout for the read operation. When I did, I got the following exception in the log file (nightly build): 2020-12-29 10:36:40,937 ERROR o.a.j.p.t.s.TCPSampler: org.apache.jmeter.protocol.tcp.sampler.ReadException: at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:143) ~[ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:398) [ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638) [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.4.1-SNAPSHOT] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201] Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_201] at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_201] at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_201] at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_201] at java.net.SocketInputStream.read(SocketInputStream.java:127) ~[?:1.8.0_201] at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:126) ~[ApacheJMeter_tcp.jar:5.4.1-SNAPSHOT] ... 6 more The end of stream is signalled with a SocketTimeoutException (which is an IOException). In earlier versions, we swallowed the SocketTimeoutException silently. In the newer version, we convert them to a ReadException. This is, what is hitting you (I suspect). Now, the question remains, what to do here. I think, we can swallow the SocketTimeoutException in the case, when no EOM-Byte is set. That way, your issue should be gone and those, who can use an EOM-Byte will get notified, when the stream ended early. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Felix Schumacher changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #13 from Felix Schumacher --- And could you please add at the jmeter.log file in the newer version, too? What is the message in the sampler result tab of 1b-Sampler in the newer versions? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #12 from hks --- Created attachment 37662 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37662&action=edit Jmeter.log file from Jmeter 2.5.1 Jmeter.log file from JMeter 2.5.1 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEEDINFO|NEW --- Comment #11 from hks --- (In reply to Felix Schumacher from comment #10) > Can you have a look into your log file jmeter.log? I suspect, that you will > find warnings about "Read error: " in there (running JMeter 2.5.1) > > The main difference between the older versions and the newer ones, are that > the errors are note silently swallowed (or converted to warnings in the log > files). > > @All: I think, we could probably re-create the old behaviour, when no > EOM-Byte is set. Hi Felix Schumacher, I went through jmeter.log file but didnt find any sort of warning messages nor in info messages for "Read error". I have attached the log file here. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Felix Schumacher changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #10 from Felix Schumacher --- Can you have a look into your log file jmeter.log? I suspect, that you will find warnings about "Read error: " in there (running JMeter 2.5.1) The main difference between the older versions and the newer ones, are that the errors are note silently swallowed (or converted to warnings in the log files). @All: I think, we could probably re-create the old behaviour, when no EOM-Byte is set. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #9 from hks --- Created attachment 37661 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37661&action=edit 1b-Sampler- Response- JMeter2.5.1 1b-Sampler- Response in JMeter2.5.1 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #8 from hks --- Created attachment 37660 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37660&action=edit 1b-sampler- JMeter2.5.1 1b-sampler- JMeter2.5.1 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #7 from hks --- More info on this: We have been using JMeter 2.5.1 all these years and the samplers work perfectly fine (Attached screen shots from that). The same when we run on the newer level ex 5.4.1 then it fails. Appreciate your help on this. Regards, HKS -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #6 from hks --- Created attachment 37658 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37658&action=edit 1b-Sampler-Response 1b-Sampler-Response -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #5 from hks --- Created attachment 37657 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37657&action=edit 1a-Sampler-Response 1a-Sampler-Response -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #4 from hks --- Created attachment 37656 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37656&action=edit 1b-Sampler 1b-Sampler -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 --- Comment #3 from hks --- Created attachment 37655 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37655&action=edit 1a-Sampler 1a sampler -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 hks changed: What|Removed |Added Status|NEEDINFO|NEW --- Comment #2 from hks --- (In reply to Felix Schumacher from comment #1) > Can you provide a bit more information about the test plan, you used or the > content of the packets? --> We have bunch of TCP Samplers which sends packets and gets a response for each. We do not check or care what data it responds with. We have couple of TCP Samplers at the beginning which performs sign on. (Have attached the screen shots too in this. "1a Sampler" --> always returns "3e" which is 62 in decimal hance we have used/set EOM Byte field. "1b Sampler" --> the response data is different always, hence we are not setting the EOM Byte field. You can see that we get a response from the application (view results tree screen shot) and JMeter has captured it but due to the EOM check it fails.) > > Do you set a EOM byte? --> NO for the request what we send (1b Sampler as attached in screen shot) > > Has the last packet (that JMeter processes) such a EOM byte at the boundary > of the buffers used? (Maybe you can share the network captures?) --> we do not set the EOM byte for "1b sampler" as the response is different every time. according to the document it says that if we have different response then we can leave EOM byte field empty so that it will be set to "1000" as default which sets the flag as false for EOM byte check. But we dont see that happening in the "IF" condition which was shared earlier. I will be sharing the screen shots of the samplers but will not be able to provide you anything which you can use it to run and check as it is a proprietary application of Unisys. > > What OS are you using? What JVM? --> OS doesnt matter as we tried it on Win 10 and WIN2012R2. Its the same result on both. openjdk 14.0.2 2020-07-14 OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.2+12) OpenJDK Client VM AdoptOpenJDK (build 14.0.2+12, mixed mode, sharing) Also have tried on Oracle JAVA 8. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 65034] BinaryTCPClientImpl doesnt skip EOL byte check even when it is set to skip
https://bz.apache.org/bugzilla/show_bug.cgi?id=65034 Felix Schumacher changed: What|Removed |Added Status|NEW |NEEDINFO OS||All --- Comment #1 from Felix Schumacher --- Can you provide a bit more information about the test plan, you used or the content of the packets? Do you set a EOM byte? Has the last packet (that JMeter processes) such a EOM byte at the boundary of the buffers used? (Maybe you can share the network captures?) What OS are you using? What JVM? -- You are receiving this mail because: You are the assignee for the bug.