Query execution crash on Windows UWP (ARM64)

I am aware that ARM64 is not supported, however the library was working with the commits before Feb 20 (366a3ec156601b75afaa34ba253cbdaf1470cae5). Any opinion on what causes this would be greatly appreciated.

The crash happens when the query returns at least one document.(Windows UWP, ARM64 Release build, the Debug build works fine).

I tried to:

Below are a few stack traces obtained during this crash.

    App.C.Core.dll!sqlite3MemMalloc(int nByte) Line 23627	C
 	App.C.Core.dll!mallocWithAlarm(int n, void * * pp) Line 27519	C
 	App.C.Core.dll!sqlite3Malloc(unsigned __int64 n) Line 27550	C
 	App.C.Core.dll!dbMallocRawFinish(sqlite3 * db, unsigned __int64 n) Line 27812	C
 	App.C.Core.dll!sqlite3VdbeMemGrow(sqlite3_value * pMem, int n, int bPreserve) Line 75881	C
 	App.C.Core.dll!sqlite3VdbeExec(Vdbe * p) Line 87926	C
 	App.C.Core.dll!sqlite3Step(Vdbe * p) Line 83475	C
 	App.C.Core.dll!sqlite3_step(sqlite3_stmt * pStmt) Line 83540	C
 	App.C.Core.dll!SQLite::Statement::executeStep() Line 265	C++
 	App.C.Core.dll!litecore::SQLiteQueryRunner::fastForward() Line 517	C++
 	App.C.Core.dll!litecore::SQLiteQuery::createEnumerator(const litecore::Query::Options * options) Line 577	C++
 	App.C.Core.dll!C4Query::_createEnumerator(const C4QueryOptions * encodedParameters, fleece::slice) Line 106	C++
 	App.C.Core.dll!C4Query::Enumerator::Enumerator(C4Query * query, const C4QueryOptions * encodedParameters, fleece::slice) Line 132	C++
 	App.C.Core.dll!C4Query::run(const C4QueryOptions * params, fleece::slice) Line 116	C++
 	[Inline Frame] App.C.Core.dll!CBLQuery::execute() Line 254	C++
 	App.C.Core.dll!CBLQuery_Execute(CBLQuery * query, CBLError * outError) Line 51	C++
 	[Inline Frame] App.C.Core.dll!cbl::Query::execute() Line 152	C++
    App.C.Core.dll!operator new(unsigned __int64 size) Line 35	C++
>	App.C.Core.dll!litecore::SQLiteQueryRunner::fastForward() Line 510	C++
 	App.C.Core.dll!litecore::SQLiteQuery::createEnumerator(const litecore::Query::Options * options) Line 577	C++
 	App.C.Core.dll!C4Query::_createEnumerator(const C4QueryOptions * encodedParameters, fleece::slice) Line 106	C++
 	App.C.Core.dll!C4Query::Enumerator::Enumerator(C4Query * query, const C4QueryOptions * encodedParameters, fleece::slice) Line 132	C++
 	App.C.Core.dll!C4Query::run(const C4QueryOptions * params, fleece::slice) Line 116	C++
 	[Inline Frame] App.C.Core.dll!CBLQuery::execute() Line 254	C++
 	App.C.Core.dll!CBLQuery_Execute(CBLQuery * query, CBLError * outError) Line 51	C++
 	[Inline Frame] App.C.Core.dll!cbl::Query::execute() Line 152	C++
    App.C.Core.dll!sqlite3_free(void * p) Line 27649	C
 	App.C.Core.dll!sqlite3VdbeMemGrow(sqlite3_value * pMem, int n, int bPreserve) Line 75881	C
 	App.C.Core.dll!sqlite3VdbeExec(Vdbe * p) Line 87926	C
 	App.C.Core.dll!sqlite3Step(Vdbe * p) Line 83475	C
 	App.C.Core.dll!sqlite3_step(sqlite3_stmt * pStmt) Line 83540	C
 	App.C.Core.dll!SQLite::Statement::executeStep() Line 265	C++
>	App.C.Core.dll!litecore::SQLiteQueryRunner::fastForward() Line 517	C++
 	App.C.Core.dll!litecore::SQLiteQuery::createEnumerator(const litecore::Query::Options * options) Line 577	C++
 	App.C.Core.dll!litecore::LiveQuerier::_runQuery::__l2::<lambda>(litecore::DataFile * df) Line 145	C++
 	[Inline Frame] App.C.Core.dll!litecore::access_lock<litecore::DataFile *,std::recursive_mutex>::useLocked(litecore::LiveQuerier::_runQuery::__l2::void <lambda>(litecore::DataFile *)) Line 138	C++
 	App.C.Core.dll!litecore::LiveQuerier::_runQuery(litecore::Query::Options options) Line 136	C++
 	[External Code]	
 	[Inline Frame] App.C.Core.dll!std::_Func_class<void>::operator()() Line 968	C++
 	App.C.Core.dll!litecore::actor::ThreadedMailbox::safelyCall(const std::function<void __cdecl(void)> & f) Line 223	C++
 	[External Code]	
 	[Inline Frame] App.C.Core.dll!std::_Func_class<void>::operator()() Line 968	C++
 	App.C.Core.dll!litecore::actor::ThreadedMailbox::performNextMessage() Line 268	C++
 	App.C.Core.dll!litecore::actor::Scheduler::task(unsigned int taskID) Line 111	C++

What does “a few stack traces during the crash” mean? Different threads in one crash? Several different crashes? All of these stack traces terminate in some sort of low level memory function which is suspicious, but that also means there is probably not an immediately obvious reason unless the device is running out of memory or something.

It means several different crashes, sorry. Ok, it’s not an out of memory case(malloc does not throw an exception in that case and the memory was enough), so there is no obvious reason, I suspect a Microsoft issue, thanks for the answer!