|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
java.nio.invalidpathexception in MQ FTE |
« View previous topic :: View next topic » |
Author |
Message
|
petervh1 |
Posted: Fri Mar 18, 2022 3:27 am Post subject: java.nio.invalidpathexception in MQ FTE |
|
|
Centurion
Joined: 19 Apr 2010 Posts: 135
|
Hi all
MQ level p920-004-211027
I'm seeing the following when I try to transfer a file from Windows to AIX:
Code: |
Class: com.ibm.wmqfte.thread.FTEThread
Instance: e1c24039
Method: uncaughtException
Probe: ABEND_001
Cause: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /IND_share/MB/transitin/xxxxxx-'xxxxx ? COMPLETED PO
- 59615_97016223Feb22.pdf'
java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /IND_share/MB/transitin/xxxxxx-'xxxxx ? COMPLETED PO - 59615_9701
6223Feb22.pdf'
at sun.nio.fs.UnixPath.encode(UnixPath.java:162)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:86)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:294)
at java.io.File.toPath(File.java:2282)
at com.ibm.wmqfte.io.impl.FTEFileImpl.delete(FTEFileImpl.java:689)
at com.ibm.wmqfte.io.impl.FTEFileImpl.renameTo(FTEFileImpl.java:779)
at com.ibm.wmqfte.io.impl.FTEFileChannelImpl.complete(FTEFileChannelImpl.java:593)
at com.ibm.wmqfte.io.impl.FTEFileChannelImpl.close(FTEFileChannelImpl.java:528)
at com.ibm.wmqfte.transfer.frame.impl.TransferFrameReceiverImpl$ChunkProcessor.processCloseFileRequest(TransferFrameReceiverImpl.java:144)
at com.ibm.wmqfte.transfer.frame.impl.TransferFrameIOWorker.doWorkImpl(TransferFrameIOWorker.java:287)
at com.ibm.wmqfte.io.impl.FTEFileIOWorker.doWork(FTEFileIOWorker.java:118)
at com.ibm.wmqfte.io.impl.FTEFileIORequestQueue.run(FTEFileIORequestQueue.java:244)
at java.lang.Thread.run(Thread.java:825)
at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:70)
Stack ids:
com.ibm.wmqfte.io.impl.FTEFileChannelImpl.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmqfte.io/src/com/ibm/wmqfte/io/impl/
FTEFileChannelImpl.java
com.ibm.wmqfte.transfer.frame.impl.TransferFrameIOWorker.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmqfte.agent/src/com/i
bm/wmqfte/transfer/frame/impl/TransferFrameIOWorker.java
com.ibm.wmqfte.io.impl.FTEFileImpl.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmqfte.io/src/com/ibm/wmqfte/io/impl/FTEFile
Impl.java
com.ibm.wmqfte.transfer.frame.impl.TransferFrameReceiverImpl$ChunkProcessor.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmq
fte.agent/src/com/ibm/wmqfte/transfer/frame/impl/TransferFrameIOWorker.java
com.ibm.wmqfte.thread.FTEThread.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmqfte.common/src/com/ibm/wmqfte/thread/FTEThre
ad.java
com.ibm.wmqfte.io.impl.FTEFileIOWorker.$sccsid=@(#) MQMBID sn=p920-004-211027 su=_z914pTdCEeygWfM06SbNXw pn=com.ibm.wmqfte.io/src/com/ibm/wmqfte/io/impl/FTE
FileIOWorker.java
Arg[0]: Thread[FileIOWorker-1:0,5,main] |
It looks as though the problem occurs when the Windows file name contains a long en dash (Alt 0151). Tis somehow gets changed to a quesion mark in the AIX file name.
I've checked the /etc/environment file. The relevant section contains:
The output from locale -a is:
Code: |
LANG=C
LC_COLLATE="C"
LC_CTYPE="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_MESSAGES="C"
LC_ALL=
|
and the output from locale charmap is
I posted these because I was unsure as to whether I need to install a language pack.
Other file transfers work fine.
A similar file transfer using WinSCP also works fine when the Windows file has an en dash in the file name.
Thanks in advance |
|
Back to top |
|
 |
gbaddeley |
Posted: Sun Mar 20, 2022 5:00 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Its failing in a Java base class java.nio.file.
I don't think FTE/MFT can do character conversion on path names.
WinSCP is not a Java app, so its quite possible that path behavior will be different.
Change the long en dash to a normal ASCII dash. You should not use Windows special characters if the path name is going to be referenced by a FTE/MFT agent running on a UNIX platform.
Unless this usage is documented by IBM, the results may be unpredictable (fail, or changed to some other UNIX character). _________________ Glenn |
|
Back to top |
|
 |
petervh1 |
Posted: Tue Mar 22, 2022 12:16 am Post subject: |
|
|
Centurion
Joined: 19 Apr 2010 Posts: 135
|
Can you give me some kind of reference for your statement:
Quote: |
You should not use Windows special characters if the path name is going to be referenced by a FTE/MFT agent running on a UNIX platform |
I'd like to use this as evidence to my customer.
Thanks |
|
Back to top |
|
 |
gbaddeley |
Posted: Tue Mar 22, 2022 2:17 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
https://www.ibm.com/docs/en/ibm-mq/9.2?topic=commands-ftecreatetransfer-start-new-file-transfer
Quote: |
-dd destination_directory
Optional. The name of the directory the file is transferred to. Specify a valid directory name on the system where the destination agent is running. |
I interpret this to mean that the directory name (and file name) need to be valid on the destination. A directory / file name that contains Windows special characters (single byte, not ASCII, not UTF eight) will most likely not be valid on UNIX systems.
The source directory / file specification is a bit more lucid:
Quote: |
source_specification
....
Each file specification must be in one of the following categories:
File names
The name of a file, expressed in the appropriate notation for the system where the source agent is running.
....
Directories
The name of a directory, expressed in the appropriate notation for the system where the source agent is running. |
I imagine the destination specification would have similar constraints. It needs to be "appropriate" for the OS.
HTH _________________ Glenn |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|