Open grisaitis opened 23 hours ago
cc @kirklandsign
Hi @grisaitis may I ask which phone are you using and how many RAM is it?
It's not related to app/JNI, but runtime itself.
Sure - Google Pixel 8, with 8GB. Confirmed from my system settings.
Thanks so much for helping troubleshoot this! This library is amazing.
@grisaitis Thank you for the info! Do you have any lmkd
from logcat?
looks like it is a low memory issue, but i'm not sure. these are the lmkd
logcat messages right after i click the enter arrow for a prompt:
2024-09-25 10:24:19.378 495-495 lowmemorykiller lmkd I Kill 'com.google.android.apps.scone' (15964), uid 10137, oom_score_adj 500 to free 92212kB rss, 33036kB swap; reason: low watermark is breached and swap is low (712kB < 389076kB)
2024-09-25 10:24:21.869 495-495 lowmemorykiller lmkd I Kill 'com.google.android.carrier' (16153), uid 10113, oom_score_adj 905 to free 61004kB rss, 35280kB swap; reason: low watermark is breached and swap is low (0kB < 389076kB)
2024-09-25 10:24:21.887 495-495 lowmemorykiller lmkd I Kill 'com.garmin.android.apps.connectmobile' (15970), uid 10284, oom_score_adj 250 to free 178952kB rss, 32148kB swap; reason: low watermark is breached and swap is low (0kB < 389076kB)
2024-09-25 10:24:22.307 495-495 lowmemorykiller lmkd I Kill 'com.google.android.GoogleCamera' (16267), uid 10121, oom_score_adj 500 to free 107024kB rss, 34436kB swap; reason: low watermark is breached and swap is low (8kB < 389076kB)
2024-09-25 10:24:22.586 495-495 lowmemorykiller lmkd I Kill 'com.google.android.apps.scone' (16277), uid 10137, oom_score_adj 250 to free 90028kB rss, 33128kB swap; reason: low watermark is breached and swap is low (36kB < 389076kB)
2024-09-25 10:24:22.642 495-495 lowmemorykiller lmkd I Kill 'com.google.android.apps.chromecast.app' (16270), uid 10364, oom_score_adj 250 to free 140084kB rss, 34104kB swap; reason: low watermark is breached and swap is low (240kB < 389076kB)
2024-09-25 10:24:22.675 495-495 lowmemorykiller lmkd I Kill 'com.google.process.gservices' (16345), uid 10170, oom_score_adj 250 to free 68600kB rss, 34872kB swap; reason: low watermark is breached and swap is low (776kB < 389076kB)
2024-09-25 10:24:22.725 495-495 lowmemorykiller lmkd I Kill 'com.google.android.projection.gearhead:shared' (16309), uid 10159, oom_score_adj 905 to free 93804kB rss, 34260kB swap; reason: low watermark is breached and swap is low (52kB < 389076kB)
2024-09-25 10:24:22.814 495-495 lowmemorykiller lmkd I Kill 'com.google.android.carrier' (16472), uid 10113, oom_score_adj 905 to free 62372kB rss, 35496kB swap; reason: low watermark is breached and swap is low (0kB < 389076kB)
2024-09-25 10:24:22.815 495-500 lowmemorykiller lmkd E process_mrelease 16472 failed: No such process
---------------------------- PROCESS STARTED (16387) for package com.example.executorchllamademo ----------------------------
2024-09-25 10:24:22.975 495-495 lowmemorykiller lmkd I Kill 'com.google.android.projection.gearhead:car' (16505), uid 10159, oom_score_adj 905 to free 89220kB rss, 34844kB swap; reason: low watermark is breached and swap is low (7436kB < 389076kB)
2024-09-25 10:24:22.998 495-495 lowmemorykiller lmkd I Kill 'com.google.android.apps.wearables.maestro.companion' (16468), uid 10131, oom_score_adj 915 to free 81072kB rss, 34608kB swap; reason: low watermark is breached and swap is low (14652kB < 389076kB)
---------------------------- PROCESS ENDED (16387) for package com.example.executorchllamademo ----------------------------
---------------------------- PROCESS ENDED (15155) for package com.example.executorchllamademo ----------------------------
any additional tips appreciated!
PS here are all logcat messages, from adb logcat > logcat_output.txt
i asked claude to analyze the output. it suggested the error was originating in the Runner::generate
call in the native library, highlighting these three lines from the logcat output.
09-25 10:32:39.208 20618 20618 F DEBUG : #01 pc 0000000001b23e94 /data/app/~~-Z1bTFwXFcIAkEa8u0899w==/com.example.executorchllamademo-HVqGfQ-pjnutaF5__CmORw==/lib/arm64/libexecutorch.so (et_pal_abort+8) (BuildId: c27814f605859baae5b074437bc1e98d565983ea)
09-25 10:32:39.208 20618 20618 F DEBUG : #02 pc 0000000001b23ddc /data/app/~~-Z1bTFwXFcIAkEa8u0899w==/com.example.executorchllamademo-HVqGfQ-pjnutaF5__CmORw==/lib/arm64/libexecutorch.so (executorch::runtime::runtime_abort()+8) (BuildId: c27814f605859baae5b074437bc1e98d565983ea)
09-25 10:32:39.208 20618 20618 F DEBUG : #03 pc 0000000001aa15d0 /data/app/~~-Z1bTFwXFcIAkEa8u0899w==/com.example.executorchllamademo-HVqGfQ-pjnutaF5__CmORw==/lib/arm64/libexecutorch.so (example::Runner::generate(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, int, std::__ndk1::function<void (std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)>, std::__ndk1::function<void (executorch::extension::llm::Stats const&)>, bool)+2888) (BuildId: c27814f605859baae5b074437bc1e98d565983ea)
any additional tips appreciated. perhaps i should build the executorch library with logging enabled? eg with -DEXECUTORCH_ENABLE_LOGGING=1
flags added to the cmake
calls.
🐛 Describe the bug
I find that when I submit my first prompt on the demo app, the app crashes.
See this screenshot video:
hello
and press the enter buttonhttps://github.com/user-attachments/assets/ae445900-fe61-4729-a462-cf8147b0351a
This is the logcat output:
Any idea why this is happening?
Versions
PyTorch version: 2.5.0 Is debug build: False CUDA used to build PyTorch: None ROCM used to build PyTorch: N/A
OS: macOS 14.4.1 (arm64) GCC version: Could not collect Clang version: 15.0.0 (clang-1500.3.9.4) CMake version: version 3.30.3 Libc version: N/A
Python version: 3.10.0 (default, Mar 3 2022, 03:54:28) [Clang 12.0.0 ] (64-bit runtime) Python platform: macOS-14.4.1-arm64-arm-64bit Is CUDA available: False CUDA runtime version: No CUDA CUDA_MODULE_LOADING set to: N/A GPU models and configuration: No CUDA Nvidia driver version: No CUDA cuDNN version: No CUDA HIP runtime version: N/A MIOpen runtime version: N/A Is XNNPACK available: True
CPU: Apple M1
Versions of relevant libraries: [pip3] executorch==0.4.0a0+759e0c8 [pip3] numpy==1.26.4 [pip3] torch==2.5.0 [pip3] torchaudio==2.5.0 [pip3] torchsr==1.0.4 [pip3] torchvision==0.20.0 [conda] executorch 0.4.0a0+759e0c8 pypi_0 pypi [conda] numpy 1.26.4 pypi_0 pypi [conda] torch 2.5.0 pypi_0 pypi [conda] torchaudio 2.5.0 pypi_0 pypi [conda] torchsr 1.0.4 pypi_0 pypi [conda] torchvision 0.20.0 pypi_0 pypi
build settings for the app
i'm following these tutorial pages (note, these are from v0.4.0-rc2 release)