-
-
Notifications
You must be signed in to change notification settings - Fork 252
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
SIGBUS error while inflate on armv7 #925
Comments
Some more information I think we would like to see here:
I also just merged a few fixes into develop, one of them concerning arm floatingpoint, so testing with that (or without if this was already with that) might be worth it. This crash is in neon code, so it might be relevant. |
Oh, sorry, the fixes I was thinking about are still in #918, they almost made it into develop earlier. |
|
This fixes crashes caused by unaligned accesses on 32-bit ARM: F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F DEBUG : Build fingerprint: 'google/taimen/taimen:11/RP1A.201005.004.A1/6934943:user/release-keys' F DEBUG : Revision: 'rev_10' F DEBUG : ABI: 'arm' F DEBUG : Timestamp: 2021-04-08 22:22:37+0000 F DEBUG : pid: 14337, tid: 14337, name: webview_service >>> com.android.webview:webview_service <<< F DEBUG : uid: 10152 F DEBUG : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xe0ffc151 F DEBUG : r0 fffffffc r1 00000003 r2 0000007f r3 ed971f45 F DEBUG : r4 e0ffc155 r5 e0ffc151 r6 0000007f r7 00000004 F DEBUG : r8 0000002b r9 edc36134 r10 00ece229 r11 ffffffff F DEBUG : ip 0ece2291 sp fffc0a08 lr ed96f3fb pc ed971fd4 F DEBUG : backtrace: F DEBUG : #00 pc 00058fd4 /apex/com.android.art/lib/libartbase.so (chunkmemset_neon+144) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #1 pc 000563f9 /apex/com.android.art/lib/libartbase.so (zng_inflate_fast+840) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #2 pc 0005539f /apex/com.android.art/lib/libartbase.so (inflate+3754) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #03 pc 0004f36d /apex/com.android.art/lib/libartbase.so (zip_archive::Inflate(zip_archive::Reader const&, unsigned int, unsigned int, zip_archive::Writer*, unsigned long long*)+224) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #04 pc 0004f697 /apex/com.android.art/lib/libartbase.so (ExtractToWriter(ZipArchive*, ZipEntry*, zip_archive::Writer*)+202) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #05 pc 0004f80d /apex/com.android.art/lib/libartbase.so (ExtractToMemory(ZipArchive*, ZipEntry*, unsigned char*, unsigned int)+36) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #06 pc 00023fd9 /apex/com.android.art/lib/libartbase.so (art::ZipEntry::ExtractToMemMap(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+220) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #07 pc 000169c1 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenOneDexFileFromZip(art::ZipArchive const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, art::DexFileLoaderErrorCode*) const+492) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #08 pc 000164cd /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenAllDexFilesFromZip(art::ZipArchive const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+112) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #09 pc 000163a7 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenZip(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+122) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #10 pc 000161f3 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenWithMagic(unsigned int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+178) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #11 pc 0001611d /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::Open(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+96) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #12 pc 003a5c33 /apex/com.android.art/lib/libart.so (art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*)+3090) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #13 pc 0036ae69 /apex/com.android.art/lib/libart.so (art::DexFile_openDexFileNative(_JNIEnv*, _jclass*, _jstring*, _jstring*, int, _jobject*, _jobjectArray*)+92) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #14 pc 0000d6a3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (art_jni_trampoline+194) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #15 pc 00016dab /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexFile.openDexFile+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #16 pc 00018499 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.makeDexElements+552) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #17 pc 00017e93 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.<init>+514) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #18 pc 000157b3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.BaseDexClassLoader.<init>+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #19 pc 0003aa6d /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.PathClassLoader.<init>+68) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #20 pc 00712405 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+612) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #21 pc 007124d1 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+64) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #22 pc 002cab99 /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoader+280) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #23 pc 002cb23d /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries+92) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #24 pc 002d3671 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.createOrUpdateClassLoaderLocked+3528) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #25 pc 002d5ef5 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getClassLoader+76) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #26 pc 002d63a3 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getResources+322) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #27 pc 00397121 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+152) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #28 pc 00397075 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+44) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #29 pc 0037a841 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.handleBindApplication+4816) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #30 pc 003718f9 /system/framework/arm/boot-framework.oat (android.app.ActivityThread$H.handleMessage+6232) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #31 pc 00539d71 /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+136) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #32 pc 0053c751 /system/framework/arm/boot-framework.oat (android.os.Looper.loop+1352) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #33 pc 00380a21 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.main+760) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #34 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #35 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #36 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #37 pc 003f345b /apex/com.android.art/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+910) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #38 pc 00392fb3 /apex/com.android.art/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #39 pc 00084667 /apex/com.android.art/javalib/arm/boot.oat (art_jni_trampoline+110) (BuildId: d70d31c62cc931b5110ecd17558e117d5639fc0b) F DEBUG : #40 pc 00719c49 /system/framework/arm/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+112) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #41 pc 00720c87 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2014) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #42 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #43 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #44 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #45 pc 003f25bf /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+350) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #46 pc 003f2867 /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+42) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #47 pc 0031d491 /apex/com.android.art/lib/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+456) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #48 pc 000667a9 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #49 pc 0006c417 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+602) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #50 pc 00002def /system/bin/app_process32 (main+982) (BuildId: ac98b39d91c544fc9bae40f1ad1de585) F DEBUG : #51 pc 00064049 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+56) (BuildId: 2fb9d5dbba686f16b13e324249a9fb48) TOOD: Investigate further and get this fixed in upstream, if applicable. This might be related to zlib-ng/zlib-ng#925.
This fixes crashes caused by unaligned accesses on 32-bit ARM: F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F DEBUG : Build fingerprint: 'google/taimen/taimen:11/RP1A.201005.004.A1/6934943:user/release-keys' F DEBUG : Revision: 'rev_10' F DEBUG : ABI: 'arm' F DEBUG : Timestamp: 2021-04-08 22:22:37+0000 F DEBUG : pid: 14337, tid: 14337, name: webview_service >>> com.android.webview:webview_service <<< F DEBUG : uid: 10152 F DEBUG : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xe0ffc151 F DEBUG : r0 fffffffc r1 00000003 r2 0000007f r3 ed971f45 F DEBUG : r4 e0ffc155 r5 e0ffc151 r6 0000007f r7 00000004 F DEBUG : r8 0000002b r9 edc36134 r10 00ece229 r11 ffffffff F DEBUG : ip 0ece2291 sp fffc0a08 lr ed96f3fb pc ed971fd4 F DEBUG : backtrace: F DEBUG : #00 pc 00058fd4 /apex/com.android.art/lib/libartbase.so (chunkmemset_neon+144) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #1 pc 000563f9 /apex/com.android.art/lib/libartbase.so (zng_inflate_fast+840) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #2 pc 0005539f /apex/com.android.art/lib/libartbase.so (inflate+3754) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #03 pc 0004f36d /apex/com.android.art/lib/libartbase.so (zip_archive::Inflate(zip_archive::Reader const&, unsigned int, unsigned int, zip_archive::Writer*, unsigned long long*)+224) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #04 pc 0004f697 /apex/com.android.art/lib/libartbase.so (ExtractToWriter(ZipArchive*, ZipEntry*, zip_archive::Writer*)+202) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #05 pc 0004f80d /apex/com.android.art/lib/libartbase.so (ExtractToMemory(ZipArchive*, ZipEntry*, unsigned char*, unsigned int)+36) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #06 pc 00023fd9 /apex/com.android.art/lib/libartbase.so (art::ZipEntry::ExtractToMemMap(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+220) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #07 pc 000169c1 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenOneDexFileFromZip(art::ZipArchive const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, art::DexFileLoaderErrorCode*) const+492) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #08 pc 000164cd /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenAllDexFilesFromZip(art::ZipArchive const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+112) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #09 pc 000163a7 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenZip(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+122) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #10 pc 000161f3 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenWithMagic(unsigned int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+178) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #11 pc 0001611d /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::Open(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+96) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #12 pc 003a5c33 /apex/com.android.art/lib/libart.so (art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*)+3090) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #13 pc 0036ae69 /apex/com.android.art/lib/libart.so (art::DexFile_openDexFileNative(_JNIEnv*, _jclass*, _jstring*, _jstring*, int, _jobject*, _jobjectArray*)+92) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #14 pc 0000d6a3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (art_jni_trampoline+194) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #15 pc 00016dab /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexFile.openDexFile+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #16 pc 00018499 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.makeDexElements+552) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #17 pc 00017e93 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.<init>+514) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #18 pc 000157b3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.BaseDexClassLoader.<init>+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #19 pc 0003aa6d /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.PathClassLoader.<init>+68) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #20 pc 00712405 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+612) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #21 pc 007124d1 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+64) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #22 pc 002cab99 /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoader+280) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #23 pc 002cb23d /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries+92) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #24 pc 002d3671 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.createOrUpdateClassLoaderLocked+3528) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #25 pc 002d5ef5 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getClassLoader+76) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #26 pc 002d63a3 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getResources+322) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #27 pc 00397121 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+152) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #28 pc 00397075 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+44) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #29 pc 0037a841 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.handleBindApplication+4816) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #30 pc 003718f9 /system/framework/arm/boot-framework.oat (android.app.ActivityThread$H.handleMessage+6232) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #31 pc 00539d71 /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+136) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #32 pc 0053c751 /system/framework/arm/boot-framework.oat (android.os.Looper.loop+1352) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #33 pc 00380a21 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.main+760) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #34 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #35 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #36 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #37 pc 003f345b /apex/com.android.art/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+910) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #38 pc 00392fb3 /apex/com.android.art/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #39 pc 00084667 /apex/com.android.art/javalib/arm/boot.oat (art_jni_trampoline+110) (BuildId: d70d31c62cc931b5110ecd17558e117d5639fc0b) F DEBUG : #40 pc 00719c49 /system/framework/arm/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+112) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #41 pc 00720c87 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2014) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #42 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #43 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #44 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #45 pc 003f25bf /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+350) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #46 pc 003f2867 /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+42) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #47 pc 0031d491 /apex/com.android.art/lib/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+456) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #48 pc 000667a9 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #49 pc 0006c417 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+602) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #50 pc 00002def /system/bin/app_process32 (main+982) (BuildId: ac98b39d91c544fc9bae40f1ad1de585) F DEBUG : #51 pc 00064049 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+56) (BuildId: 2fb9d5dbba686f16b13e324249a9fb48) TOOD: Investigate further and get this fixed in upstream, if applicable. This might be related to zlib-ng/zlib-ng#925.
In combination with disabling unaligned accesses, this fixes SIGBUS BUS_ADRALN crashes on 32-bit ARM: F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F DEBUG : Build fingerprint: 'google/taimen/taimen:11/RP1A.201005.004.A1/6934943:user/release-keys' F DEBUG : Revision: 'rev_10' F DEBUG : ABI: 'arm' F DEBUG : Timestamp: 2021-04-08 22:22:37+0000 F DEBUG : pid: 14337, tid: 14337, name: webview_service >>> com.android.webview:webview_service <<< F DEBUG : uid: 10152 F DEBUG : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xe0ffc151 F DEBUG : r0 fffffffc r1 00000003 r2 0000007f r3 ed971f45 F DEBUG : r4 e0ffc155 r5 e0ffc151 r6 0000007f r7 00000004 F DEBUG : r8 0000002b r9 edc36134 r10 00ece229 r11 ffffffff F DEBUG : ip 0ece2291 sp fffc0a08 lr ed96f3fb pc ed971fd4 F DEBUG : backtrace: F DEBUG : #00 pc 00058fd4 /apex/com.android.art/lib/libartbase.so (chunkmemset_neon+144) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #1 pc 000563f9 /apex/com.android.art/lib/libartbase.so (zng_inflate_fast+840) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #2 pc 0005539f /apex/com.android.art/lib/libartbase.so (inflate+3754) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #03 pc 0004f36d /apex/com.android.art/lib/libartbase.so (zip_archive::Inflate(zip_archive::Reader const&, unsigned int, unsigned int, zip_archive::Writer*, unsigned long long*)+224) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #04 pc 0004f697 /apex/com.android.art/lib/libartbase.so (ExtractToWriter(ZipArchive*, ZipEntry*, zip_archive::Writer*)+202) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #05 pc 0004f80d /apex/com.android.art/lib/libartbase.so (ExtractToMemory(ZipArchive*, ZipEntry*, unsigned char*, unsigned int)+36) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #06 pc 00023fd9 /apex/com.android.art/lib/libartbase.so (art::ZipEntry::ExtractToMemMap(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+220) (BuildId: d6d3c93fcc0f81a9f2aa574923a873f7) F DEBUG : #07 pc 000169c1 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenOneDexFileFromZip(art::ZipArchive const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, art::DexFileLoaderErrorCode*) const+492) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #08 pc 000164cd /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenAllDexFilesFromZip(art::ZipArchive const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+112) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #09 pc 000163a7 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenZip(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+122) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #10 pc 000161f3 /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::OpenWithMagic(unsigned int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+178) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #11 pc 0001611d /apex/com.android.art/lib/libdexfile.so (art::ArtDexFileLoader::Open(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const+96) (BuildId: 03c2a39a39fbf134d85e03dfb27560d0) F DEBUG : #12 pc 003a5c33 /apex/com.android.art/lib/libart.so (art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*)+3090) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #13 pc 0036ae69 /apex/com.android.art/lib/libart.so (art::DexFile_openDexFileNative(_JNIEnv*, _jclass*, _jstring*, _jstring*, int, _jobject*, _jobjectArray*)+92) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #14 pc 0000d6a3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (art_jni_trampoline+194) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #15 pc 00016dab /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexFile.openDexFile+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #16 pc 00018499 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.makeDexElements+552) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #17 pc 00017e93 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.DexPathList.<init>+514) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #18 pc 000157b3 /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.BaseDexClassLoader.<init>+186) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #19 pc 0003aa6d /apex/com.android.art/javalib/arm/boot-core-libart.oat (dalvik.system.PathClassLoader.<init>+68) (BuildId: 9d0fb0eebcfd3ec2d8ce3e5a5c90e8b6f7383f85) F DEBUG : #20 pc 00712405 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+612) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #21 pc 007124d1 /system/framework/arm/boot-framework.oat (com.android.internal.os.ClassLoaderFactory.createClassLoader+64) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #22 pc 002cab99 /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoader+280) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #23 pc 002cb23d /system/framework/arm/boot-framework.oat (android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries+92) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #24 pc 002d3671 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.createOrUpdateClassLoaderLocked+3528) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #25 pc 002d5ef5 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getClassLoader+76) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #26 pc 002d63a3 /system/framework/arm/boot-framework.oat (android.app.LoadedApk.getResources+322) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #27 pc 00397121 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+152) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #28 pc 00397075 /system/framework/arm/boot-framework.oat (android.app.ContextImpl.createAppContext+44) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #29 pc 0037a841 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.handleBindApplication+4816) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #30 pc 003718f9 /system/framework/arm/boot-framework.oat (android.app.ActivityThread$H.handleMessage+6232) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #31 pc 00539d71 /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+136) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #32 pc 0053c751 /system/framework/arm/boot-framework.oat (android.os.Looper.loop+1352) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #33 pc 00380a21 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.main+760) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #34 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #35 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #36 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #37 pc 003f345b /apex/com.android.art/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+910) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #38 pc 00392fb3 /apex/com.android.art/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #39 pc 00084667 /apex/com.android.art/javalib/arm/boot.oat (art_jni_trampoline+110) (BuildId: d70d31c62cc931b5110ecd17558e117d5639fc0b) F DEBUG : #40 pc 00719c49 /system/framework/arm/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+112) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #41 pc 00720c87 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2014) (BuildId: bba22a9b28b46e97cd6773218485b53842fe5282) F DEBUG : #42 pc 000d3dd5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #43 pc 004e1809 /apex/com.android.art/lib/libart.so (art_quick_invoke_static_stub+284) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #44 pc 00130915 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #45 pc 003f25bf /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+350) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #46 pc 003f2867 /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+42) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #47 pc 0031d491 /apex/com.android.art/lib/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+456) (BuildId: 61578d3ef0e0d1143a9de82940bcb47b) F DEBUG : #48 pc 000667a9 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #49 pc 0006c417 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+602) (BuildId: 77564f1e3925eb821e5acb1a0447509b) F DEBUG : #50 pc 00002def /system/bin/app_process32 (main+982) (BuildId: ac98b39d91c544fc9bae40f1ad1de585) F DEBUG : #51 pc 00064049 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+56) (BuildId: 2fb9d5dbba686f16b13e324249a9fb48) TOOD: Investigate further and get this fixed in upstream, if applicable. This might be related to zlib-ng/zlib-ng#925.
It's zlib-ng version 2.0.2 and code is from git tag 2.0.2. Cmake output :
Make build output :
|
Because it's alignment violation, we also need disassembly of the function Most of the code in |
Here the disassembly of the function chunkmemset_neon :
|
Looking at the disassembly, I think |
I think user should be using |
@nmoinvaz |
Your fix works great. Thank you ! |
This appears to be a Clang code generation quirk?
And therein lies the rub: Clang appears to generate said align hints, despite that assumption being a tad optimistic. I checked w/ a plain Linux build targeting the Cortex A9 on Clang 11, and I'm seeing similar assembly as the reporter: e.g.,
And that does implode at runtime (even the kernel fixup can't deal with it). But, with GCC (tested w/ 7.5 & 10.3), I get no
|
gcc is usually "smart" enough to ignore casts using unnamed "temporary" variables. On the other hand clang thinks casts with unnamed variables are supposed to be explicit and as such doesn't ignore them. C standard itself doesn't allow unaligned named variables. In later compiler versions using named "temporary" variables can cause compiler warnings if the variable scope extends past end of declaring function. This is pretty much only case I know when unnamed "temporary" variables must be used. |
Most of this flies waaay too far above my head, just wanted to point out that the previous iteration "works" w/ current GCC versions (as long as the CPU actually handles unaligned accesses) ;). |
There is quite a lot of workarounds for compilers that try to be too standards conforming or too smart... I've seen code that works correctly with optimizations enabled, but craps the shit out if optimizations are disabled. |
- Include porting guide in release packages #917 - Documentation improvements #913 #949 - Added Windows ARM binaries in release packages #916 - Fix crash on ARMv7 #927 - Fix building on FreeBSD #921 - Fix building with musl on aarch64 #936 - Fix ARM float-abi detection #918 - Fix cmake detection of risc-v architectures #942 - Minor buildsystem fixes #922 #924 #933 #938 #950 - Improve zlib-compat build #915 #944 - CI/Test improvements #926 #929 #925 #937 #939 #940
Hello,
I got a SIGBUS error on Android device when inflating compressed data. Any ideas ?
Original zlib inflate function work fine with the same code (without zng_ prefix). Deflate function work also fine with zlib-ng.
Static libs are built with Android NDK with following args :
Stack-trace :
Code (work fine with original zlib inflate) :
The text was updated successfully, but these errors were encountered: