AmazeFileManager icon indicating copy to clipboard operation
AmazeFileManager copied to clipboard

FTPS server crashing intermittently with IllegalArgumentException

Open Sniper296 opened this issue 8 months ago • 2 comments

Issue explanation (write below this line)

Intermittently reproducible FTP server crashing.

Exception

  • App Name: Amaze File Manager
  • Package: com.amaze.filemanager
  • Version: 3.10
  • User Action: UI Error
  • Request: Application crash
  • OS: Linux Nokia/ScarletWitch_00EEA/SCW_sprout:13/TKQ1.220807.001/00WW_3_400:user/release-keys 13 - 33
  • Device: SCW_sprout
  • Model: Nokia X10
  • Product: ScarletWitch_00EEA
Crash log

java.nio.charset.CoderMalfunctionError: java.lang.IllegalArgumentException: uSource failed: U_ILLEGAL_ARGUMENT_ERROR
	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.PBSZ.execute(PBSZ.java:49)
	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: uSource failed: U_ILLEGAL_ARGUMENT_ERROR
	at com.android.icu.charset.NativeConverter.encode(Native Method)
	at com.android.icu.charset.CharsetEncoderICU.encodeLoop(CharsetEncoderICU.java:174)
	at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:622)
	... 50 more


To Reproduce Steps to reproduce the behavior:

  1. Open the FTP tab
  2. Enable Secure Connection
  3. Open FileZilla on Linux or Windows
  4. Quick connect to ftps://[ip] port [port number]
  5. Drag and drop a selection of files to or from the Android device
  6. Sometimes it'll crash

Expected behavior Files to transfer without crashing or corruption.

Smartphone (please complete the following information):

  • Device: Nokia X10
  • OS: Android 13
  • Rooted: No
  • Version: 3.10

Additional context Crashing is intermittent and typically happening when transferring multiple files together. OS doesn't appear to matter, as it happens on a Linux or Windows client.

Last entries of FileZilla:

15:12:19	Status:	Connecting to [ip]:[port number]...
15:12:19	Status:	Connection established, initializing TLS...
15:12:20	Status:	TLS connection established, waiting for welcome message...
15:12:20	Status:	Logged in
15:12:20	Status:	Retrieving directory listing...
15:12:21	Status:	Directory listing of "/" successful
15:12:24	Status:	Retrieving directory listing of "/DCIM"...
15:12:24	Status:	Directory listing of "/DCIM" successful
15:12:25	Status:	Retrieving directory listing of "/"...
15:12:25	Status:	Directory listing of "/" successful
15:12:27	Status:	Retrieving directory listing of "/Pictures"...
15:12:27	Status:	Directory listing of "/Pictures" successful
15:12:33	Status:	Retrieving directory listing of "/Pictures/Screenshots"...
15:12:33	Status:	Directory listing of "/Pictures/Screenshots" successful
15:12:41	Status:	Connecting to [ip]:[port number]...
15:12:41	Status:	Connecting to [ip]:[port number]...
15:12:41	Status:	Connection established, initializing TLS...
15:12:41	Status:	Connection established, initializing TLS...
15:12:41	Status:	TLS connection established, waiting for welcome message...
15:12:41	Status:	TLS connection established, waiting for welcome message...
15:12:41	Status:	Logged in
15:12:41	Status:	Starting download of /Pictures/Screenshots/Screenshot_20250512-151146.png
15:12:41	Status:	File transfer successful, transferred 36.62 KiB in 1 second
15:12:41	Error:	GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
15:12:41	Status:	Server did not properly shut down TLS connection
15:12:41	Error:	Could not read from socket: ECONNABORTED - Connection aborted
15:12:41	Error:	Disconnected from server
15:12:41	Error:	GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
15:12:41	Status:	Server did not properly shut down TLS connection
15:12:41	Error:	Could not read from socket: ECONNABORTED - Connection aborted
15:12:41	Error:	Disconnected from server
15:12:41	Response:	220 Service ready for new user.
15:12:41	Command:	USER anonymous
15:12:41	Response:	331 Guest login okay, send your complete e-mail address as password.
15:12:41	Command:	PASS *********************
15:12:41	Response:	230 User logged in, proceed.
15:12:41	Command:	OPTS UTF8 ON
15:12:41	Response:	200 Command OPTS okay.
15:12:41	Command:	PBSZ 0
15:12:41	Error:	GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
15:12:41	Status:	Server did not properly shut down TLS connection
15:12:41	Error:	Could not read from socket: ECONNABORTED - Connection aborted
15:12:41	Error:	Could not connect to server

Possible duplicate of #4398, but with FTPS and FileZilla as client.

Sniper296 avatar May 12 '25 14:05 Sniper296

Related #4398, not the same.

EmmanuelMess avatar May 12 '25 15:05 EmmanuelMess