cppuhelper/source/exc_thrower.cxx |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

New commits:
commit a03d7b1871673473b6201a8a15be175d7b65d71d
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Apr 21 14:26:18 2022 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Apr 21 20:59:05 2022 +0200

    android: Use fake exceptions on all architectures
    
    This was previously only used for aarch64, and the
    workaround does not seem to be necessary in current
    Android versions on other architectures.
    
    However, while it's e.g. not needed on an x86 AVD
    with API level 21 (Android 5), at least my
    x86 AVD with API level 16 (Android 4.1), which
    is currently our `minSdkVersion`, fails otherwise
    when trying to open any document with the below
    in the ADB log.
    
    With this (and all the previous fixes for low API/SDK levels)
    in place, opening a document in Android Viewer finally
    succeeds there.
    
    > F/libc    ( 3288): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), 
thread 3310 (Thread-122)
    > I/stderr  ( 3288): terminating with uncaught exception of type 
com::sun::star::ucb::InteractiveAugmentedIOException
    > I/stderr  ( 3288): assertion "terminating with uncaught exception of type 
com::sun::star::ucb::InteractiveAugmentedIOException" failed: file 
"/usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src/abort_message.cpp",
 line 73, function "abort_message"
    > I/DEBUG   ( 1173): *** *** *** *** *** *** *** *** *** *** *** *** *** 
*** *** ***
    > I/DEBUG   ( 1173): Build fingerprint: 
'generic_x86/sdk_x86/generic_x86:4.1.2/MASTER/eng.wdu.20191218.182616:eng/test-keys'
    > I/DEBUG   ( 1173): pid: 3288, tid: 3310, name: Thread-122  >>> 
org.libreoffice <<<
    > I/DEBUG   ( 1173): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 
deadbaad
    > I/DEBUG   ( 1173):     eax 00000000  ebx b76c9f4c  ecx 00000000  edx 
b76cbfd4
    > I/DEBUG   ( 1173):     esi b65ed000  edi 788c7d6c
    > I/DEBUG   ( 1173):     xcs 00000073  xds 0000007b  xes 0000007b  xfs 
00000000  xss 0000007b
    > I/DEBUG   ( 1173):     eip b7661c03  ebp 788c7d88  esp 788c7d40  flags 
00210246
    > I/DEBUG   ( 1173):
    > I/DEBUG   ( 1173): backtrace:
    > I/DEBUG   ( 1173):     #00  pc 00021c03  /system/lib/libc.so (abort+131)
    > I/DEBUG   ( 1173):     #01  pc 00030ff1  /system/lib/libc.so
    > I/DEBUG   ( 1173):     #02  pc 0e137175  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #03  pc 0e1372f5  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #04  pc 0e133d0a  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #05  pc 0e13323f  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #06  pc 0e133194  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #07  pc 0d369737  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #08  pc 0d3673b0  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #09  pc 0d366a7b  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #10  pc 0d377a25  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #11  pc 09a2b944  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #12  pc 098826da  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #13  pc 098cc47c  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #14  pc 098ded29  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #15  pc 098bb839  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #16  pc 098b7e23  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #17  pc 098bb8cf  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #18  pc 0987a677  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #19  pc 0987b7c7  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #20  pc 0987ab4b  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #21  pc 0987a9a7  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #22  pc 0987f90b  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #23  pc 0986d4ff  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #24  pc 09872298  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #25  pc 035625cf  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #26  pc 0355dff2  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #27  pc 035713f9  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #28  pc 03570d3b  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #29  pc 035714b8  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #30  pc 09a5fb66  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #31  pc 09a5f984  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):
    > I/DEBUG   ( 1173): stack:
    > I/DEBUG   ( 1173):          788c7d00  b76cca48
    > I/DEBUG   ( 1173):          788c7d04  b76ca208  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d08  b76699eb  /system/lib/libc.so 
(_fwalk+11)
    > I/DEBUG   ( 1173):          788c7d0c  b76c9f4c  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d10  00000000
    > I/DEBUG   ( 1173):          788c7d14  00000000
    > I/DEBUG   ( 1173):          788c7d18  00000000
    > I/DEBUG   ( 1173):          788c7d1c  00000000
    > I/DEBUG   ( 1173):          788c7d20  00000000
    > I/DEBUG   ( 1173):          788c7d24  00000000
    > I/DEBUG   ( 1173):          788c7d28  00000000
    > I/DEBUG   ( 1173):          788c7d2c  00000000
    > I/DEBUG   ( 1173):          788c7d30  00000000
    > I/DEBUG   ( 1173):          788c7d34  00000000
    > I/DEBUG   ( 1173):          788c7d38  00000000
    > I/DEBUG   ( 1173):          788c7d3c  00000000
    > I/DEBUG   ( 1173):     #00  788c7d40  00000002
    > I/DEBUG   ( 1173):          788c7d44  788c7d6c  [stack:3310]
    > I/DEBUG   ( 1173):          788c7d48  00000000
    > I/DEBUG   ( 1173):          788c7d4c  00000115
    > I/DEBUG   ( 1173):          788c7d50  0000007f
    > I/DEBUG   ( 1173):          788c7d54  b76c9f4c  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d58  788c7d98  [stack:3310]
    > I/DEBUG   ( 1173):          788c7d5c  b76c9f4c  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d60  b76ca208  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d64  788c7e04  [stack:3310]
    > I/DEBUG   ( 1173):          788c7d68  788c7d88  [stack:3310]
    > I/DEBUG   ( 1173):          788c7d6c  fffffbdf
    > I/DEBUG   ( 1173):          788c7d70  b76ca208  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d74  b76b3b24  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d78  b7661b8e  /system/lib/libc.so 
(abort+14)
    > I/DEBUG   ( 1173):          788c7d7c  b76c9f4c  /system/lib/libc.so
    > I/DEBUG   ( 1173):          ........  ........
    > I/DEBUG   ( 1173):     #01  788c7d90  b76ca208  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d94  b76b3b24  /system/lib/libc.so
    > I/DEBUG   ( 1173):          788c7d98  b9b98fc0  [heap]
    > I/DEBUG   ( 1173):          788c7d9c  8723cac3  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7da0  00000049
    > I/DEBUG   ( 1173):          788c7da4  8723cb39  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7da8  b766b6fe  /system/lib/libc.so 
(vasprintf+14)
    > I/DEBUG   ( 1173):          788c7dac  8d73b830  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7db0  b7670fa9  /system/lib/libc.so 
(__assert2+9)
    > I/DEBUG   ( 1173):          788c7db4  8d73b830  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7db8  788c7df8  [stack:3310]
    > I/DEBUG   ( 1173):          788c7dbc  86a0d175  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):     #02  788c7dc0  8723cac3  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7dc4  00000049
    > I/DEBUG   ( 1173):          788c7dc8  8723cb39  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7dcc  b9b98fc0  [heap]
    > I/DEBUG   ( 1173):          788c7dd0  b9b98fc0  [heap]
    > I/DEBUG   ( 1173):          788c7dd4  788c7e04  [stack:3310]
    > I/DEBUG   ( 1173):          788c7dd8  788c7e04  [stack:3310]
    > I/DEBUG   ( 1173):          788c7ddc  86a09960  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7de0  00000014
    > I/DEBUG   ( 1173):          788c7de4  86a09980  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7de8  788c7e38  [stack:3310]
    > I/DEBUG   ( 1173):          788c7dec  788c7e1c  [stack:3310]
    > I/DEBUG   ( 1173):          788c7df0  b9b1c480  [heap]
    > I/DEBUG   ( 1173):          788c7df4  8d73b830  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):          788c7df8  788c8238  [stack:3310]
    > I/DEBUG   ( 1173):          788c7dfc  86a0d2f5  
/data/data/org.libreoffice/lib/liblo-native-code.so
    > I/DEBUG   ( 1173):
    > I/DEBUG   ( 1173): memory map around fault addr deadbaad:
    > I/DEBUG   ( 1173):     bfa03000-bfa24000 [stack]
    > I/DEBUG   ( 1173):     (no map for address)
    > I/DEBUG   ( 1173):     (no map above)
    > D/Zygote  ( 1176): Process 3288 terminated by signal (11)
    
    Change-Id: I0bc6d13b1217959c5e447e7c6126006b561639a4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133264
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/cppuhelper/source/exc_thrower.cxx 
b/cppuhelper/source/exc_thrower.cxx
index c0d441fcd48b..57e2ad1d0235 100644
--- a/cppuhelper/source/exc_thrower.cxx
+++ b/cppuhelper/source/exc_thrower.cxx
@@ -168,7 +168,7 @@ ExceptionThrower::ExceptionThrower()
     uno_Interface::pDispatcher = ExceptionThrower_dispatch;
 }
 
-#if defined(IOS) || (defined(__aarch64__) && defined(ANDROID)) || 
defined(EMSCRIPTEN)
+#if defined(IOS) || defined(ANDROID) || defined(EMSCRIPTEN)
 #define RETHROW_FAKE_EXCEPTIONS 1
 #else
 #define RETHROW_FAKE_EXCEPTIONS 0
@@ -256,9 +256,7 @@ void SAL_CALL throwException( Any const & exc )
 Any SAL_CALL getCaughtException()
 {
     // why does this differ from RETHROW_FAKE_EXCEPTIONS?
-#if (defined(__aarch64__) && defined(ANDROID)) || defined(EMSCRIPTEN)
-    // FIXME This stuff works on 32bit ARM, let's use the shortcut only for
-    // the 64bit ARM.
+#if defined(ANDROID) || defined(EMSCRIPTEN)
     return Any();
 #else
     Mapping cpp2uno(Environment::getCurrent(), Environment(UNO_LB_UNO));

Reply via email to