AmazeFileManager
AmazeFileManager copied to clipboard
FTP server crashes with `CoderMalfunctionError: IllegalArgumentException`.
What The Problem Is
Exception
- App Name: Amaze File Manager
- Package: com.amaze.filemanager
- Version: 3.10
- User Action: UI Error
- Request: Application crash
- OS: Linux Android 14 - 34
- Device: FP5
- Model: FP5
- Product: FP5
Crash log
java.nio.charset.CoderMalfunctionError: java.lang.IllegalArgumentException: newPosition > limit: (55 > 37) at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:624) at org.apache.mina.core.buffer.AbstractIoBuffer.putString(AbstractIoBuffer.java:1811) at org.apache.ftpserver.listener.nio.FtpResponseEncoder.encode(FtpResponseEncoder.java:49) at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:299) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:629) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:957) at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:84) at org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:135) at org.apache.mina.filter.util.CommonEventFilter.filterWrite(CommonEventFilter.java:80) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:629) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:957) at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:123) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:629) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:957) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:881) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:629) at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:622) at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:574) at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:519) at org.apache.ftpserver.impl.FtpIoSession.write(FtpIoSession.java:530) at org.apache.ftpserver.command.impl.CWD.execute(CWD.java:79) at org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:211) at org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:62) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:858) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947) at org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947) at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) at org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:135) at org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947) at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:398) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:234) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947) at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:770) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:762) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:704) at java.lang.Thread.run(Thread.java:1012) Caused by: java.lang.IllegalArgumentException: newPosition > limit: (55 > 37) at java.nio.Buffer.createPositionException(Buffer.java:353) at java.nio.Buffer.position(Buffer.java:328) at java.nio.CharBuffer.position(CharBuffer.java:1651) at com.android.icu.charset.CharsetEncoderICU.setPosition(CharsetEncoderICU.java:251) at com.android.icu.charset.CharsetEncoderICU.encodeLoop(CharsetEncoderICU.java:189) at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:622) ... 50 more
How To Reproduce
-
Accessed “FTP Server” (from the navigation pane).
-
Disabled “Secure Connection” (because FTPS isn't RFC-standard). ^1
-
Connected via
dolphin-25.04.0-3.fc42.x86_64, augmented withkio-ftps-0.2-32.fc42.x86_64:Name : kio-ftps Epoch : 0 Version : 0.2 Release : 32.fc42 Architecture : x86_64 Installed size : 194.0 KiB Source : kio-ftps-0.2-32.fc42.src.rpm From repository : <unknown> URL : http://kasablanca.berlios.de/kio-ftps/ Description : An ftps KIO slave for KDE, based on rfc4217. Vendor : Fedora ProjectI connected to it from both my client, and a VM running on that client.
Expected behavior
It shouldn't crash.
Screenshots
My Environment
-
The Hardware
[ro.product.brand]: [Fairphone] [ro.build.product]: [FP5] -
The OS
[ro.build.version.release]: [14] [ro.build.display.id]: [FP5.UT2M.B.113.20250319] -
Whether Rooted
No.
-
The Version Of The Application
sourcePackage=com.amaze.filemanager versionName=3.10
Additional context
https://github.com/zhanghai/MaterialFiles/issues/1422#issue-3049164755 occurred afterward, its circumstances similar.
ping @TranceLove