upgrade-support icon indicating copy to clipboard operation
upgrade-support copied to clipboard

App crash after upgrading from 0.61.0 to 0.64.1

Open quixote15 opened this issue 3 years ago • 2 comments

Environment

System:
    OS: macOS 11.0.1
    CPU: (4) x64 Intel(R) Core(TM) i5-4260U CPU @ 1.40GHz
    Memory: 23.59 MB / 4.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 12.21.0 - ~/.nvm/versions/node/v12.21.0/bin/node
    Yarn: 1.19.0 - /usr/local/bin/yarn
    npm: 6.14.11 - ~/.nvm/versions/node/v12.21.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /Users/ayodev/.rvm/gems/ruby-2.4.1/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_25 - /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1 
    react-native: 0.64.1 => 0.64.1 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Things I’ve done to figure out my issue

  • [ ] I used upgrade-helper to do my upgrade. I performed all the changes shown in the diffs from the upgrade helper tool.
  • [ ] For the project.pbxproj changes, I proceeded to follow all four steps in the React Native 0.62 upgrade explanation in this repo.

Upgrading version

Upgrading from 0.61.0 to 0.64.1

Description

After following the upgrade steps above I encountered the following errors when attempting to build iOS:

ld: library not found for -l@mauron85_react-native-background-geolocation
clang: error: linker command failed with exit code 1 (use -v to see invocation)
  1. I tried pod deintegrate and pod install to see if it could be some error on pods projects but the error would persist. Then, I tried removing @mauron85_react-native-background-geolocation to see if the problem was the lib itself. Removing the library would give the same error ld: library not found for {SOME_OTHER_LIB} but for other libraries in my projects. So, it is not a dependency matter, right?

  2. I tried removing the quotation marks from LIBRARY_SEARCH_PATHS (Project -> Build Settings -> LIBRARY_SEARCH_PATHS). Found this suggestion here. Still the same error!

  3. Then saw in some other issues people enabling Dead Code Stripping in Build Settings for DEBUG, so I did this:

Captura de Tela 2021-05-19 às 10 39 51 AM

Now, the project builds successfully but the App crashes on start up with the following error:


// 0_abort_with_payload
dyld`__abort_with_payload:
    0x11e4c9f70 <+0>:  movl   $0x2000209, %eax          ; imm = 0x2000209 
    0x11e4c9f75 <+5>:  movq   %rcx, %r10
    0x11e4c9f78 <+8>:  syscall 
->  0x11e4c9f7a <+10>: jae    0x11e4c9f84               ; <+20>
    0x11e4c9f7c <+12>: movq   %rax, %rdi
    0x11e4c9f7f <+15>: jmp    0x11e4c8160               ; cerror_nocancel
    0x11e4c9f84 <+20>: retq   
    0x11e4c9f85 <+21>: nop    
    0x11e4c9f86 <+22>: nop    
    0x11e4c9f87 <+23>: nop    

// 0_dyld_start

dyld`_dyld_start:
    0x11e46f000 <+0>:  popq   %rdi
    0x11e46f001 <+1>:  pushq  $0x0
    0x11e46f003 <+3>:  movq   %rsp, %rbp
    0x11e46f006 <+6>:  andq   $-0x10, %rsp
    0x11e46f00a <+10>: subq   $0x10, %rsp
    0x11e46f00e <+14>: movl   0x8(%rbp), %esi
    0x11e46f011 <+17>: leaq   0x10(%rbp), %rdx
    0x11e46f015 <+21>: leaq   -0x101c(%rip), %rcx
    0x11e46f01c <+28>: leaq   -0x8(%rbp), %r8
    0x11e46f020 <+32>: callq  0x11e46f062               ; dyldbootstrap::start(dyld3::MachOLoaded const*, int, char const**, dyld3::MachOLoaded const*, unsigned long*)
->  0x11e46f025 <+37>: movq   -0x8(%rbp), %rdi
    0x11e46f029 <+41>: cmpq   $0x0, %rdi
    0x11e46f02d <+45>: jne    0x11e46f03f               ; <+63>
    0x11e46f02f <+47>: movq   %rbp, %rsp
    0x11e46f032 <+50>: addq   $0x8, %rsp
    0x11e46f036 <+54>: movq   $0x0, %rbp
    0x11e46f03d <+61>: jmpq   *%rax
    0x11e46f03f <+63>: addq   $0x10, %rsp
    0x11e46f043 <+67>: pushq  %rdi
    0x11e46f044 <+68>: movq   0x8(%rbp), %rdi
    0x11e46f048 <+72>: leaq   0x10(%rbp), %rsi
    0x11e46f04c <+76>: leaq   0x8(%rsi,%rdi,8), %rdx
    0x11e46f051 <+81>: movq   %rdx, %rcx
    0x11e46f054 <+84>: movq   (%rcx), %r8
    0x11e46f057 <+87>: addq   $0x8, %rcx
    0x11e46f05b <+91>: testq  %r8, %r8
    0x11e46f05e <+94>: jne    0x11e46f054               ; <+84>
    0x11e46f060 <+96>: jmpq   *%rax

Screenshot of the error:

Captura de Tela 2021-05-19 às 10 31 30 AM

Reproducible demo

I'll try to create a demo to GitHub with a new RN project and then update the issue. So far, I only tried in my app.

Update01:

I created a demo app, by running npx react-native init rnDemoUpgradeTo64 --version 0.61.0, and reproduced the same process of migrating from 0.61.0 to 0.64.1:

The demo app is here

I also created two tags:

  1. v1.0.0: a brand new RN App up and running.
  2. v1.1.0: App crashing after the upgrading process I described in this issue

Also, there is the feat/upgradeToRN64 branch where I commit changes after every single step.

I don't know what else to do. Any help ?

quixote15 avatar May 19 '21 13:05 quixote15

Hi, I have same issue when upgrade from 0.60.6 to 0.64.2 Is there any info how to solve this issue?

Ddv0623 avatar Oct 16 '21 13:10 Ddv0623

Disable Flipper in popFile fixed my project

Ddv0623 avatar Oct 16 '21 14:10 Ddv0623