TeamAmaze / TeamAmaze/AmazeFileManager

Attempt to move file over SFTP fails

Open
#3,628 3 comments 2 reactions 1 assignee View on GitHub

@TranceLove is already working on this.

Since Nov 20, 2022.

Area-Ssh/Scp/Sftp Issue-Bug
Dominant language
Kotlin
Stars
6.4k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
1

Description

Describe the bug
When I am using SFTP without accessing an NFS filesystem (see #3626), I run into this issue instead. Any attempt to move a file appears to cause some kind of crash - the SFTP connection apparently closes and all folders report "No Files". An exception from "Bundle" is always logged when this happens. This does not happen when I attempt to copy a file instead.

To Reproduce
Steps to reproduce the behavior:

  1. Open an SFTP connection
  2. Browse to a location not backed by an NFS filesystem
  3. Cut a file
  4. Browse to a different directory on the SFTP connection and paste the file
  5. Amaze refreshes and displays "No Files". An exception is printed to logcat
  6. All attempts to browse the SFTP connection now display "No Files", and the SFTP connection cannot be used until closing and reopening the app
  7. The file has not actually moved according to the server

Expected behavior
I would expect the file to be moved, and to be able to continue to use the SFTP connection.

Smartphone

  • Device: Google Pixel 5a
  • OS: Android 13
  • Rooted: Yes, Magisk
  • Version: 3.8.2

Additional context
This is the exception that appears in logcat:

11-13 16:47:24.358 20885 20885 W Bundle  : Key failedOps expected ArrayList<java.lang.String> but value was of a different type.  The default value <null> was returned.
11-13 16:47:24.358 20885 20885 W Bundle  : Attempt to cast generated internal exception:
11-13 16:47:24.358 20885 20885 W Bundle  : android.os.BadTypeParcelableException: Parcelable creator com.amaze.filemanager.filesystem.HybridFileParcelable is not a subclass of required class java.lang.String provided in the parameter
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readParcelableCreatorInternal(Parcel.java:4852)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readParcelableInternal(Parcel.java:4763)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readValue(Parcel.java:4529)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readValue(Parcel.java:4312)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readListInternal(Parcel.java:5273)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readArrayListInternal(Parcel.java:5292)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readValue(Parcel.java:4559)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.readValue(Parcel.java:4312)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel$LazyValue.apply(Parcel.java:4407)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Parcel$LazyValue.apply(Parcel.java:4366)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.BaseBundle.getValueAt(BaseBundle.java:394)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.BaseBundle.getValue(BaseBundle.java:374)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.BaseBundle.getArrayList(BaseBundle.java:1483)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.BaseBundle.getStringArrayList(BaseBundle.java:1513)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Bundle.getStringArrayList(Bundle.java:1190)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.content.Intent.getStringArrayListExtra(Intent.java:9038)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at com.amaze.filemanager.ui.activities.MainActivity$3.onReceive(MainActivity.java:1942)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1790)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run(Unknown Source:2)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Handler.handleCallback(Handler.java:942)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Looper.loopOnce(Looper.java:201)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.os.Looper.loop(Looper.java:288)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at android.app.ActivityThread.main(ActivityThread.java:7898)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at java.lang.reflect.Method.invoke(Native Method)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
11-13 16:47:24.358 20885 20885 W Bundle  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
11-13 16:47:24.406  3131  3181 W Parcel  : Expecting binder but got null!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.