LucaCappelletti94 opened a new pull request, #2580:
URL: https://github.com/apache/datafusion-sqlparser-rs/pull/2580

   The fuzz targets only report a slow input once it passes libFuzzer's 
timeout, so a path whose cost doubles with each nesting level stays invisible 
until it takes tens of seconds. The unary minus printing blowup fixed in #2541 
and #2577 surfaced that way, through 23 s and 150 s timeouts in a downstream 
canonicalizer, while inputs costing 40 ms to print went unreported.
   
   `fuzz_stage_cost` times tokenizing, parsing and printing the same input with 
every dialect and fails when a stage takes more than 50 times as long as the 
stage before it, once that stage passes 10 ms. Both times come from the same 
process at the same moment, so sanitizer and machine load slow them alike, and 
a breach is reported only if the fastest of three repeat runs still breaches.
   
   Starting from the existing seeds, it found the unary minus blowup on `main` 
in under nine minutes as `SELECT CeaSE------…`, since MySQL starts a comment at 
`--` only when whitespace follows, and a 20-sign version reports 276 ms to 
print against 0.4 ms to parse. With that fix applied, ten minutes and 650k runs 
reported nothing.
   
   Until #2541 and #2577 land, the ClusterFuzzLite run on this PR can fail on 
that known blowup.


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to