Obsidian crashes when searching - Linux and Android

Steps to reproduce

On Linux if I search for a specific tag like tag: it will freeze, then come back. But a general open search will hang the app.
On Android any search will hang the app after about 20 seconds.

Did you follow the troubleshooting guide? [Y/N]

Yes, still happening in restricted mode, default theme, no snippets on both Linux and Android.

Expected result

I expected to see search results and the app to not freeze/crash. It was working before, I think my vault may have exceeded a size limit?

Actual result

Linux it hangs and sometimes comes back, other times the app is froze until restart. On Android the app crashes.

Environment

Linux

SYSTEM INFO:
	Obsidian version: v1.8.9
	Installer version: v1.8.9
	Operating system: #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 6.8.0-57-generic
	Login status: logged in
	Language: en
	Catalyst license: none
	Insider build toggle: off
	Live preview: on
	Base theme: dark
	Community theme: none
	Snippets enabled: 0
	Restricted mode: on

RECOMMENDATIONS:
	none

Android

SYSTEM INFO:
	Operating system: android 13 (Google Pixel 6)
	Obsidian version: 1.8.9 (195)
	API version: v1.8.9
	Login status: logged in
	Language: en
	Catalyst license: none
	Live preview: on
	Base theme: dark
	Community theme: none
	Snippets enabled: 0
	Restricted mode: on

RECOMMENDATIONS:
	none

Additional information

Here is adb logs from the crash on Android. In settings I see my device is running at 6.1 of 8GB of ram pretty consistently if that is of any benefit.

 04-14 06:10:32.330  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.330  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.335  I  [6269/6353] md.obsidian Forcing collection of SoftReferences for 145MB allocation
 04-14 06:10:32.335  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.341  I  [6269/6353] md.obsidian Alloc concurrent copying GC freed 2776(134KB) AllocSpace objects, 0(0B) LOS objects, 42% free, 131MB/227MB, paused 11us,17us total 5.892ms
 04-14 06:10:32.341  W  [6269/6353] md.obsidian Throwing OutOfMemoryError "Failed to allocate a 152809680 byte allocation with 100663296 free bytes and 124MB until OOM, target footprint 238149152, growth limit 268435456" (VmSize 32848376 kB)
 04-14 06:10:32.341  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.341  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.344  I  [6269/6353] md.obsidian Forcing collection of SoftReferences for 145MB allocation
 04-14 06:10:32.344  I  [6269/6353] md.obsidian Starting a blocking GC Alloc
 04-14 06:10:32.351  I  [6269/6353] md.obsidian Alloc concurrent copying GC freed 33(32KB) AllocSpace objects, 0(0B) LOS objects, 42% free, 131MB/227MB, paused 13us,23us total 6.680ms
 04-14 06:10:32.351  W  [6269/6353] md.obsidian Throwing OutOfMemoryError "Failed to allocate a 152809680 byte allocation with 100663296 free bytes and 124MB until OOM, target footprint 238132544, growth limit 268435456" (VmSize 32848376 kB)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime FATAL EXCEPTION: CapacitorPlugins
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime Process: md.obsidian, PID: 6269
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.getcapacitor.h.P(SourceFile:27)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.getcapacitor.h.a(SourceFile:1)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.getcapacitor.c.run(SourceFile:1)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at android.os.Handler.handleCallback(Handler.java:942)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at android.os.Handler.dispatchMessage(Handler.java:99)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at android.os.Looper.loopOnce(Looper.java:201)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at android.os.Looper.loop(Looper.java:288)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at android.os.HandlerThread.run(HandlerThread.java:67)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime Caused by: java.lang.reflect.InvocationTargetException
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at java.lang.reflect.Method.invoke(Native Method)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.getcapacitor.Y.g(SourceFile:30)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.getcapacitor.h.P(SourceFile:1)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      ... 7 more
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime Caused by: java.lang.OutOfMemoryError: Failed to allocate a 152809680 byte allocation with 100663296 free bytes and 124MB until OOM, target footprint 238132544, growth limit 268435456
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at java.lang.StringFactory.newStringFromUtf8Bytes(Native Method)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at java.lang.StringFactory.newStringFromBytes(StringFactory.java:80)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at java.lang.StringFactory.newStringFromBytes(StringFactory.java:61)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at java.io.ByteArrayOutputStream.toString(ByteArrayOutputStream.java:278)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.capacitorjs.plugins.filesystem.a.m(SourceFile:22)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.capacitorjs.plugins.filesystem.a.k(SourceFile:11)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      at com.capacitorjs.plugins.filesystem.FilesystemPlugin.readFile(SourceFile:68)
 04-14 06:10:32.365  E  [6269/6353] AndroidRuntime      ... 10 more
 04-14 06:10:32.373  W  [1360/14575] ActivityTaskManager   Force finishing activity md.obsidian/.MainActivity
 04-14 06:10:32.385  I  [6269/6353] Process  Sending signal. PID: 6269 SIG: 9
 04-14 06:10:32.482  I  [1360/14575] ActivityManager Process md.obsidian (pid 6269) has died: fg  TOP 

Well I could not leave this alone and started hunting for larger than normal files. Found a 70mb file that had lots of HTML in it from a recent project that had an error and it all got dumped into this file. I removed that file and now search seems to be working as expected on Linux and Android.