Skip to content

Slow to parse inputs #216

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Dandandan opened this issue Jun 28, 2020 · 1 comment
Open

Slow to parse inputs #216

Dandandan opened this issue Jun 28, 2020 · 1 comment

Comments

@Dandandan
Copy link
Contributor

Dandandan commented Jun 28, 2020

The fuzzer (#211) I am running with a timeout of 1 second. After running for a while, it finds a number of queries which are taking longer than one second to parse:

SELECT
@ FROM(((((((((SELECT
@ FROM(((((((((SELECT
@ FROM((((( (((((((SELECT
@ FROM(((((((((SELECT
@ FROM((((((((
WIT()
WITH
E(
SELECT
@ FROM((((((((((SELECT
@ FROM((((((SELECT
@ FROM((((((((((SELECT
@ FROM(((((((((((((SELECT
I FROM(((((((SELECT
I FROM

According to the benchmark https://github.com/ballista-compute/sqlparser-rs/pull/217/files this takes 76 ms, which is more than 1000x slower than the other queries.

I think the main problem is in parse_table_factor where we first try parse_derived_table_factor but if it doesn't give us a parsed result go back into parse_table_and_joins again and try parsing the rest, where we repeat the whole thing for the rest of the input. Because we call into those functions recursively, those are repeated a large number of times for every "new" level.

The stacktrace looks like this:

    #0 0x563837000f31 in __sanitizer_print_stack_trace /rustc/llvm/src/llvm-project/compiler-rt/lib/asan/asan_stack.cpp:86:3
    #1 0x56383724c8a0 in fuzzer::PrintStackTrace() (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x38f8a0)
    #2 0x5638372247e4 in fuzzer::Fuzzer::AlarmCallback() (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x3677e4)
    #3 0x7faf2e0923bf  (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf)
    #4 0x5638371784fb in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb4fb)
    #5 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #6 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #7 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #8 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #9 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #10 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #11 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #12 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #13 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #14 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #15 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #16 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #17 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #18 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #19 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #20 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #21 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #22 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #23 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #24 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #25 0x563837185a6d in sqlparser::parser::Parser::parse_derived_table_factor::heebdf4b6060718c1 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c8a6d)
    #26 0x563837183c1f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c6c1f)
    #27 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #28 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #29 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #30 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #31 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #32 0x5638371588f7 in sqlparser::parser::Parser::parse_comma_separated::h28f599ad92f27c78 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x29b8f7)
    #33 0x56383717d64b in sqlparser::parser::Parser::parse_select::hb296875023d89e99 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c064b)
    #34 0x56383717b9fa in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2be9fa)
    #35 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #36 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #37 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #38 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #39 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #40 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #41 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #42 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #43 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #44 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #45 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #46 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #47 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #48 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #49 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #50 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #51 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #52 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #53 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #54 0x563837185a6d in sqlparser::parser::Parser::parse_derived_table_factor::heebdf4b6060718c1 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c8a6d)
    #55 0x563837183c1f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c6c1f)
    #56 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #57 0x5638371588f7 in sqlparser::parser::Parser::parse_comma_separated::h28f599ad92f27c78 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x29b8f7)
    #58 0x56383717d64b in sqlparser::parser::Parser::parse_select::hb296875023d89e99 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c064b)
    #59 0x56383717b9fa in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2be9fa)
    #60 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #61 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #62 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #63 0x563837185a6d in sqlparser::parser::Parser::parse_derived_table_factor::heebdf4b6060718c1 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c8a6d)
    #64 0x563837183c1f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c6c1f)
    #65 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #66 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #67 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #68 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #69 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #70 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #71 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #72 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #73 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #74 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #75 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #76 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #77 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #78 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #79 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #80 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #81 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #82 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #83 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #84 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #85 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #86 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #87 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #88 0x5638371588f7 in sqlparser::parser::Parser::parse_comma_separated::h28f599ad92f27c78 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x29b8f7)
    #89 0x56383717d64b in sqlparser::parser::Parser::parse_select::hb296875023d89e99 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c064b)
    #90 0x56383717b9fa in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2be9fa)
    #91 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #92 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #93 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #94 0x56383717bb17 in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2beb17)
    #95 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #96 0x563837185a6d in sqlparser::parser::Parser::parse_derived_table_factor::heebdf4b6060718c1 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c8a6d)
    #97 0x563837183c1f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c6c1f)
    #98 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #99 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #100 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #101 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #102 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #103 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #104 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #105 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #106 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #107 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #108 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #109 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #110 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #111 0x56383718461f in sqlparser::parser::Parser::parse_table_factor::hc4dadaa544f80fe6 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c761f)
    #112 0x563837181b49 in sqlparser::parser::Parser::parse_table_and_joins::h7bbdc0a0e017d180 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c4b49)
    #113 0x5638371588f7 in sqlparser::parser::Parser::parse_comma_separated::h28f599ad92f27c78 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x29b8f7)
    #114 0x56383717d64b in sqlparser::parser::Parser::parse_select::hb296875023d89e99 (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2c064b)
    #115 0x56383717b9fa in sqlparser::parser::Parser::parse_query_body::h0a2b3e371d9e763f (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2be9fa)
    #116 0x563837178444 in sqlparser::parser::Parser::parse_query::hc3d4d76b6b53865a (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2bb444)
    #117 0x563837136b2b in sqlparser::parser::Parser::parse_statement::h99d71b13e95cc2db (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x279b2b)
    #118 0x5638371346b0 in sqlparser::parser::Parser::parse_sql::h70d5374cda81bbae (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x2776b0)
    #119 0x5638370466e3 in rust_fuzzer_test_input (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x1896e3)
    #120 0x56383720fd80 in __rust_try (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x352d80)
    #121 0x56383720f9df in LLVMFuzzerTestOneInput (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x3529df)
    #122 0x563837224acc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x367acc)
    #123 0x56383722d4d0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x3704d0)
    #124 0x56383722de83 in fuzzer::Fuzzer::MutateAndTestOne() (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x370e83)
    #125 0x56383723020f in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x37320f)
    #126 0x56383721ddf9 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0x360df9)
    #127 0x563836f7f306 in main (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0xc2306)
    #128 0x7faf2de970b2 in __libc_start_main /build/glibc-YYA7BZ/glibc-2.31/csu/../csu/libc-start.c:308:16
    #129 0x563836f7f4ad in _start (/home/d/C/sqlparser-rs/fuzz/target/x86_64-unknown-linux-gnu/release/parse_sql+0xc24ad)```


@Dandandan Dandandan changed the title Slow inputs Slow to parse inputs Jun 29, 2020
@Dandandan
Copy link
Contributor Author

#217 contains a fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant