Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native crash happening while running a time consuming function on Realm migration #6475

Closed
kuwapa opened this issue Mar 26, 2019 · 7 comments

Comments

@kuwapa
Copy link

kuwapa commented Mar 26, 2019

Hi, For the new version of my app, I need to make some major db changes and populate those with transformed values from the current db values. I've been able to successfully write the migration and transformation. On testing it on debug builds it has been working perfectly. Even though a time consuming function takes upto 2-4 seconds, it completes successfully.

However, very weirdly, on testing the migration on a release build, the same function crashes with a native error log. Here's the code I'm using :

directionSchema
    .addField("encodedPolyline", String::class.javaObjectType)//value can be null so using a nullable field
    //Adding more fields 
    .transform { obj ->
       //Code to generate allPoints using older fields
        obj.setString("encodedPolyline", Utils.encodePolyline(allPoints))
    }
    //Removing older fields using which allPoints was generated and now not required anymore

//Some more migration on other tables

After much trial and error, I've identified the Utils.encodePolyline(allPoints) to be the one due to which the crash is happening. Here's the crash log :

A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
A/DEBUG: Build fingerprint: 'OnePlus/OnePlus5T/OnePlus5T:9/PKQ1.180716.001/1902221914:user/release-keys'
A/DEBUG: Revision: '0'
A/DEBUG: ABI: 'arm64'
A/DEBUG: pid: 18662, tid: 18662, name: abhiank.maplocs  >>> abhiank.maplocs <<<
A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
A/DEBUG: Cause: null pointer dereference
A/DEBUG:     x0  0000007ff9551498  x1  0000007ff9551370  x2  0000000000000000  x3  000000000000000d
A/DEBUG:     x4  00000000000000f5  x5  0000000000000000  x6  0000007e48184c00  x7  0000000000000064
A/DEBUG:     x8  0000007ff95514c8  x9  5d5e8f26468a9853  x10 00000000000000bb  x11 00000000ffffffff
A/DEBUG:     x12 00000000000000c3  x13 0000000000004cc0  x14 0000000000000100  x15 aaaaaaaaaaaaaaab
A/DEBUG:     x16 0000007ee8a15bc0  x17 0000007ee89967b4  x18 0000000000000000  x19 0000007ff9551498
A/DEBUG:     x20 0000007e48184b40  x21 0000000000000000  x22 0000000000000000  x23 0000007ff95514c8
A/DEBUG:     x24 0000007ff95515b0  x25 0000000000000000  x26 0000000000000003  x27 0000007ff9551640
A/DEBUG:     x28 0000007e48184b40  x29 0000007ff95512c0
A/DEBUG:     sp  0000007ff95512c0  lr  0000007e4952e750  pc  0000007e4953659c

A/DEBUG: backtrace:
A/DEBUG:     #00 pc 00000000000ed59c  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so
A/DEBUG:     #01 pc 00000000000e574c  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so
A/DEBUG:     #02 pc 00000000000fa9a8  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so
A/DEBUG:     #03 pc 0000000000116d28  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so
A/DEBUG:     #04 pc 00000000000f6a68  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so
A/DEBUG:     #05 pc 0000000000076cd8  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/lib/arm64/librealm-jni.so (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+480)
A/DEBUG:     #06 pc 0000000000023ab4  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.odex (offset 0x21000) (io.realm.internal.OsObjectSchemaInfo.nativeGetProperty [DEDUPED]+180)
A/DEBUG:     #07 pc 0000000000555a4c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
A/DEBUG:     #08 pc 00000000000cf6e8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
A/DEBUG:     #09 pc 000000000027f2b8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
A/DEBUG:     #10 pc 00000000002792c0  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
A/DEBUG:     #11 pc 0000000000526298  /system/lib64/libart.so (MterpInvokeStatic+204)
A/DEBUG:     #12 pc 0000000000547e94  /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/DEBUG:     #13 pc 0000000000409b76  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.<init>+98)
A/DEBUG:     #14 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #15 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #16 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #17 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #18 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #19 pc 000000000040996a  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+26)
A/DEBUG:     #20 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #21 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #22 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #23 pc 0000000000526298  /system/lib64/libart.so (MterpInvokeStatic+204)
A/DEBUG:     #24 pc 0000000000547e94  /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/DEBUG:     #25 pc 00000000003ec37c  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.BaseRealm.<init>+152)
A/DEBUG:     #26 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #27 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #28 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #29 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #30 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #31 pc 00000000003ec2c8  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.BaseRealm.<init>+8)
A/DEBUG:     #32 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #33 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #34 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #35 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #36 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #37 pc 00000000003fe8fc  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.Realm.<init>+24)
A/DEBUG:     #38 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #39 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #40 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #41 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #42 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #43 pc 00000000003fdbb0  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.Realm.createInstance+4)
A/DEBUG:     #44 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #45 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #46 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #47 pc 0000000000526298  /system/lib64/libart.so (MterpInvokeStatic+204)
A/DEBUG:     #48 pc 0000000000547e94  /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/DEBUG:     #49 pc 00000000003f4bfa  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.RealmCache.doCreateRealmOrGetFromCache+218)
A/DEBUG:     #50 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #51 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #52 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #53 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #54 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #55 pc 00000000003f4b06  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.RealmCache.createRealmOrGetFromCache+18)
A/DEBUG:     #56 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #57 pc 0000000000515628  /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
A/DEBUG:     #58 pc 000000000055e8fc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
A/DEBUG:     #59 pc 0000000000555a4c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
A/DEBUG:     #60 pc 00000000000cf6e8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
A/DEBUG:     #61 pc 000000000027f2b8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
A/DEBUG:     #62 pc 00000000002792c0  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
A/DEBUG:     #63 pc 0000000000526298  /system/lib64/libart.so (MterpInvokeStatic+204)
A/DEBUG:     #64 pc 0000000000547e94  /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/DEBUG:     #65 pc 00000000003fdc1c  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (io.realm.Realm.getDefaultInstance+56)
A/DEBUG:     #66 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #67 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #68 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #69 pc 0000000000526298  /system/lib64/libart.so (MterpInvokeStatic+204)
A/DEBUG:     #70 pc 0000000000547e94  /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/DEBUG:     #71 pc 0000000000169a7a  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (abhiank.maplocs.data.MapDataRepository.<init>+6)
A/DEBUG:     #72 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #73 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #74 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #75 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #76 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #77 pc 0000000000169aa4  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (abhiank.maplocs.data.MapDataRepository.<init>)
A/DEBUG:     #78 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #79 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #80 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #81 pc 00000000005260d4  /system/lib64/libart.so (MterpInvokeDirect+296)
A/DEBUG:     #82 pc 0000000000547e14  /system/lib64/libart.so (ExecuteMterpImpl+14484)
A/DEBUG:     #83 pc 0000000000169492  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (abhiank.maplocs.data.MapDataRepository$Companion.getINSTANCE+18)
A/DEBUG:     #84 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #85 pc 0000000000258ab8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
A/DEBUG:     #86 pc 00000000002792a4  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
A/DEBUG:     #87 pc 0000000000527dd8  /system/lib64/libart.so (MterpInvokeVirtualQuick+584)
A/DEBUG:     #88 pc 000000000054ba94  /system/lib64/libart.so (ExecuteMterpImpl+29972)
A/DEBUG:     #89 pc 0000000000170d60  /data/app/abhiank.maplocs-PBhaWtNUo_YoJNQWTbewtA==/oat/arm64/base.vdex (abhiank.maplocs.map.MapsActivity.onCreate+196)
A/DEBUG:     #90 pc 0000000000252fc4  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1133985933+488)
A/DEBUG:     #91 pc 0000000000515628  /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
A/DEBUG:     #92 pc 000000000055e8fc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)

Here are some observations from the trying to figure out the cause :

  • The crash does not happen on debug builds
  • The crash does not happen on debuggable true release builds either. Only on non-debuggable release builds.
  • It doesn't crash if the length of the string produced by the Util methods is around ~7000 characters
  • If I print the characters in a Log.i(), the log statement does not crash and prints the string successfully before the native crash happens.
  • If I hardcode a long length of string like obj.setString("encodedPolyline", "reallylongstring50000characters"), it crashes.
  • The crash is not happening on my old Moto G4, running Android 7. Also, on emulators running Android 8 and Android 9 it didn't crash. Apart from the Moto G4, I tested on OnePlus 5T and Samsung S9 both running Android 9 and on both it crashed.

I'm using realm gradle plugin 5.8.0

I'm really struggling with this and any help on this will is really appreciated.
Thanks.

@kuwapa kuwapa changed the title Native crash happening while performing a time consuming function on Realm migration Native crash happening while running a time consuming function on Realm migration Mar 26, 2019
@Zhuinden
Copy link
Contributor

Maybe @cmelchior knows how to find the cause from a native stack trace

@kuwapa
Copy link
Author

kuwapa commented Apr 4, 2019

@cmelchior Please take a look at this. I'm still stuck with this and can't figure out what the issue might be.

@kuwapa
Copy link
Author

kuwapa commented Apr 4, 2019

After a ton of looking, finally figured out the code which is crashing the migration. Its encoding and decoding polylines methods which are causing the crash. These methods do bit manipulation to convert a list of points into a string and visa-versa.

  • My previous assumption was that the crash was happening because of a huge string (~100K characters) being stored into realm because of which it crashes, but that was not the case.
  • Another assumption was that because the encoding/decoding takes some amount of time and due to limits on migration on production builds it might be crashing. That was also not the case.
  • Also, the entirety of the migration code executes perfectly. As in, the polyline decoding works (printed out the output to log) and so does the encoding, but also parallelly, the migration crashes.

Still not sure why specifically this code crashes the migration though. Working on a work-around now.

@dd-david
Copy link

@Abhiank Could you tell me some more information about "the polyline decoding works and so does the encoding, but also parallelly, the migration crashes."

@SangHyeon
Copy link

I also have this issue. Could u share how to solve this native crash? Is it solved? or just cloesd??
I can't reproduce but still have this native crash issue...

@kuwapa
Copy link
Author

kuwapa commented Jun 30, 2019

@SangHyeon No it was not solved. It was simply closed by @bmunkholm. I mailed them but they responded by saying that since I was not a paying customer I couldn't be given priority.

I solved it by working around it. What I did was put the polyline in a mid-state during migration and complete the migration of the data when the app code started executing. Basically I moved the time consuming stuff to be executed after the migration.

I still have no idea what caused this issue though.

@kuwapa
Copy link
Author

kuwapa commented Jun 30, 2019

@dd-david Aplogies for the late reply. I never got the tag notification. What I meant was that the encoding and decoding of the polyline works fully and the completed output is also printed in the log but still the migration crashes. So, even though the encodePolyine method was causing the migration to crash, it completed execution, printed the result and then crashed. The issue was never solved and I still have no idea what caused it.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants