Title: Fix lock deadlocks, production NPE, connection leaks, and log typo by kasnder · Pull Request #539 · TrackerControl/tracker-control-android · GitHub
Open Graph Title: Fix lock deadlocks, production NPE, connection leaks, and log typo by kasnder · Pull Request #539 · TrackerControl/tracker-control-android
X Title: Fix lock deadlocks, production NPE, connection leaks, and log typo by kasnder · Pull Request #539 · TrackerControl/tracker-control-android
Description: Wrap all lock.readLock/writeLock operations in try-finally blocks in ServiceSinkhole to prevent permanent deadlocks if exceptions occur while locks are held (e.g. during DB access in blockKnownTracker). Also fixes prepareHostsBlocked where unlock() ran unconditionally even when the lock was never acquired due to early return. Replace disabled assert + chained NPE in tracker logcat logging: assert is a no-op in production Android, and ipToHost.get(daddr) can return null, causing a crash when log_logcat is enabled. Fix copy-paste bug in ActivityMain.onActivityResult logging requestCode instead of resultCode. Add HttpURLConnection.disconnect() in finally blocks in Common.kt and Util.java to prevent socket leaks on repeated network calls. Move svg.renderToPicture() off the main thread in CountriesFragment; it was executing inside View.post() which runs on the UI thread. https://claude.ai/code/session_011HzyMPo2gd34cnXG4EWLYj
Open Graph Description: Wrap all lock.readLock/writeLock operations in try-finally blocks in ServiceSinkhole to prevent permanent deadlocks if exceptions occur while locks are held (e.g. during DB access in blockKnownTrac...
X Description: Wrap all lock.readLock/writeLock operations in try-finally blocks in ServiceSinkhole to prevent permanent deadlocks if exceptions occur while locks are held (e.g. during DB access in blockKnownTrac...
Opengraph URL: https://github.com/TrackerControl/tracker-control-android/pull/539
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:18312fbe-c439-b116-3d49-c54cc3836d8c |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 928E:2044BB:C8F933:118F574:6A4BE88E |
| html-safe-nonce | 3b60e5d7612717e8d7bd20751d468c8a3251b0ab4f1df4bedfd8863904924112 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MjhFOjIwNDRCQjpDOEY5MzM6MTE4RjU3NDo2QTRCRTg4RSIsInZpc2l0b3JfaWQiOiIxMTAxNTYyMTQ1NzMwNzE3ODM4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 61cd204961161f9cfb419c981a8a05bb469fa59ba879936f4ee51bec2caf9b0b |
| hovercard-subject-tag | pull_request:3487539264 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/TrackerControl/tracker-control-android/pull/539/files |
| twitter:image | https://avatars.githubusercontent.com/u/5175206?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/5175206?s=400&v=4 |
| og:image:alt | Wrap all lock.readLock/writeLock operations in try-finally blocks in ServiceSinkhole to prevent permanent deadlocks if exceptions occur while locks are held (e.g. during DB access in blockKnownTrac... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 0f5d3ba365b3985d75c32a5957c8635488d58dcf027ae6ae958eee7edaa306a2 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/TrackerControl/tracker-control-android git https://github.com/TrackerControl/tracker-control-android.git |
| octolytics-dimension-user_id | 81009368 |
| octolytics-dimension-user_login | TrackerControl |
| octolytics-dimension-repository_id | 220825189 |
| octolytics-dimension-repository_nwo | TrackerControl/tracker-control-android |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 220825189 |
| octolytics-dimension-repository_network_root_nwo | TrackerControl/tracker-control-android |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | f24da9b76b42d77b0bb458f810509565e9ba5f1a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width