CommunityToolkit / CommunityToolkit/Maui.NativeLibraryInterop

Start Service android:process in Native SDK

Open
#95 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
249
Forks
48
PR merge metrics
No merged PRs in 30d

Description

### Description

The native SDK includes a service that must run in a separate process using `android:process=":ipp"`. However, the service fails to start as expected. I have already added the necessary "AndroidLibrary" to the .NET MAUI main project and tested it with the latest .NET 9, but the issue still persists. Kindly investigate this further.

```

23:30:01.705 A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x78 in tid 19587 (DefaultDispatch), pid 19546 (dyenposmaui:ipp)
23:30:02.030 A Cmdline: com.companyname.adyenposmaui:ipp
23:30:02.030 A pid: 19546, tid: 19587, name: DefaultDispatch >>> com.companyname.adyenposmaui:ipp <<<
23:30:02.030 A #00 pc 00000000001ede54 /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/lib/arm64/libmonosgen-2.0.so (BuildId: 17c586cfd0bc1d67c08d86570f86834598009997)
23:30:02.030 A #01 pc 00000000001edcbc /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/lib/arm64/libmonosgen-2.0.so (BuildId: 17c586cfd0bc1d67c08d86570f86834598009997)
23:30:02.030 A #02 pc 00000000001f6b24 /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/lib/arm64/libmonosgen-2.0.so (mono_assembly_name_new+36) (BuildId: 17c586cfd0bc1d67c08d86570f86834598009997)
23:30:02.030 A #03 pc 00000000000595c0 /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/lib/arm64/libmonodroid.so (xamarin::android::Util::monodroid_load_assembly(void*, char const*)+48) (BuildId: 4f1470640ed5e91aa47539b9f242bf641c48458e)
23:30:02.030 A #04 pc 000000000003ac3c /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/lib/arm64/libmonodroid.so (Java_mono_android_Runtime_propagateUncaughtException+60) (BuildId: 4f1470640ed5e91aa47539b9f242bf641c48458e)
23:30:02.030 A #10 pc 00000000000947a0 [anon:dalvik-classes4.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (mono.android.XamarinUncaughtExceptionHandler.uncaughtException+0)
23:30:02.030 A #21 pc 0000000000501d0c [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.internal.CoroutineExceptionHandlerImplKt.propagateExceptionFinalResort+0)
23:30:02.030 A #26 pc 0000000000501d34 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.internal.CoroutineExceptionHandlerImpl_commonKt.handleUncaughtCoroutineException+0)
23:30:02.030 A #31 pc 00000000004ca934 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.CoroutineExceptionHandlerKt.handleCoroutineException+0)
23:30:02.030 A #36 pc 00000000004d2f54 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.StandaloneCoroutine.handleJobException+0)
23:30:02.031 A #41 pc 00000000004d0b80 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.JobSupport.finalizeFinishingState+0)
23:30:02.031 A #46 pc 00000000004d116c [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath+0)
23:30:02.031 A #51 pc 00000000004d10fc [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.JobSupport.tryMakeCompleting+0)
23:30:02.031 A #56 pc 00000000004d1044 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.JobSupport.makeCompletingOnce$kotlinx_coroutines_core+0)
23:30:02.031 A #61 pc 00000000004c6c18 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.AbstractCoroutine.resumeWith+0)
23:30:02.031 A #66 pc 00000000003a1670 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith+0)
23:30:02.031 A #71 pc 00000000004cc6f0 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.DispatchedTask.run+0)
23:30:02.031 A #76 pc 0000000000503fb8 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.internal.LimitedDispatcher$Worker.run+0)
23:30:02.031 A #81 pc 000000000050b708 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.scheduling.TaskImpl.run+0)
23:30:02.031 A #86 pc 000000000050a838 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely+0)
23:30:02.031 A #91 pc 00000000005093ec [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask+0)
23:30:02.031 A #96 pc 00000000005094dc [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker+0)
23:30:02.031 A #101 pc 00000000005094c4 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~e5pQ-3wkAhvzZ9pySBnL3A==/com.companyname.adyenposmaui-Tk74ibja2UW9JE-JOkd4yw==/base.apk] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run+0)
23:30:02.058 W crash : com.companyname.adyenposmaui,10398
23:30:02.099 I update AppError : uid=10398, pkg=com.companyname.adyenposmaui, errorType=crash
23:30:02.137 I analyze app error : uid=10398, pkg=com.companyname.adyenposmaui, appErrorCount=10
23:30:02.137 I detected app error : uid=10398, pkg=com.companyname.adyenposmaui
23:30:02.480 I Prefetch Hit! : com.companyname.adyenposmaui
23:30:02.576 I Process com.companyname.adyenposmaui:ipp (pid 19546) has died: fg BTOP(286,3353)
23:30:02.577 W Scheduling restart of crashed service com.companyname.adyenposmaui/com.adyen.ipp.api.InPersonPaymentsService in 1000ms for connection
23:30:02.600 W Rescheduling restart of crashed service com.companyname.adyenposmaui/com.adyen.ipp.api.InPersonPaymentsService in 9977ms for mem-pressure-event
23:30:03.227 D identifyGamePackage. com.companyname.adyenposmaui, mCurrentUserId: 0, callerUserId: 0, callingMethodInfo: com.android.server.ssrm.SortingMachine.isGame(SortingMachine.java:162)
23:30:03.230 D getGamePkgData(). com.companyname.adyenposmaui
```

### Steps to Reproduce

I have cloned the sample from NativeLibraryInterop and trying to integrate with the native library

### Link to public reproduction project repository

_No response_

### Environment

- OS:
- .NET MAUI:
- Target platforms:

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the NativeLibraryInterop sample and the AndroidLibrary integration in the .NET MAUI main project, then reproduce the failure using the reported Android process name `:ipp`. Compare startup of `com.adyen.ipp.api.InPersonPaymentsService` with the SIGSEGV trace; done means the service starts in its separate process without crashing.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, csharp
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.