ZAProxy Failed to parse the request body: Input is invalid JSON; does not start with '{' or '[', c=-1

Problem

When scanning with Active checks occasionally the following error log will be emitted:

[zap_server] 41563 [ZAP-ActiveScanner
-1] WARN  org.parosproxy.paros.core.scanner.VariantJSONQuery - Failed to parse the request body: Input is invalid JSON; does not start with '{' or '[', c=-1
[zap_server] java.lang.IllegalArgumentException: Input is invalid JSON; does not start with '{' or '[', c=-1
[zap_server] 	at org.parosproxy.paros.core.scanner.VariantJSONQuery.parseObject(VariantJSONQuery.java:127) ~[zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at org.parosproxy.paros.core.scanner.VariantJSONQuery.parseContent(VariantJSONQuery.java:77) ~[zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at org.parosproxy.paros.core.scanner.VariantAbstractRPCQuery.setRequestContent(VariantAbstractRPCQuery.java:144) ~[zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at org.parosproxy.paros.core.scanner.VariantAbstractRPCQuery.setMessage(VariantAbstractRPCQuery.java:60) [zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at org.parosproxy.paros.core.scanner.AbstractAppParamPlugin.scan(AbstractAppParamPlugin.java:86) [zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at org.parosproxy.paros.core.scanner.AbstractPlugin.run(AbstractPlugin.java:333) [zap-D-2022-01-04.jar:D-2022-01-04]
[zap_server] 	at java.lang.Thread.run(Thread.java:829) [?:?]

This is usually due to a Socket Timeout:

[zap_server] java.net.SocketTimeoutException: Read timed out
[zap_server] 	at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
[zap_server] 	at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
[zap_server] 	at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
[zap_server] 	at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]

Unfortunately, there is not much we can do about this error but it is worth capturing that customers may see this. Basically the parser fails on parsing a broken response (because it's empty) and outputs the above error. This can, for the most part, be ignored. However if this shows up many times in the log, there maybe a problem with communicating with the target application.

Assignee Loading
Time tracking Loading