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

iPhone 11 Pro Crash - arm64e #253

Open
AndrewEQ opened this issue Nov 6, 2019 · 4 comments
Open

iPhone 11 Pro Crash - arm64e #253

AndrewEQ opened this issue Nov 6, 2019 · 4 comments
Assignees

Comments

@AndrewEQ
Copy link
Contributor

AndrewEQ commented Nov 6, 2019

I had a test user report a crash very early in my app experience (they didn't get to main functionality yet), I noticed in the crash report that they were using a iPhone 11 Pro and that its architecture is arm64e, so I'm listing this here as I don't have an iPhone 11 Pro to test but I did find this article which may be the cause: https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication?language=objc

@AndrewEQ
Copy link
Contributor Author

AndrewEQ commented Nov 6, 2019

So I tried adding the "arm64e" to the architectures build setting and when I tried to archive, the following error(s) came up:

Undefined symbols for architecture arm64e:
  "uImage::Jpeg::CreateReader(uBase::Stream*)", referenced from:
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::Bundle", referenced from:
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle1(uString*) in Uno.Content.Fonts.g.o
  "uBase::BundleAccessor::operator->()", referenced from:
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle1(uString*) in Uno.Content.Fonts.g.o
  "uBase::BufferStream::~BufferStream()", referenced from:
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle(uArray*, int, int) in Uno.Content.Fonts.g.o
  "uImage::Bitmap::Bitmap(int, int, uImage::Format, uBase::DataAccessor*, int, int)", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
  "uBase::Exception::GetFunction() const", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
  "_ConvertUTF16toUTF8", referenced from:
      uAllocCStr(uString const*, unsigned long*) in ObjectModel.o
  "uBase::Exception::GetLine() const", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
  "operator+(char const*, uBase::String const&)", referenced from:
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
  "uBase::Exception::~Exception()", referenced from:
      l__ZN5uBase9ExceptionD1Ev$auth_ptr$ia$0 in Support.o
  "uImage::Bitmap::GetPtr()", referenced from:
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
      g::Uno::Content::Fonts::CppFontFace__RenderGlyph_fn(g::Uno::Content::Fonts::CppFontFace*, float*, char16_t*, g::Uno::Content::Fonts::RenderedGlyph*) in Uno.Content.Fonts.g.o
  "uBase::Object::Release()", referenced from:
      uBase::Auto<uImage::ImageReader>::~Auto() in Support.o
      uBase::Auto<uImage::Bitmap>::~Auto() in Support.o
      uBase::Auto<uBase::BufferPtr>::~Auto() in _root.JpegSaver.o
      g::Uno::Content::Fonts::CppFontFace__Dispose_fn(g::Uno::Content::Fonts::CppFontFace*) in Uno.Content.Fonts.g.o
      uBase::Auto<uBase::Stream>::~Auto() in Uno.Content.Fonts.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      ...
  "uImage::FontFace::Load(uBase::Stream*)", referenced from:
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle(uArray*, int, int) in Uno.Content.Fonts.g.o
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle1(uString*) in Uno.Content.Fonts.g.o
  "uImage::FormatInfo::ToString(uImage::Format)", referenced from:
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
  "uBase::BufferStream::BufferStream(uBase::DataAccessor*, bool, bool)", referenced from:
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle(uArray*, int, int) in Uno.Content.Fonts.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::Exception::GetMessage() const", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "typeinfo for uBase::Exception", referenced from:
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
      GCC_except_table3 in _root.JpegSaver.o
      GCC_except_table16 in Experimental.TextureLoader.g.o
      GCC_except_table17 in Experimental.TextureLoader.g.o
  "uImage::Jpeg::Save(uBase::String const&, uImage::Bitmap*, int)", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
  "uImage::Texture::Create(uImage::Image*)", referenced from:
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::String::String(char const*, int)", referenced from:
      uStringToXliString(uString*) in Support.o
  "uBase::Exception::Exception(uBase::String const&)", referenced from:
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
  "_OBJC_CLASS_$_SRWebSocket", referenced from:
      objc-class-ref in WebSocketClientObjc.o
  "Xli::MessageBox::Show(Xli::Window*, uBase::String const&, uBase::String const&, Xli::DialogButtons, int)", referenced from:
      uFatal(char const*, char const*) in Support.o
  "_ConvertUTF8toUTF16", referenced from:
      uString::Utf8(char const*, unsigned long) in ObjectModel.o
  "uImage::Bitmap::DownSample2x2()", referenced from:
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::String::~String()", referenced from:
      uFatal(char const*, char const*) in Support.o
      uCreateGLTexture(uImage::Texture*, bool, uGLTextureInfo*) in Support.o
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
      g::Uno::Content::Fonts::CppFontFace__get_FamilyName_fn(g::Uno::Content::Fonts::CppFontFace*, uString**) in Uno.Content.Fonts.g.o
      g::Uno::Content::Fonts::CppFontFace__get_StyleName_fn(g::Uno::Content::Fonts::CppFontFace*, uString**) in Uno.Content.Fonts.g.o
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle1(uString*) in Uno.Content.Fonts.g.o
  "uImage::Png::CreateReader(uBase::Stream*)", referenced from:
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::BufferPtr::BufferPtr(void*, int, bool)", referenced from:
      g::JpegSaver::ByteArrayRgbaToJpeg(uArray*, int, int, uString*) in _root.JpegSaver.o
      g::Uno::Content::Fonts::CppFontFace::LoadFontFaceHandle(uArray*, int, int) in Uno.Content.Fonts.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::JpegByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
      g::Experimental::TextureLoader::TextureLoaderImpl::PngByteArrayToTexture2D(uArray*) in Experimental.TextureLoader.g.o
  "uBase::GetTicks()", referenced from:
      uPthreadWaitOneMutex(_opaque_pthread_mutex_t*, int) in posix_mutex.o
  "uBase::String::Ptr() const", referenced from:
      uStringFromXliString(uBase::String const&) in Support.o
  "uBase::String::String(char const*)", referenced from:
      uFatal(char const*, char const*) in Support.o
  "uBase::String::Length() const", referenced from:
      uStringFromXliString(uBase::String const&) in Support.o
ld: symbol(s) not found for architecture arm64e
clang: error: linker command failed with exit code 1 (use -v to see invocation)

mortend added a commit to mortend/uno-base that referenced this issue Dec 20, 2019
mortend added a commit to mortend/uno that referenced this issue Dec 21, 2019
This upgrades the uno-base-iOS-static package, now including arm64e build.

Related: fuse-open#253
mortend added a commit to mortend/uno that referenced this issue Dec 21, 2019
This upgrades the uno-base-iOS-static package, now including arm64e build.

Related: fuse-open#253
@mortend
Copy link
Member

mortend commented Jan 1, 2020

Dependencies for arm64e has been added, so those linker errors should now be fixed. Hopefully we're one step closer to solving that crash... :)

@AndrewEQ
Copy link
Contributor Author

Shweet man, hopefully 😄

@AndrewEQ
Copy link
Contributor Author

Looks like Firebase is even waiting on Apple's official support: https://firebase.google.com/support/release-notes/ios#version_6210_-_march_24_2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants