milamberspace opened a new issue, #6761:
URL: https://github.com/apache/jmeter/issues/6761

   ### Expected behavior
   
   Since the move of xmlpull to Woodstox, test element or sample result with 
value contains "binary data" generate Exception Invalid white space/null 
character
   
   
   in attachments with JMeter snapshots:
   - jmeter-6.0.0-snapshot-bug.log with the full error messages (recording + 
saving)
   - test script with recording setup: 01-recording-test-6_0_0.jmx
   
   Attachement with JMeter 5.6.3:
   
   - jmx script with binary data from mozilla: 01-recording-test-5_6_3.jmx
   - record session : debug-recording-5_6_3-01.xml (jtl)
   - jmeter-5.6.3.log with Warnings about binary data (not relevant for this 
issue).
   
   ```
   WARN o.a.j.p.h.v.RequestViewHTTP: Error decoding query, maybe your request 
parameters should be encoded: XXXXXXXXXXXXXXXXXXXXXXX
   java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in 
escape (%) pattern - Error at index 0 in: "YR"
   ```
   
   
   ### Actual behavior
   
   
   In two ways:
   1. Recording (and writing a .jtl result) with HTTP Test Script Recorder or a 
listener that writes records request to file.
   2. Try to save the .jmx test plan
   
   With JMeter 6.0.0-SNAPSHOT
   => Probably related to this commit "chore: replace xmlpull with Woodstox" 
https://github.com/apache/jmeter/commit/920fa60dc2ebd1d8644fc9c09478ca757c9931dc
   => From manual: 
https://jmeter.apache.org/usermanual/component_reference.html#listeners
   
   > XML files written by JMeter have version 1.0 declared in header while 
actual file is serialized with 1.1 rules. (see bug 59973 #4056 and 58679 #3708) 
This causes strict XML parsers to fail. Consider using non-strict XML parsers 
to read JTL files.
   
   => Woodstox is a strict XML parser I think
   
   
   * 1/ Recording a sample:
   
   ```
   ERROR o.a.j.r.ResultCollector: Error trying to record a sample
   java.lang.IllegalArgumentException: Failed marshalling:class:class 
org.apache.jmeter.protocol.http.sampler.HTTPSampleResult,content:016 - 
/submit/firefox-desktop/newtab/1/15
   0d5ef2-9e19-418e-b22b-a282db11e7fa ()
           at 
org.apache.jmeter.save.SaveService.saveSampleResult(SaveService.java:355)
           [...]
   Caused by: com.thoughtworks.xstream.io.StreamException: 
           at 
com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:160)
           at 
org.apache.jmeter.save.converters.SampleResultConverter.writeString(SampleResultConverter.java:360)
           ... 4 more
   Caused by: com.ctc.wstx.exc.WstxIOException: Invalid white space character 
(0x1f) in text to output (in xml 1.1, could output as a character entity)
           at 
com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:469)
           at 
com.sun.xml.txw2.output.DelegatingXMLStreamWriter.writeCharacters(DelegatingXMLStreamWriter.java:151)
           at 
com.sun.xml.txw2.output.IndentingXMLStreamWriter.writeCharacters(IndentingXMLStreamWriter.java:181)
           at 
org.apache.jmeter.save.XMLStreamWriterSkipHeader.writeCharacters(XMLStreamWriterSkipHeader.kt)
           at 
com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:158)
           ... 14 more
   Caused by: java.io.IOException: Invalid white space character (0x1f) in text 
to output (in xml 1.1, could output as a character entity)
           at 
com.ctc.wstx.api.InvalidCharHandler$FailingHandler.convertInvalidChar(InvalidCharHandler.java:56)
   ```
   
   
   * 2/ Saving a JMX plan:
   
   ```
   ERROR o.a.j.g.a.ActionRouter: Error processing 
org.apache.jmeter.gui.action.Save@c0b4edf
   com.thoughtworks.xstream.io.StreamException: 
           at 
com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:160)
   
   
[01-recording-test-5_6_3.jmx.xml](https://github.com/user-attachments/files/31680230/01-recording-test-5_6_3.jmx.xml)
   
[debug-recording-5_6_3-01.xml](https://github.com/user-attachments/files/31680231/debug-recording-5_6_3-01.xml)
   
           at 
com.thoughtworks.xstream.io.WriterWrapper.setValue(WriterWrapper.java:45)
           at 
org.apache.jmeter.save.converters.StringPropertyConverter.marshal(StringPropertyConverter.java:53)
       [...]
   Caused by: com.ctc.wstx.exc.WstxIOException: Invalid null character in text 
to output
           at 
com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:469)
       [...]
   Caused by: java.io.IOException: Invalid null character in text to output
           at 
com.ctc.wstx.api.InvalidCharHandler$FailingHandler.convertInvalidChar(InvalidCharHandler.java:52)
   
   
   ```
   
   
   
   ### Steps to reproduce the problem
   
   To Reproduce:
   
   
[jmeter-6.0.0-snapshot-bug.log](https://github.com/user-attachments/files/31680161/jmeter-6.0.0-snapshot-bug.log)
   
   
[01-recording-test-6_0_0.jmx.xml](https://github.com/user-attachments/files/31680174/01-recording-test-6_0_0.jmx.xml)
   
   1- Prepare a Firefox (last version) with with Proxy set to JMeter HTTP Test 
Script Recorder, and stop Firefox
   2- Open the example file .jmx, start the HTTP Test Script Recorder.
   2- Start firefox (last version), and see the jmeter.log about the 
incoming.telemetry.mozilla.org requests
   
   For example : 
   ```
   Host: incoming.telemetry.mozilla.org
   Path: /submit/firefox-desktop/events/1/97647d0d-fbe5-49ba-ab9c-fb321bb204db
   Body data: <binary data>
   ```
   
   
   ### JMeter Version
   
   6.0.0
   
   ### Java Version
   
   java version "17.0.14" 2025-01-21 LTS Java(TM) SE Runtime Environment (build 
17.0.14+8-LTS-191) Java HotSpot(TM) 64-Bit Server VM (build 17.0.14+8-LTS-191, 
mixed mode, sharing)
   
   ### OS Version
   
   Debian GNU/Linux 13 (trixie)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to