-
-
Notifications
You must be signed in to change notification settings - Fork 131
fix: android app crash #425
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
base: main
Are you sure you want to change the base?
Conversation
|
👋 Hello @asabri97, thank you for submitting a -✅ Define a Purpose: Clearly explain the purpose of your fix or feature in your PR description, and link to any relevant issues. Ensure your commit messages are clear, concise, and adhere to the project's conventions. For more guidance, please refer to our Contributing Guide. Don't hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! 🚀 |
UltralyticsAssistant
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔍 PR Review
Made with ❤️ by Ultralytics Actions
Good targeted mitigation with @Volatile isStopped + early exits to avoid accessing cleared camera resources during teardown, and the version/changelog updates look consistent. One remaining risk: stop() can still close the predictor while an inference is already running; adding explicit coordination (lock/await termination/serialize close with inference) would make the SIGSEGV fix robust.
💬 Posted 1 inline comment
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
Fixes an Android SIGSEGV crash caused by a teardown race condition when
YOLOViewis disposed during active TensorFlow Lite inference. 🛠️📊 Key Changes
@VolatileisStoppedflag inandroid/src/main/kotlin/com/ultralytics/yolo/YOLOView.ktto guardonFrameagainst running afterstop()begins 🧵onFrame(pre-processing, post-bitmap conversion, and pre-inference) to avoid accessing released resources 🛑isStopped = trueat the start ofstop()and reset it instartCamera()to support safe restarts 🔄0.1.44and documented the fix inCHANGELOG.md📝🎯 Purpose & Impact
YOLOViewwhile inference is still running on Android 📱