flre icon indicating copy to clipboard operation
flre copied to clipboard

Crash on Android

Open benibela opened this issue 9 years ago • 4 comments

Now I tried to run it on Android (386), but it crashes:

f := tflre.create('^[:A-Z_a-z\UC0-\UD6\UD8-\UF6\UF8-\U2FF\U370-\U37D\U37F-\U1FFF\U200C-\U200D\U2070-\U218F\U2C00-\U2FEF\U3001-\UD7FF\UF900-\UFDCF\UFDF0-\UFFFD\U10000-\UEFFFF-[:]][\U2D.0-9\UB7\U0300-\U036F\U203F-\U2040:A-Z_a-z\UC0-\UD6\UD8-\UF6\UF8-\U2FF\U370-\U37D\U37F-\U1FFF\U200C-\U200D\U2070-\U218F\U2C00-\U2FEF\U3001-\UD7FF\UF900-\UFDCF\UFDF0-\UFFFD\U10000-\UEFFFF-[:]]*$', [rfutf8]);
f.utf8find('http503');

->

F/libc    ( 1806): Fatal signal 11 (SIGSEGV) at 0x00000238 (code=1), thread 1806 (ibela.videlibri)
I/DEBUG   (  792): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  792): Build fingerprint: 'unknown'
I/DEBUG   (  792): pid: 1806, tid: 1806, name: UNKNOWN  >>> de.benibela.videlibri <<<
I/DEBUG   (  792): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000238
I/DEBUG   (  792):     eax 00000074  ebx 000c0080  ecx aa57a2ab  edx 00000068
I/DEBUG   (  792):     esi aac0be6a  edi aa57b68c
I/DEBUG   (  792):     xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000  xss 0000007b
I/DEBUG   (  792):     eip aabe4163  ebp bf991468  esp bf9913fc  flags 00010286
I/DEBUG   (  792): 
I/DEBUG   (  792): backtrace:
I/DEBUG   (  792):     #00  pc 0048f163  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLREDFA_$__$$_SEARCHMATCHFULL$LONGINT$LONGINT$LONGINT$LONGBOOL$$LONGINT+163)
I/DEBUG   (  792):     #01  pc 004a1d41  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLRE_$__$$_SEARCHMATCH$crcAC2EA311+417)
I/DEBUG   (  792):     #02  pc 004a4324  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLRE_$__$$_PTRFIND$POINTER$LONGINT$LONGINT$$LONGINT+340)
I/DEBUG   (  792):     #03  pc 004a4b7e  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLRE_$__$$_UTF8FIND$ANSISTRING$LONGINT$$LONGINT+46)
I/DEBUG   (  792): 
I/DEBUG   (  792): stack:
I/DEBUG   (  792):          bf9913bc  00000000  
I/DEBUG   (  792):          bf9913c0  00000000  
I/DEBUG   (  792):          bf9913c4  00000000  
I/DEBUG   (  792):          bf9913c8  00000000  
I/DEBUG   (  792):          bf9913cc  00000000  
I/DEBUG   (  792):          bf9913d0  00000000  
I/DEBUG   (  792):          bf9913d4  00000000  
I/DEBUG   (  792):          bf9913d8  00000000  
I/DEBUG   (  792):          bf9913dc  00000000  
I/DEBUG   (  792):          bf9913e0  00000000  
I/DEBUG   (  792):          bf9913e4  00000000  
I/DEBUG   (  792):          bf9913e8  00000000  
I/DEBUG   (  792):          bf9913ec  00000000  
I/DEBUG   (  792):          bf9913f0  00000000  
I/DEBUG   (  792):          bf9913f4  00000000  
I/DEBUG   (  792):          bf9913f8  00000000  
I/DEBUG   (  792):     #00  bf9913fc  00000007  
I/DEBUG   (  792):          bf991400  bf991630  [stack]
I/DEBUG   (  792):          bf991404  b1692d14  
I/DEBUG   (  792):          bf991408  bf991468  [stack]
I/DEBUG   (  792):          bf99140c  bf991420  [stack]
I/DEBUG   (  792):          bf991410  7c700021  
I/DEBUG   (  792):          bf991414  aa57b3b0  
I/DEBUG   (  792):          bf991418  aa5478d8  
I/DEBUG   (  792):          bf99141c  00000000  
I/DEBUG   (  792):          bf991420  7c700021  
I/DEBUG   (  792):          bf991424  00000000  
I/DEBUG   (  792):          bf991428  00000000  
I/DEBUG   (  792):          bf99142c  aa5fbf10  
I/DEBUG   (  792):          bf991430  7c700021  
I/DEBUG   (  792):          bf991434  aac0be68  /data/data/de.benibela.videlibri/lib/liblclapp.so (.Ld76$strlab+12)
I/DEBUG   (  792):          bf991438  aa57a2ac  
I/DEBUG   (  792):          ........  ........
I/DEBUG   (  792):     #01  bf991470  aa57a270  
I/DEBUG   (  792):          bf991474  00000000  
I/DEBUG   (  792):          bf991478  00000007  
I/DEBUG   (  792):          bf99147c  bf991490  [stack]
I/DEBUG   (  792):          bf991480  ffffffff  
I/DEBUG   (  792):          bf991484  bf9914bc  [stack]
I/DEBUG   (  792):          bf991488  00000007  
I/DEBUG   (  792):          bf99148c  00000000  
I/DEBUG   (  792):          bf991490  00000008  
I/DEBUG   (  792):          bf991494  bf991401  [stack]
I/DEBUG   (  792):          bf991498  aad64d1c  /data/data/de.benibela.videlibri/lib/liblclapp.so
I/DEBUG   (  792):          bf99149c  aa5fbe90  
I/DEBUG   (  792):          bf9914a0  bf991538  [stack]
I/DEBUG   (  792):          bf9914a4  aa5aba20  
I/DEBUG   (  792):          bf9914a8  bf991558  [stack]
I/DEBUG   (  792):          bf9914ac  aabf9324  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLRE_$__$$_PTRFIND$POINTER$LONGINT$LONGINT$$LONGINT+340)
I/DEBUG   (  792):     #02  bf9914b0  bf991401  [stack]
I/DEBUG   (  792):          bf9914b4  00000007  
I/DEBUG   (  792):          bf9914b8  00000000  
I/DEBUG   (  792):          bf9914bc  00000001  
I/DEBUG   (  792):          bf9914c0  7c700021  
I/DEBUG   (  792):          bf9914c4  b1692d14  
I/DEBUG   (  792):          bf9914c8  bf991630  [stack]
I/DEBUG   (  792):          bf9914cc  bf991558  [stack]
I/DEBUG   (  792):          bf9914d0  bf9914b0  [stack]
I/DEBUG   (  792):          bf9914d4  aabf927e  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLRE_$__$$_PTRFIND$POINTER$LONGINT$LONGINT$$LONGINT+174)
I/DEBUG   (  792):          bf9914d8  bf9914c0  [stack]
I/DEBUG   (  792):          bf9914dc  bf991504  [stack]
I/DEBUG   (  792):          bf9914e0  00000001  
I/DEBUG   (  792):          bf9914e4  00000000  
I/DEBUG   (  792):          bf9914e8  00000000  
I/DEBUG   (  792):          bf9914ec  7c700021  
I/DEBUG   (  792):          ........  ........
D/Zygote  (  795): Process 1806 terminated by signal (11)

benibela avatar Feb 16 '16 20:02 benibela

When I disable the assembler code there, it blows up in SearchMatchFullReversed:

F/libc    ( 1556): Fatal signal 11 (SIGSEGV) at 0x00000400 (code=1), thread 1556 (ibela.videlibri)
I/DEBUG   (  792): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  792): Build fingerprint: 'unknown'
I/DEBUG   (  792): pid: 1556, tid: 1556, name: UNKNOWN  >>> de.benibela.videlibri <<<
I/DEBUG   (  792): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000400
I/DEBUG   (  792):     eax 00000100  ebx bf9cf470  ecx 00000006  edx 00000000
I/DEBUG   (  792):     esi bf9cf670  edi 00000006
I/DEBUG   (  792):     xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000  xss 0000007b
I/DEBUG   (  792):     eip aad2050b  ebp b17ced14  esp bf9cf46c  flags 00010286
I/DEBUG   (  792): 
I/DEBUG   (  792): backtrace:
I/DEBUG   (  792):     #00  pc 0048f50b  /data/data/de.benibela.videlibri/lib/liblclapp.so (FLRE$_$TFLREDFA_$__$$_SEARCHMATCHFULLREVERSED$LONGINT$LONGINT$LONGINT$LONGBOOL$$LONGINT+363)
I/DEBUG   (  792):     #01  pc 002acad0  /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG   (  792):     #02  pc 10f80002  <unknown>
I/DEBUG   (  792): 
I/DEBUG   (  792): stack:
I/DEBUG   (  792):          bf9cf42c  00000000  
I/DEBUG   (  792):          bf9cf430  00000000  
I/DEBUG   (  792):          bf9cf434  00000000  
I/DEBUG   (  792):          bf9cf438  00000000  
I/DEBUG   (  792):          bf9cf43c  00000000  
I/DEBUG   (  792):          bf9cf440  00000000  
I/DEBUG   (  792):          bf9cf444  00000000  
I/DEBUG   (  792):          bf9cf448  00000000  
I/DEBUG   (  792):          bf9cf44c  00000000  
I/DEBUG   (  792):          bf9cf450  00000000  
I/DEBUG   (  792):          bf9cf454  00000000  
I/DEBUG   (  792):          bf9cf458  00000000  
I/DEBUG   (  792):          bf9cf45c  00000000  
I/DEBUG   (  792):          bf9cf460  00000000  
I/DEBUG   (  792):          bf9cf464  00000000  
I/DEBUG   (  792):          bf9cf468  00000000  
I/DEBUG   (  792):     #00  bf9cf46c  00000000  
I/DEBUG   (  792):          ........  ........
I/DEBUG   (  792):     #01  b17ced1c  aaf82588  /data/dalvik-cache/data@[email protected]@classes.dex
I/DEBUG   (  792):          ........  ........
I/DEBUG   (  792):     #02  aafb3e94  00020033  
I/DEBUG   (  792):          aafb3e98  0115000c  
I/DEBUG   (  792):          aafb3e9c  20f87f0c  
I/DEBUG   (  792):          aafb3ea0  00100029  
I/DEBUG   (  792):          aafb3ea4  0069000c  
I/DEBUG   (  792):          aafb3ea8  00711019  
I/DEBUG   (  792):          aafb3eac  000020c9  
I/DEBUG   (  792):          aafb3eb0  0069000c  
I/DEBUG   (  792):          aafb3eb4  0022100c  
I/DEBUG   (  792):          aafb3eb8  20700437  
I/DEBUG   (  792):          aafb3ebc  002022cc  
I/DEBUG   (  792):          aafb3ec0  100d0069  
I/DEBUG   (  792):          aafb3ec4  04390022  
I/DEBUG   (  792):          aafb3ec8  22d02070  
I/DEBUG   (  792):          aafb3ecc  00690020  
I/DEBUG   (  792):          aafb3ed0  10711011  

If I disable it there as well, ... it works ? (currently I am not able to run my tests on Android)

These things are why I do not trust handwritten assembler

benibela avatar Feb 17 '16 01:02 benibela

Which compiler? FreePascal or the NextGen Android/iOS Compiler? And which version?

BeRo1985 avatar Feb 17 '16 08:02 BeRo1985

fpc 3.1.1 (I think I compiled it on Apr 5 2015)

benibela avatar Feb 17 '16 16:02 benibela

It still happens with new fpc (and disabling the assembly blocks fixes ti)


05-09 15:55:54.897  4119  4119 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x238 in tid 4119 (videlibri.debug), pid 4119 (videlibri.debug)
05-09 15:55:54.929  4149  4149 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
05-09 15:55:54.929  1698  1698 I /system/bin/tombstoned: received crash request for pid 4119
05-09 15:55:54.929  4149  4149 I crash_dump32: performing dump of process 4119 (target tid = 4119)
05-09 15:55:54.934  4149  4149 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-09 15:55:54.935  4149  4149 F DEBUG   : Build fingerprint: 'Android/sdk_phone_x86/generic_x86:9/PSR1.180720.012/4923214:userdebug/test-keys'
05-09 15:55:54.935  4149  4149 F DEBUG   : Revision: '0'
05-09 15:55:54.935  4149  4149 F DEBUG   : ABI: 'x86'
05-09 15:55:54.935  4149  4149 F DEBUG   : pid: 4119, tid: 4119, name: videlibri.debug  >>> de.benibela.videlibri.debug <<<
05-09 15:55:54.935  4149  4149 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x238
05-09 15:55:54.935  4149  4149 F DEBUG   : Cause: null pointer dereference
05-09 15:55:54.935  4149  4149 F DEBUG   :     eax 00000074  ebx 000c0080  ecx ed76a37b  edx 00000068
05-09 15:55:54.935  4149  4149 F DEBUG   :     edi ed76b31c  esi f0a06fae
05-09 15:55:54.935  4149  4149 F DEBUG   :     ebp ffc39448  esp ffc393ec  eip d6287ae5
05-09 15:55:54.935  4149  4149 F DEBUG   : 
05-09 15:55:54.935  4149  4149 F DEBUG   : backtrace:
05-09 15:55:54.935  4149  4149 F DEBUG   :     #00 pc 00246ae5  /data/app/de.benibela.videlibri.debug-7ikjt3N9FpCsFhl2UrBnAw==/lib/x86/liblclapp.so
05-09 15:55:54.982  1842  1850 W SurfaceFlinger: Attempting to set client state on removed layer: Surface(name=AppWindowToken{cb244b2 token=Token{47e26bd ActivityRecord{4616e14 u0 de.benibela.videlibri.debug/de.benibela.videlibri.activities.LendingList t64}}})/@0xcbc9ef1 - animation-leash#0

Android has stopped giving useful stacktraces.

benibela avatar May 09 '21 14:05 benibela