You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Passing an implemented dart:ui NativeFieldClassWrapper2 type to the engine segfaults #64598
0 0x000000000364947e in dart::Api::GetNativeFieldsOfArgument (arguments=0x7fffffff9d70, arg_index=1, num_fields=2, field_values=0x7fffffff9ac0) at ../../third_party/dart/runtime/vm/dart_api_impl.cc:663
#1 dart::GetNativeFieldsOfArgument (arguments=0x7fffffff9d70, arg_index=1, num_fields=2, field_values=0x7fffffff9ac0, current_func=0x237b82 "Dart_GetNativeFieldsOfArgument") at ../../third_party/dart/runtime/vm/dart_api_impl.cc:255
#2 0x0000000001ddc4b8 in tonic::DartConverterWrappable::FromArguments (args=0x7fffffff9d70, index=1, exception=@0x7fffffff9b48: 0x0) at ../../flutter/third_party/tonic/dart_wrappable.cc:103
#3 0x0000000002fd2cd9 in tonic::DartConverter<flutter::CanvasImage const*, void>::FromArguments (args=0x7fffffff9d70, index=1, exception=@0x7fffffff9b48: 0x0, auto_scope=true) at ../../flutter/third_party/tonic/dart_wrappable.h:135
#4 0x0000000002fd2c75 in tonic::DartArgIterator::GetNext<flutter::CanvasImage const*> (this=0x7fffffff9be8) at ../../flutter/third_party/tonic/dart_args.h:27
#5 0x0000000002fd2c11 in tonic::DartArgHolder<0ul, flutter::CanvasImage const*>::DartArgHolder (this=0x7fffffff9c20, it=0x7fffffff9be8) at ../../flutter/third_party/tonic/dart_args.h:93
#6 0x0000000002fd2e17 in tonic::DartDispatcher<tonic::IndicesHolder<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul>, void (flutter::Canvas::*)(flutter::CanvasImage const*, double, double, double, double, double, double, double, double, flutter::Paint const&, flutter::PaintData const&)>::DartDispatcher (
this=0x7fffffff9c20, it=0x7fffffff9be8) at ../../flutter/third_party/tonic/dart_args.h:148
#7 0x0000000002fd2d54 in tonic::DartCall<void (flutter::Canvas::*)(flutter::CanvasImage const*, double, double, double, double, double, double, double, double, flutter::Paint const&, flutter::PaintData const&)> (func=
(void (flutter::Canvas::*)(flutter::Canvas * const, const flutter::CanvasImage *, double, double, double, double, double, double, double, double, const flutter::Paint &, const flutter::PaintData &)) 0x2fcef30 <flutter::Canvas::drawImageRect(flutter::CanvasImage const*, double, double, double, double, double, double, double, double, flutter::Paint const&, flutter::PaintData const&)>, args=0x7fffffff9d70) at ../../flutter/third_party/tonic/dart_args.h:201
#8 0x0000000002fcdf95 in flutter::Canvas_drawImageRect (args=0x7fffffff9d70) at ../../flutter/lib/ui/painting/canvas.cc:68
#9 0x00000000032fb778 in dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck (args=0x7fffffff9d70, func=0x2fcdf60 <flutter::Canvas_drawImageRect(_Dart_NativeArguments*)>) at ../../third_party/dart/runtime/vm/native_entry.cc:217
#10 0x00007fffead016b4 in ?? ()
#11 0x000000000384de00 in ?? ()
#12 0x000000000100000c in dart::observatory::observatory_assets_archive_ ()
#13 0x00007fffffff9e18 in ?? ()
#14 0x00007fffffff9db8 in ?? ()
@rmacnak-google - is this something that the Dart VM could handle more gracefully? Return an error if the instance field isn't valid, rather than segfaulting?
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
dnfield commentedon Aug 25, 2020
A backtrace of the fault:
@rmacnak-google - is this something that the Dart VM could handle more gracefully? Return an error if the instance field isn't valid, rather than segfaulting?
/cc @jason-simmons
dnfield commentedon Aug 25, 2020
(the backtrace is from a similar but slightly different test)
dnfield commentedon Aug 25, 2020
/cc @PixelToast who helped provide the backtrace.
[vm] Fix Dart_GetNativeFieldsOfArgument when passed an object with no…
TahaTesser commentedon Aug 27, 2020
logs
flutter doctor -v
dnfield commentedon Aug 27, 2020
Thanks for the quick fix @a-siva - this rolled into the framework in #64722 (via flutter-team-archive/engine#20804).
dnfield commentedon Aug 27, 2020
Output now is:
Which seems pretty acceptable to me.
pingbird commentedon Aug 27, 2020
The commit was actually https://dart-review.googlesource.com/c/sdk/+/160185
Thanks @rmacnak-google !
dnfield commentedon Aug 27, 2020
Ahh, haha a-siva was the reviewer :)
github-actions commentedon Aug 13, 2021
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.