Conversation
d02c90a to
d9c6d74
Compare
|
@github-actions crossbow submit -g cpp |
|
Revision: a4dea4b Submitted crossbow builds: ursacomputing/crossbow @ actions-9fde492db2 |
a4dea4b to
48626ae
Compare
|
@github-actions crossbow submit -g cpp |
|
Revision: 713496d Submitted crossbow builds: ursacomputing/crossbow @ actions-884a0df4e2 |
|
@pitrou @rok I’ve rebased the parser PR and incorporated the latest feedback, including reusing the The native C++ build and tests pass, but Crossbow’s Do you have any idea what I need to do to fix this? |
|
@Reranko05 No idea without taking a deeper look :-) But I'd like us to merge the chunker PR first and then come back to this one. |
|
@pitrou Okay, will wait until chunker is merged. |
713496d to
3eacd65
Compare
|
@github-actions crossbow submit test-ubuntu-22.04-cpp-emscripten |
|
Revision: 277fa60 Submitted crossbow builds: ursacomputing/crossbow @ actions-35754b78ac
|
277fa60 to
b51b310
Compare
|
@github-actions crossbow submit test-ubuntu-22.04-cpp-emscripten |
|
Revision: b51b310 Submitted crossbow builds: ursacomputing/crossbow @ actions-84aeb7fa19
|
|
@pitrou @rok I tried a couple of things to narrow down the Emscripten failure:
In both cases the Emscripten job fails at: [ RUN ] TestJsonFormat.IsSupported
Aborted()
/build/cpp/debug/arrow-dataset-file-json-test.js:138
throw ex;
^
RuntimeError: Aborted(). Build with -sASSERTIONS for more info.
at abort (/build/cpp/debug/arrow-dataset-file-json-test.js:491:11)
at _abort (/build/cpp/debug/arrow-dataset-file-json-test.js:4483:7)
at invoke_v (/build/cpp/debug/arrow-dataset-file-json-test.js:5907:29)
at arrow-dataset-file-json-test.wasm.std::__terminate(void (*)()) (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[41577]:0x2787242)
at arrow-dataset-file-json-test.wasm.std::terminate() (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[41575]:0x278721b)
at arrow-dataset-file-json-test.wasm.simdjson::fallback::ondemand::document_stream::start() (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[18910]:0xf7aedf)
at arrow-dataset-file-json-test.wasm.arrow::Status arrow::Status arrow::json::HandlerBase::DoParse<arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2>>(arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2>&, std::__2::shared_ptr<arrow::Buffer> const&)::'lambda'(arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2> const&)::operator()<simdjson::padded_string>(arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2> const&) const (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[20153]:0x1029453)
at invoke_viii (/build/cpp/debug/arrow-dataset-file-json-test.js:5885:29)
at arrow-dataset-file-json-test.wasm.arrow::Status arrow::json::HandlerBase::DoParse<arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2>>(arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2>&, std::__2::shared_ptr<arrow::Buffer> const&) (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[20151]:0x102796a)
at arrow-dataset-file-json-test.wasm.arrow::json::Handler<(arrow::json::UnexpectedFieldBehavior)2>::Parse(std::__2::shared_ptr<arrow::Buffer> const&) (wasm://wasm/arrow-dataset-file-json-test.wasm-0f1ebc22:wasm-function[20150]:0x10275b7)
Node.js v24.19.0I am not sure what else could be causing this specifically in the Emscripten configuration. Any ideas on what I should look at next? |
Rationale for this change
This PR continues the simdjson migration by replacing the RapidJSON-based parsing implementation used by the JSON parser.
The existing parser uses RapidJSON's SAX/handler interface to parse JSON values and populate Arrow builders. This change replaces that implementation with simdjson's ondemand API while retaining the existing builder and type-inference logic.
Changes
simdjson::ondemand::parser::iterate_many.ResolveSimdjsonResult()consistently when handling simdjson results.Error,Ignore, andInferType.Status::Invalid.Fixes: #51037