TL;DR: at this point do not upgrade to Flutter 3.13.0 and Dart 3.1.0 when your app should run on Linux.
If functions are called that throw an exception in the native ObjectBox code, instead of receiving a Dart exception that can be handled the VM process terminates.
Some examples:
// Throws NumericOverflowException
query.property(tLong).sum();
// Shows up in log output like:
terminate called after throwing an instance of 'objectbox::NumericOverflowException'
terminate called recursively
// Throws ObjectBoxException
box.put(User(id: idDoesNotExist), mode: PutMode.update)
// Shows up in log output like:
terminate called after throwing an instance of 'objectbox::IllegalArgumentException'
terminate called recursively
TL;DR: at this point do not upgrade to Flutter 3.13.0 and Dart 3.1.0 when your app should run on Linux.
If functions are called that throw an exception in the native ObjectBox code, instead of receiving a Dart exception that can be handled the VM process terminates.
Some examples:
There is a known Dart issue (https://github.com/dart-lang/sdk/issues/53267) about this. A fix is in the works, no ETA.
It appears there are no workarounds other than not updating to Dart 3.1 (shipped with Flutter 3.13) when building for Linux.