Skip to content

Executorch Android runtime library hardcoded for demo app only #1199

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

Closed
adonnini opened this issue Nov 13, 2023 · 10 comments
Closed

Executorch Android runtime library hardcoded for demo app only #1199

adonnini opened this issue Nov 13, 2023 · 10 comments
Assignees
Labels
enhancement Not as big of a feature, but technically not a bug. Should be easy to fix module: runtime Issues related to the core runtime and code under runtime/ triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module

Comments

@adonnini
Copy link

The runtime executorch library for Android currently is hard coded for use with the demo app only.

This makes it impossible to use it for other Android applications.

Could something be done to allow use with other Android applications while waiting for the release of the exeucotorch Java API?

Thanks

@mcr229 mcr229 added enhancement Not as big of a feature, but technically not a bug. Should be easy to fix feature module: runtime Issues related to the core runtime and code under runtime/ labels Nov 13, 2023
@adonnini
Copy link
Author

Hi, Approximately when will I be able to proceed with my work installing the executor runtime and running my model for inference in my Android application? I realize that this probably is not your highest priority. At the same time, it will be necessary for developers to be able to integrate models in their Android apps and run them for inference using the executorch platform.
Thanks

@kimishpatel
Copy link
Contributor

Hi @adonnini,
Thanks for the feedback. Right now executorch is not quite production ready. There are issues are backwards and forwards compatibility, selective build (to reduce binary size when using portable ops), stable kotlin/java APIs are works in progress. I suspect you care for the latter.

For that I can imagine moving Java bindings as well as Java classes out in a stand-alone lib, would be helpful as immediate follow up (For longer term we need to think through this though). Would you be able to work around by refactoring the code in a way that makes all that code standalone and importable? Otherwise, it will have to wait maybe a couple of months.

@kimishpatel
Copy link
Contributor

Since this is a feature request, we will also have to assign an owner who will implement this

@adonnini
Copy link
Author

I would rather wait for the Java API which is part of the executorch platform and, in the meantime, try your refactoring suggestion. This issue was opened to highlight the need for the Java API in order to add the Executorch runtime to Android applications other than the example one.
I am not asking for a new feature. The Java API is part of the product release not a new feature, right?
Thanks for your responsiveness on this. I appreciate it.

@adonnini
Copy link
Author

@kimishpatel would you mind clarifying a little what you meant by
"refactoring the code in a way that makes all that code standalone and importable"
Are you referring to the sample app code? Sorry for this question. I am uncertains as to what you meant exactly.
Thanks

@adonnini
Copy link
Author

Some good news.
I was able to work around
"The runtime executorch library for Android currently is hard coded for use with the demo app only"
problem, and load my model from my Android app.
However, unfortunately, the app fails to run inference. Below you will find the relevant portion of the logcat.
In my app the pytorch related dependencies are exactly the same as in the demo Android app.
I would appreciate any suggestion for solving this new problem.
Thanks.

LOGCAT

11-24 09:35:10.445: I/NeuralNetworkService(3388):  - NeuralNetworkServiceRunnable - neuralNetworkInputPreparationRunning - 1 - 0
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - NeuralNetworkServiceRunnable - neuralNetworkLoadAndRunRunning - 0 - 0
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - NeuralNetworkServiceRunnable - About to run neuralNetworkloadAndRun --- 
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - neuralNetworkloadAndRunPytorch - Running - 
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - neuralNetworkloadAndRunPytorch - locationInformationDir - /data/user/0/com.android.contextq/files/locationInformation/
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - neuralNetworkloadAndRunPytorch - savedNetworkArchiveLength - 120679184
11-24 09:35:10.445: I/NeuralNetworkService(3388):  - neuralNetworkloadAndRunPytorch - Abut to load module --- 
11-24 09:35:10.676: W/adbd(20118): timeout expired while flushing socket, closing
11-24 09:35:10.699: I/ETLOG(3388): Model file /data/user/0/com.android.contextq/files/locationInformation/tfmodel_exnnpack.pte is loaded.
11-24 09:35:10.699: I/ETLOG(3388): Setting up planned buffer 0, size 22900384.
11-24 09:35:10.713: W/libc(3388): Access denied finding property "ro.hardware.chipname"
11-24 09:35:10.729: D/XNNPACK(3388): allocated 6144 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.729: D/XNNPACK(3388): created workspace of size 774176
11-24 09:35:10.730: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.733: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.737: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.741: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.741: D/XNNPACK(3388): reusing tensor id #4 memory for tensor id #3 Node #2 Softmax
11-24 09:35:10.741: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.741: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.745: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.746: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.761: D/XNNPACK(3388): allocated 4196352 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.775: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.779: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.779: D/XNNPACK(3388): reusing tensor id #4 memory for tensor id #3 Node #2 Softmax
11-24 09:35:10.779: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.779: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.781: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.795: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.798: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.798: D/XNNPACK(3388): reusing tensor id #4 memory for tensor id #3 Node #2 Softmax
11-24 09:35:10.798: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.798: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.800: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.814: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.817: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.817: D/XNNPACK(3388): reusing tensor id #4 memory for tensor id #3 Node #2 Softmax
11-24 09:35:10.817: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.818: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.819: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.833: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.836: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.837: D/XNNPACK(3388): reusing tensor id #4 memory for tensor id #3 Node #2 Softmax
11-24 09:35:10.837: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.837: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.838: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.852: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.856: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.860: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.863: D/XNNPACK(3388): allocated 8192 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.863: D/XNNPACK(3388): created workspace of size 1327136
11-24 09:35:10.864: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.868: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.871: D/XNNPACK(3388): reusing tensor id #8 memory for tensor id #5 Node #2 Softmax
11-24 09:35:10.871: D/XNNPACK(3388): created workspace of size 42368
11-24 09:35:10.871: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:10.872: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.875: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.879: I/XNNPACK(3388): fuse Clamp Node #2 into upstream Node #1
11-24 09:35:10.880: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.895: D/XNNPACK(3388): allocated 4196352 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.910: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.914: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.917: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.923: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.925: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.929: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.932: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.934: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.949: D/XNNPACK(3388): allocated 4196352 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.963: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.967: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.971: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:10.971: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.975: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.979: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.983: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.986: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:10.987: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:10.990: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:10.992: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.005: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:11.006: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.010: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:11.010: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.014: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:11.015: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.029: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:11.030: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.033: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:11.034: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.037: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:11.039: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.052: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:11.053: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.056: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:11.057: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.060: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:11.062: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.076: D/XNNPACK(3388): created workspace of size 663584
11-24 09:35:11.076: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.080: D/XNNPACK(3388): created workspace of size 387104
11-24 09:35:11.080: D/XNNPACK(3388): allocated 1050624 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.084: I/XNNPACK(3388): fuse Clamp Node #1 into upstream Node #0
11-24 09:35:11.085: D/XNNPACK(3388): allocated 4202496 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.099: D/XNNPACK(3388): allocated 16416 bytes for packed weights in Fully Connected (NC, F32) operator
11-24 09:35:11.099: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.099: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.099: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.099: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.099: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.100: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.101: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): Missing operator: [4] aten::native_dropout.out
11-24 09:35:11.102: I/ETLOG(3388): There are 62 instructions don't have corresponding operator registered. See logs for details
11-24 09:35:11.113: I/ETLOG(3388): In function CheckOk(), assert failed: hasValue_
11-24 09:35:11.113: A/libc(3388): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3424 (Thread-2), pid 3388 (lNetworkService)
11-24 09:35:11.307: I/crash_dump64(4913): obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
11-24 09:35:11.308: I/tombstoned(687): received crash request for pid 3424
11-24 09:35:11.309: I/crash_dump64(4913): performing dump of process 3388 (target tid = 3424)
11-24 09:35:11.328: E/DEBUG(4913): failed to read /proc/uptime: Permission denied
11-24 09:35:11.518: A/DEBUG(4913): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-24 09:35:11.518: A/DEBUG(4913): Build fingerprint: 'Fairphone/FP4eea/FP4:12/SKQ1.220201.001/SP2K:user/release-keys'
11-24 09:35:11.518: A/DEBUG(4913): Revision: '0'
11-24 09:35:11.518: A/DEBUG(4913): ABI: 'arm64'
11-24 09:35:11.518: A/DEBUG(4913): Timestamp: 2023-11-24 09:35:11.326798380+0100
11-24 09:35:11.518: A/DEBUG(4913): Process uptime: 0s
11-24 09:35:11.518: A/DEBUG(4913): Cmdline: com.android.contextq:ContextQNeuralNetworkService
11-24 09:35:11.518: A/DEBUG(4913): pid: 3388, tid: 3424, name: Thread-2  >>> com.android.contextq:ContextQNeuralNetworkService <<<
11-24 09:35:11.518: A/DEBUG(4913): uid: 10207
11-24 09:35:11.518: A/DEBUG(4913): signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
11-24 09:35:11.518: A/DEBUG(4913):     x0  0000000000000000  x1  0000000000000d60  x2  0000000000000006  x3  0000007a52c3a380
11-24 09:35:11.518: A/DEBUG(4913):     x4  60651f7371647272  x5  60651f7371647272  x6  60651f7371647272  x7  7f7f7f7f7f7f7f7f
11-24 09:35:11.518: A/DEBUG(4913):     x8  00000000000000f0  x9  528a70e676eee5e2  x10 0000000000000000  x11 ffffff80fffffbdf
11-24 09:35:11.518: A/DEBUG(4913):     x12 0000000000000001  x13 0000000000000030  x14 0000007a52c39c98  x15 0000000034155555
11-24 09:35:11.518: A/DEBUG(4913):     x16 0000007de8ba6060  x17 0000007de8b82560  x18 0000007a4b690000  x19 0000000000000d3c
11-24 09:35:11.518: A/DEBUG(4913):     x20 0000000000000d60  x21 00000000ffffffff  x22 0000007df844f878  x23 0000007df844f878
11-24 09:35:11.518: A/DEBUG(4913):     x24 0000007a52c3ad20  x25 b400007c140960d0  x26 0000000000002071  x27 0000007df844f858
11-24 09:35:11.518: A/DEBUG(4913):     x28 0000007a52c3abf0  x29 0000007a52c3a400
11-24 09:35:11.518: A/DEBUG(4913):     lr  0000007de8b3295c  sp  0000007a52c3a360  pc  0000007de8b32988  pst 0000000000001000
11-24 09:35:11.518: A/DEBUG(4913): backtrace:
11-24 09:35:11.518: A/DEBUG(4913):       #00 pc 0000000000051988  /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: 369edc656806aeaf384cbeb8f7a347af)
11-24 09:35:11.518: A/DEBUG(4913):       #01 pc 0000000000b95590  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (et_pal_abort+8) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.518: A/DEBUG(4913):       #02 pc 0000000000b95398  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (torch::executor::runtime_abort()+8) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.518: A/DEBUG(4913):       #03 pc 0000000000b71c5c  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (torch::executor::Result<torch::executor::Method>::CheckOk() const+152) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.518: A/DEBUG(4913):       #04 pc 0000000000b6e110  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (torch::executor::Result<torch::executor::Method>::get()+24) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.518: A/DEBUG(4913):       #05 pc 0000000000b6bcf4  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (executorch_jni::ExecuTorchJni::ExecuTorchJni(facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >)+2000) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #06 pc 0000000000b6b28c  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (facebook::jni::basic_strong_ref<facebook::jni::detail::HybridData, facebook::jni::LocalReferenceAllocator> facebook::jni::HybridClass<executorch_jni::ExecuTorchJni, facebook::jni::detail::BaseHybridClass>::makeCxxInstance<facebook::jni::alias_ref<_jstring*>&, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >&>(facebook::jni::alias_ref<_jstring*>&, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >&)+128) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #07 pc 0000000000b6b07c  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (executorch_jni::ExecuTorchJni::initHybrid(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >)+52) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #08 pc 0000000000b725a4  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (facebook::jni::detail::CallWithJniConversions<facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator> (*)(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >), facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator>, _jclass*, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> > >::call(_jclass*, _jstring*, facebook::jni::detail::JTypeFor<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString>, facebook::jni::JObject, void>::_javaobject*, facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator> (*)(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >))+136) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #09 pc 0000000000b6b128  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (facebook::jni::detail::FunctionWrapper<facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator> (*)(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >), _jclass*, facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> > >::call(_JNIEnv*, _jobject*, _jstring*, facebook::jni::detail::JTypeFor<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString>, facebook::jni::JObject, void>::_javaobject*, facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator> (*)(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >))+72) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #10 pc 0000000000b6a718  /data/app/~~EP6W7rRpxDRUJZTsW7stdw==/com.android.contextq-_b84xlB4uDtvXTEvpbpsIw==/base.apk!libexecutorchdemo.so (facebook::jni::detail::FunctionWrapperWithJniEntryPoint<facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator> (*)(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >), &(executorch_jni::ExecuTorchJni::initHybrid(facebook::jni::alias_ref<_jclass*>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> >)), _jclass*, facebook::jni::basic_strong_ref<facebook::jni::detail::JTypeFor<facebook::jni::detail::HybridData, facebook::jni::JObject, void>::_javaobject*, facebook::jni::LocalReferenceAllocator>, facebook::jni::alias_ref<_jstring*>, facebook::jni::alias_ref<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString> > >::call(_JNIEnv*, _jobject*, _jstring*, facebook::jni::detail::JTypeFor<facebook::jni::JMap<facebook::jni::JString, facebook::jni::JString>, facebook::jni::JObject, void>::_javaobject*)+52) (BuildId: 8065dc692f8e345f80fe49a1f2162d7e784b3499)
11-24 09:35:11.519: A/DEBUG(4913):       #11 pc 000000000034aa30  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #12 pc 0000000000334280  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #13 pc 00000000005111fc  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+2364) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #14 pc 000000000049e470  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1840) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #15 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #16 pc 0000000000042ae0  /data/data/com.android.contextq/code_cache/.overlay/base.apk/classes11.dex (com.example.executorchdemo.executor.NativePeer.<init>+0)
11-24 09:35:11.519: A/DEBUG(4913):       #17 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #18 pc 0000000000511d44  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #19 pc 000000000049e538  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+2040) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #20 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #21 pc 0000000000042a48  /data/data/com.android.contextq/code_cache/.overlay/base.apk/classes11.dex (com.example.executorchdemo.executor.Module.load+0)
11-24 09:35:11.519: A/DEBUG(4913):       #22 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #23 pc 0000000000511d44  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #24 pc 000000000049e470  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1840) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #25 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #26 pc 0000000000042a2c  /data/data/com.android.contextq/code_cache/.overlay/base.apk/classes11.dex (com.example.executorchdemo.executor.Module.load+0)
11-24 09:35:11.519: A/DEBUG(4913):       #27 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #28 pc 0000000000511d44  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #29 pc 000000000049e470  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1840) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #30 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #31 pc 000000000000d4f0  /data/data/com.android.contextq/code_cache/.overlay/base.apk/classes15.dex (com.android.contextq.neuralnetwork.NeuralNetworkService.neuralNetworkloadAndRunPytorch+0)
11-24 09:35:11.519: A/DEBUG(4913):       #32 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #33 pc 0000000000511d44  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #34 pc 000000000049e470  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1840) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #35 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #36 pc 0000000000007d44  /data/data/com.android.contextq/code_cache/.overlay/base.apk/classes15.dex (com.android.contextq.neuralnetwork.NeuralNetworkService$NeuralNetworkServiceRunnable.run+0)
11-24 09:35:11.519: A/DEBUG(4913):       #37 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #38 pc 0000000000511d44  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #39 pc 000000000049efac  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4716) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #40 pc 000000000034d1d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #41 pc 000000000000308c  [anon:dalvik-/apex/com.android.art/javalib/core-oj.jar-transformed] (java.lang.Thread.run+0)
11-24 09:35:11.519: A/DEBUG(4913):       #42 pc 0000000000378bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.11907307138045539842)+232) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #43 pc 00000000003784a8  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+964) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #44 pc 000000000034ab68  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #45 pc 0000000000333fa4  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #46 pc 000000000023e4d4  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #47 pc 0000000000539a3c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
11-24 09:35:11.519: A/DEBUG(4913):       #48 pc 00000000000b6a24  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 369edc656806aeaf384cbeb8f7a347af)
11-24 09:35:11.519: A/DEBUG(4913):       #49 pc 00000000000532bc  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 369edc656806aeaf384cbeb8f7a347af)
11-24 09:35:11.533: E/tombstoned(687): Tombstone written to: tombstone_16

@adonnini
Copy link
Author

adonnini commented Nov 26, 2023

Some thoughts about this latest problem.
Based on some research I did,
Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3424 (Thread-2), pid 3388 (lNetworkService)
seems to indicate that the system stooped execution due to either:

  1. low memory (I checked with the app running, there appears to be plentiy)
  2. An operation taking too long in the UI thread. The executorch related code runs in a service which is a separate process from the main app where the the UI thread runs.

By the way, when using pytorch mobile to run inference using the same model no such problme occurs.

What do you think? Did you get a chance to take a look at the logcat in the preceding comment?

Thanks

@adonnini
Copy link
Author

I opened
#1287
for the
"Missing operator: [4] aten::native_dropout.out"
issue

@SS-JIA SS-JIA added the triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module label Dec 15, 2023
@mergennachin
Copy link
Contributor

@adonnini Can this issue be closed now? Please reopen if the issue is still persisting

@adonnini
Copy link
Author

@mergennachin Yes, Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Not as big of a feature, but technically not a bug. Should be easy to fix module: runtime Issues related to the core runtime and code under runtime/ triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module
Projects
None yet
Development

No branches or pull requests

6 participants