Skip to content

bug: Filesystem.stat() crashes app with content urls #308

Open
@ThomasKientz

Description

@ThomasKientz

Bug Report

Capacitor Version

npx cap doctor output:

  @capacitor/cli 2.0.1
  @capacitor/core 2.0.1
  @capacitor/android 2.0.1

Affected Platform(s)

  • Android
  • iOS
  • Electron
  • Web

Description

const data = await Filesystem.readFile({
  path,
})
const { size } = await Filesystem.stat({
  path,
})

No issues with Filesystem.readFile

With Filesystem.stat the app crashed and I got the following error in the Android Studio console

2020-04-29 17:06:28.150 6188-6388/com.boomerang.app V/Capacitor/Plugin: To native (Capacitor plugin): callbackId: 77806689, pluginId: Filesystem, methodName: stat
2020-04-29 17:06:28.150 6188-6388/com.boomerang.app V/Capacitor: callback: 77806689, pluginId: Filesystem, methodName: stat, methodData: {"path":"content:\/\/com.android.providers.media.documents\/document\/image%3A24"}
2020-04-29 17:06:28.152 6188-6340/com.boomerang.app E/Capacitor: Serious error executing plugin
    java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99)
        at com.getcapacitor.Bridge$1.run(Bridge.java:520)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
        at com.getcapacitor.plugin.Filesystem.getDirectory(Filesystem.java:67)
        at com.getcapacitor.plugin.Filesystem.getFileObject(Filesystem.java:90)
        at com.getcapacitor.plugin.Filesystem.stat(Filesystem.java:440)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 
        at com.getcapacitor.Bridge$1.run(Bridge.java:520) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.os.HandlerThread.run(HandlerThread.java:67) 
2020-04-29 17:06:28.153 6188-6340/com.boomerang.app E/AndroidRuntime: FATAL EXCEPTION: CapacitorPlugins
    Process: com.boomerang.app, PID: 6188
    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at com.getcapacitor.Bridge$1.run(Bridge.java:529)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99)
        at com.getcapacitor.Bridge$1.run(Bridge.java:520)
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.os.HandlerThread.run(HandlerThread.java:67) 
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
        at com.getcapacitor.plugin.Filesystem.getDirectory(Filesystem.java:67)
        at com.getcapacitor.plugin.Filesystem.getFileObject(Filesystem.java:90)
        at com.getcapacitor.plugin.Filesystem.stat(Filesystem.java:440)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 
        at com.getcapacitor.Bridge$1.run(Bridge.java:520) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.os.HandlerThread.run(HandlerThread.java:67) 

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions