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

[Xamarin.Android.Build.Tasks] Add XA1025 error for Hybrid AOT on armeabi-v7a #4966

Merged
merged 2 commits into from
Dec 9, 2020

Commits on Nov 12, 2020

  1. [Xamarin.Android.Build.Tasks] Add XA1025 error for Hybrid AOT on arme…

    …abi-v7a
    
    Context: dotnet#1218 (comment)
    
    The undocumented, experimental `Hybrid` value for the
    `$(AndroidAotMode)` MSBuild property is not currently compatible with
    the armeabi-v7a target ABI.  Attempting to run an app built with
    `$(AndroidAotMode)`=`Hybrid` in an armeabi-v7a environment results in a
    crash.
    
    Since it is known that this configuration currently produces a crash,
    emit a build error for it to improve the visibility of the known issue
    and reduce the time users might spend searching for the cause of the
    crash.
    
    Example of the current crash:
    
    	F libc    : Fatal signal 11 (SIGSEGV), code 2, fault addr 0x913a50c8 in tid 31140 (ppxamarinforms1)
    	W         : debuggerd: handling request: pid=31140 uid=10146 gid=10146 tid=31140
    	F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    	F DEBUG   : Build fingerprint: 'motorola/perry_metropcs_c/perry:7.1.1/NCQS26.69-64-21/33:user/release-keys'
    	F DEBUG   : Revision: 'p3b0'
    	F DEBUG   : ABI: 'arm'
    	F DEBUG   : pid: 31140, tid: 31140, name: ppxamarinforms1  >>> com.companyname.mobileappxamarinforms1 <<<
    	F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x913a50c8
    	F DEBUG   :     r0 be9384d4  r1 00000000  r2 be9385a0  r3 9320b1c0
    	F DEBUG   :     r4 00000000  r5 94167208  r6 00000000  r7 be938584
    	F DEBUG   :     r8 be938838  r9 ae040008  sl 00000000  fp be9385a0
    	F DEBUG   :     ip 913a50c8  sp be9384e4  lr 942a8420  pc 913a50c8  cpsr 000f0010
    	F DEBUG   :
    	F DEBUG   : backtrace:
    	F DEBUG   :     #00 pc 000250c8  [anon:libc_malloc:91380000]
    	F DEBUG   :     #1 pc 0000141c  <anonymous:942a7000>
    	W ActivityManager: Activity pause timeout for ActivityRecord{7ded4d1 u0 com.companyname.mobileappxamarinforms1/crc64e53dff5578afb8f2.MainActivity t5740}
    	I ActivityManager: Killing 30471:com.google.android.apps.fireball/u0a145 (adj 906): empty dotnet#13
    	D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=624, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@f4c4e10)
    	D ActivityManager: cleanUpApplicationRecord -- 30471
    	E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ LISTEN id=624, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ]
    	W         : debuggerd: resuming target 31140
    	I BootReceiver: Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
    	W ActivityManager:   Force finishing activity com.companyname.mobileappxamarinforms1/crc64e53dff5578afb8f2.MainActivity
    	I Zygote  : Process 31140 exited due to signal (11)
    
    Other changes:
    
    Update the `HybridAOT` test to cover the new error.
    
    Correct the `BuildIncrementalAot` test so that it sets
    `$(AndroidSupportedAbis)`.  A side effect is that the test cases that
    use `$(AndroidAotMode)`=`Full` now build successfully.  Note that
    although those test cases now build successfully, the resulting app
    packages abort when run on device because Xamarin.Android requires JIT
    compilation:
    
    	Unhandled Exception:
    	System.ExecutionEngineException: Attempting to JIT compile method '(wrapper other) void Java.Interop.JavaVMInterface:PtrToStructure (intptr,object)' while running in aot-only mode.
    
    TODO: Add a build error for `$(AndroidAotMode)`=`Full`, likely by
    updating error XA3002.
    brendanzagaeski committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    6ca6e8e View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2020

  1. Configuration menu
    Copy the full SHA
    c0452b8 View commit details
    Browse the repository at this point in the history