element-android icon indicating copy to clipboard operation
element-android copied to clipboard

Element shortcut bitmaps fill up device storage

Open catfromplan9 opened this issue 3 years ago • 19 comments

When I installed element and used it, system storage space (logs?) grew by several gb and after a few hours took up the entire system storage. To free up the space, I have to reboot and then click on element where it'll lag on the splash screen and presumably clear logs, only actually opening when the storage space is freed.

catfromplan9 avatar Dec 13 '22 17:12 catfromplan9

This sounds quite concerning, and I can't find a way to reproduce it myself. Also, by our setup, the maximum disk space logs should take is 750MB if extended logs options is enabled, 140MB otherwise.

If this is always reproducible on your end, could I ask you to:

  1. Verify that the app size is growing in "Settings app > Applications > Element Android".
  2. Describe what your usage is, if you have something enabled in Labs. This could help us pinpoint the feature that is causing your issues.
  3. Send a rageshake so we can take a look at the logs and try to find anything suspicious by either selecting 'Bug report' in the extended menu (3 dots icon) in the main screen or firmly shaking your phone.

jmartinesp avatar Dec 20 '22 08:12 jmartinesp

This sounds quite concerning, and I can't find a way to reproduce it myself. Also, by our setup, the maximum disk space logs should take is 750MB if extended logs options is enabled, 140MB otherwise.

If this is always reproducible on your end, could I ask you to:

1. Verify that the app size is growing in "Settings app > Applications > Element Android".

2. Describe what your usage is, if you have something enabled in Labs. This could help us pinpoint the feature that is causing your issues.

3. Send a rageshake so we can take a look at the logs and try to find anything suspicious by either selecting 'Bug report' in the extended menu (3 dots icon) in the main screen or firmly shaking your phone.

Might not be element? The app size does not increase but when I use element the system storage size increases

catfromplan9 avatar Dec 23 '22 16:12 catfromplan9

A friend had the same issue and it applied to system storage as well, he was using stock android on a pixel phone. Starting to think it could be a memory leak or something that's causing a shitload of error/warning logs to be generated by the OS which then gets stored in system space? Just an idea

catfromplan9 avatar Jan 18 '23 09:01 catfromplan9

And I did notice that out of all apps Element is the slowest. Very unresponsive on a Pixel 5a, can be borderline unusable at times and when i have Element and SchildiChat both open my phone lags so much that the keyboard will often freeze for seconds at a time and i have to kill one. Have to run it in Unlimited battery mode as well or its also slower.

catfromplan9 avatar Jan 18 '23 09:01 catfromplan9

Are you using the F-Droid version? If you are, the problem might be related to this issue: https://github.com/vector-im/element-android/issues/5244.

You can set up UnifiedPush by downloading the ntfy app and changing the 'Notification method' in Settings > Notifications to 'ntfy'.

jmartinesp avatar Jan 18 '23 13:01 jmartinesp

Are you using the F-Droid version? If you are, the problem might be related to this issue: #5244.

You can set up UnifiedPush by downloading the ntfy app and changing the 'Notification method' in Settings > Notifications to 'ntfy'.

I disabled notifications

catfromplan9 avatar Jan 28 '23 12:01 catfromplan9

I believe it is due to /data/system_ce/0/shortcut_service/bitmaps/im.vector.app growing. It starts at 0mb when i boot my device but after a couple days of uptime it has grown to 8gb now

catfromplan9 avatar Oct 11 '25 04:10 catfromplan9

I believe it is due to /data/system_ce/0/shortcut_service/bitmaps/im.vector.app growing. It starts at 0mb when i boot my device but after a couple days of uptime it has grown to 8gb now

This is purely just ~100kb PNGs, it's difficult to even ls it.

catfromplan9 avatar Oct 11 '25 04:10 catfromplan9

For now, I have done the following:

am force-stop im.vector.app
rm -rf /data/system_ce/0/shortcut_service/bitmaps/im.vector.app/*
chattr +i /data/system_ce/0/shortcut_service/bitmaps/im.vector.app

But a real solution is important. An option to disable element from doing any sort of shortcut service stuff would be good, alongside a rework of the shortcut system's aggressive bitmap caching since it is clearly severely broken at the moment.

catfromplan9 avatar Oct 11 '25 04:10 catfromplan9

@bmarty @ganfra

catfromplan9 avatar Oct 20 '25 03:10 catfromplan9

For now, I have done the following:

am force-stop im.vector.app
rm -rf /data/system_ce/0/shortcut_service/bitmaps/im.vector.app/*
chattr +i /data/system_ce/0/shortcut_service/bitmaps/im.vector.app

But a real solution is important. An option to disable element from doing any sort of shortcut service stuff would be good, alongside a rework of the shortcut system's aggressive bitmap caching since it is clearly severely broken at the moment.

After doing this, no issues anymore

catfromplan9 avatar Oct 20 '25 03:10 catfromplan9

It may or may not be related, but we do have some insanely large rageshakes from Element Android: https://github.com/element-hq/element-android/issues/9096

richvdh avatar Nov 03 '25 11:11 richvdh

It may or may not be related, but we do have some insanely large rageshakes from Element Android: #9096

Yes, element android often likes to crash. That has nothing to do with this problem, as I have, with root access fixed the problem and still get those crashes. This problem is still not fixed in latest release, affects everyone, ruins your phone NAND. I have explained what the culprit is, I would hope that a bugfix can be made for this soon.

catfromplan9 avatar Nov 03 '25 16:11 catfromplan9

Sounds like you don't think that the problem is the size of the logs? In which case, maybe update the issue title so that other people like me don't think this is an issue about ... the size of the logs?

richvdh avatar Nov 04 '25 12:11 richvdh

Sounds like you don't think that the problem is the size of the logs? In which case, maybe update the issue title so that other people like me don't think this is an issue about ... the size of the logs?

I'll update issue title, i only just now figured out what causes this. It's not a suspicion either, the dir bloating up is exclusively for bitmaps as i explained

catfromplan9 avatar Nov 04 '25 14:11 catfromplan9

I took a look at Android's source code and I may be mistaken, but I haven't seen anything that removes the bitmaps for shortcuts in an app other than actually uninstalling the app (the code is around here).

That, plus the fact that bitmaps for conversations are apparently saved using the current timestamp makes it impossible to replace existing icons.

I'm incredibly surprised this hasn't popped up in any other apps, it doesn't even return any results when looking for similar issues on the internet. Maybe we're creating new shortcuts way too frequently, which creates new bitmaps in turn... or maybe the type of shortcuts we create can only be disabled and not removed, which would also remove the icon.

Since the app is in maintenance mode, I can't promise we'll fix this soon, but it seems like an important enough issue and I'll try to raise it for our next planning.

jmartinesp avatar Nov 04 '25 16:11 jmartinesp

I took a look at Android's source code and I may be mistaken, but I haven't seen anything that removes the bitmaps for shortcuts in an app other than actually uninstalling the app (the code is around here).

That, plus the fact that bitmaps for conversations are apparently saved using the current timestamp makes it impossible to replace existing icons.

I'm incredibly surprised this hasn't popped up in any other apps, it doesn't even return any results when looking for similar issues on the internet. Maybe we're creating new shortcuts way too frequently, which creates new bitmaps in turn... or maybe the type of shortcuts we create can only be disabled and not removed, which would also remove the icon.

Since the app is in maintenance mode, I can't promise we'll fix this soon, but it seems like an important enough issue and I'll try to raise it for our next planning.

Thanks! Everyone I know who uses the element android app had this issue, and I've had it on both my android phones running different roms. It might help if I mentioned that I have element in unrestricted battery mode, but otherwise my settings are pretty normal.

catfromplan9 avatar Nov 04 '25 17:11 catfromplan9

Just to add more context on this, each time the room list emits new items (this includes navigating to any room), a new set of bitmaps are added:

# First launch
cepheus:/ # ls /data/system_ce/0/shortcut_service/bitmaps/im.vector.app.debug/
1762292204384.png  1762292204449.png  1762292204495.png  1762292204549.png  1762292204599.png  1762292205170.png  1762292205236.png  1762292205287.png  1762292205353.png  1762292205392.png
1762292204405.png  1762292204470.png  1762292204508.png  1762292204574.png  1762292205124.png  1762292205201.png  1762292205265.png  1762292205301.png  1762292205366.png
1762292204422.png  1762292204482.png  1762292204522.png  1762292204587.png  1762292205153.png  1762292205225.png  1762292205275.png  1762292205327.png  1762292205378.png
# After restart
cepheus:/ # ls /data/system_ce/0/shortcut_service/bitmaps/im.vector.app.debug/
1762292204384.png  1762292204470.png  1762292204522.png  1762292204599.png  1762292205201.png  1762292205275.png  1762292205353.png  1762292486812.png  1762292486863.png  1762292486904.png  1762292486951.png
1762292204405.png  1762292204482.png  1762292204549.png  1762292205124.png  1762292205225.png  1762292205287.png  1762292205366.png  1762292486826.png  1762292486874.png  1762292486915.png  1762292486961.png
1762292204422.png  1762292204495.png  1762292204574.png  1762292205153.png  1762292205236.png  1762292205301.png  1762292205378.png  1762292486835.png  1762292486890.png  1762292486930.png  1762292486969.png
1762292204449.png  1762292204508.png  1762292204587.png  1762292205170.png  1762292205265.png  1762292205327.png  1762292205392.png  1762292486849.png  1762292486896.png  1762292486944.png

I tried creating shortcuts in a sample project and it displayed this same behaviour, no icons are ever removed, so I opened an issue in the google issue tracker: https://issuetracker.google.com/issues/457866786

jmartinesp avatar Nov 05 '25 07:11 jmartinesp

Just to add more context on this, each time the room list emits new items (this includes navigating to any room), a new set of bitmaps are added:

# First launch
cepheus:/ # ls /data/system_ce/0/shortcut_service/bitmaps/im.vector.app.debug/
1762292204384.png  1762292204449.png  1762292204495.png  1762292204549.png  1762292204599.png  1762292205170.png  1762292205236.png  1762292205287.png  1762292205353.png  1762292205392.png
1762292204405.png  1762292204470.png  1762292204508.png  1762292204574.png  1762292205124.png  1762292205201.png  1762292205265.png  1762292205301.png  1762292205366.png
1762292204422.png  1762292204482.png  1762292204522.png  1762292204587.png  1762292205153.png  1762292205225.png  1762292205275.png  1762292205327.png  1762292205378.png
# After restart
cepheus:/ # ls /data/system_ce/0/shortcut_service/bitmaps/im.vector.app.debug/
1762292204384.png  1762292204470.png  1762292204522.png  1762292204599.png  1762292205201.png  1762292205275.png  1762292205353.png  1762292486812.png  1762292486863.png  1762292486904.png  1762292486951.png
1762292204405.png  1762292204482.png  1762292204549.png  1762292205124.png  1762292205225.png  1762292205287.png  1762292205366.png  1762292486826.png  1762292486874.png  1762292486915.png  1762292486961.png
1762292204422.png  1762292204495.png  1762292204574.png  1762292205153.png  1762292205236.png  1762292205301.png  1762292205378.png  1762292486835.png  1762292486890.png  1762292486930.png  1762292486969.png
1762292204449.png  1762292204508.png  1762292204587.png  1762292205170.png  1762292205265.png  1762292205327.png  1762292205392.png  1762292486849.png  1762292486896.png  1762292486944.png

I tried creating shortcuts in a sample project and it displayed this same behaviour, no icons are ever removed, so I opened an issue in the google issue tracker: https://issuetracker.google.com/issues/457866786

Well, no other app on my device has had such a problem, so this is odd. Maybe element could allow disabling the quick actions in settings? Would also disable share dialogs for people on element, but you could still share to the app and pick someone

catfromplan9 avatar Nov 05 '25 13:11 catfromplan9