NativeScript / NativeScript/ios

function callback method argument crash with nativescript-plugin-firebase

Open
#42 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
150
Forks
43
Avg merge
3d 10h
Merged PRs (30d)
22

Description

Native stack trace:
1          0x10f9f4d6b tns::Assert(bool, v8::Isolate*) + 119
2          0x10f9607f9 tns::ArgConverter::Invoke(v8::Local<v8::Context>, objc_class*, v8::Local<v8::Object>, tns::V8Args&, tns::MethodMeta const*, bool) + 95
3          0x10f9ba9c0 tns::MetadataBuilder::InvokeMethod(v8::Local<v8::Context>, tns::MethodMeta const*, v8::Local<v8::Object>, tns::V8Args&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) + 76
4          0x10f9ba513 tns::MetadataBuilder::PropertyGetterCallback(v8::FunctionCallbackInfo<v8::Value> const&) + 245
5          0x10fb2b3dc v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) + 620
6          0x10fb2a88c v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 556
7          0x10fb2a23a v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) + 762
8          0x10feb1c92 v8::internal::Object::GetPropertyWithAccessor(v8::internal::LookupIterator*) + 466
9          0x10feb13eb v8::internal::Object::GetProperty(v8::internal::LookupIterator*, bool) + 139
10         0x10fd28f05 v8::internal::LoadIC::Load(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, bool) + 1605
11         0x10fd3195e v8::internal::Runtime_LoadNoFeedbackIC_Miss(int, unsigned long*, v8::internal::Isolate*) + 286
12         0x1103b7619 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit + 57
JavaScript stack trace:
at <anonymous> (file: node_modules/nativescript-plugin-firebase/firebase.ios.js:837:0)
at push.../node_modules/nativescript-plugin-firebase/firebase.js.GIDSignInDelegateImpl.signInDidSignInForUserWithError (file: node_modules/nativescript-plugin-firebase/firebase.ios.js:2175:0)

repro:

Just login via google with firebase plugin.

This works fine with JavaScriptCore ios-runtime.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the callback paths at node_modules/nativescript-plugin-firebase/firebase.ios.js lines 837 and 2175, then reproduce Google login with the V8 iOS runtime. Compare the same flow under JavaScriptCore and trace the native assertion around the callback method argument. Done means Google login no longer crashes under V8.

Written by the indexing model from the issue text.

Assessment

Tech stack
firebase, ios, javascript
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.