-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Copy input in json_parse to avoid ASAN error #7858
Conversation
✅ Deploy Preview for meta-velox canceled.
|
This pull request was exported from Phabricator. Differential Revision: D51810542 |
7d877c8
to
28a033c
Compare
Summary: `value` is put on offset 32 of the stack frame, and the total frame size is 88. In case `value` is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary. This caused some ASAN error, but no issue in production, because the padding data is not really used or changed. Fix it by asking `simdjson::dom::parser::parse` to copy the input to internal padded memory owned by parser. There is some minor performance loss but is probably not noticeable at query level. Reviewed By: mbasmanova Differential Revision: D51810542
This pull request was exported from Phabricator. Differential Revision: D51810542 |
Summary: `value` is put on offset 32 of the stack frame, and the total frame size is 88. In case `value` is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary. This caused some ASAN error, but no issue in production, because the padding data is not really used or changed. Fix it by asking `simdjson::dom::parser::parse` to copy the input to internal padded memory owned by parser. There is some minor performance loss but is probably not noticeable at query level. Reviewed By: mbasmanova Differential Revision: D51810542
28a033c
to
1e2258a
Compare
This pull request was exported from Phabricator. Differential Revision: D51810542 |
Summary: `value` is put on offset 32 of the stack frame, and the total frame size is 88. In case `value` is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary. This caused some ASAN error, but no issue in production, because the padding data is not really used or changed. Fix it by asking `simdjson::dom::parser::parse` to copy the input to internal padded memory owned by parser. There is some minor performance loss but is probably not noticeable at query level. Reviewed By: mbasmanova Differential Revision: D51810542
1e2258a
to
debc39e
Compare
This pull request was exported from Phabricator. Differential Revision: D51810542 |
Summary: `value` is put on offset 32 of the stack frame, and the total frame size is 88. In case `value` is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary. This caused some ASAN error, but no issue in production, because the padding data is not really used or changed. Fix it by asking `simdjson::dom::parser::parse` to copy the input to internal padded memory owned by parser. There is some minor performance loss but is probably not noticeable at query level. Reviewed By: mbasmanova Differential Revision: D51810542
debc39e
to
620c940
Compare
This pull request was exported from Phabricator. Differential Revision: D51810542 |
Summary: `value` is put on offset 32 of the stack frame, and the total frame size is 88. In case `value` is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary. This caused some ASAN error, but no issue in production, because the padding data is not really used or changed. Fix it by asking `simdjson::dom::parser::parse` to copy the input to internal padded memory owned by parser. There is some minor performance loss but is probably not noticeable at query level. Reviewed By: mbasmanova Differential Revision: D51810542
620c940
to
8ff7f21
Compare
This pull request was exported from Phabricator. Differential Revision: D51810542 |
This pull request has been merged in 928f378. |
Conbench analyzed the 1 benchmark run on commit There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
Summary:
value
is put on offset 32 of the stack frame, and the total frame size is 88. In casevalue
is inlined, and SIMD register is 64 bytes (e.g. AVX512), simdjson is reading the memory from offset 36 to 100, which exceeds the frame boundary.This caused some ASAN error, but no issue in production, because the padding data is not really used or changed.
Differential Revision: D51810542