Special Characters in Attachment Name
Seems like the special characters in a image attachment are causing problems when SMART tries to process the data queue item.
Emily's initial assement: "zip files probably don't support special characters. We can do some testing - I suggest making a ticket. This probably has wide-ranging effects as it effects all files in the system."
Leave a comment
From the connect server:
SEVERE: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/ad6c0ea315c7425c98c12f4a3239c1bf/F1-carriqui de monta?a.JPG
java.sql.SQLException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/ad6c0ea315c7425c98c12f4a3239c1bf/F1-carriqui de monta?a.JPG
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:100)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:54)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1943)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1940)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:293)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1961)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1947)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer.processFile(ChangeLogDeserializer.java:62)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFile(PostgresqlChangeLogDeserializer.java:57)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.applyChangeLog(PostgresqlSyncProcessor.java:147)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.processFile(PostgresqlSyncProcessor.java:136)
at org.wcs.smart.connect.uploader.sync.SyncUploadCaProcessor.processItem(SyncUploadCaProcessor.java:89)
at org.wcs.smart.connect.uploader.ItemProcessManager.processItem(ItemProcessManager.java:77)
at org.wcs.smart.connect.uploader.UploaderProcessor.run(UploaderProcessor.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/ad6c0ea315c7425c98c12f4a3239c1bf/F1-carriqui de monta?a.JPG
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFileInsert(PostgresqlChangeLogDeserializer.java:89)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:94)
... 20 more
I tested out attachments with special characters without any issues.
This user was using an odd collection of SMART Desktop v4 with a Connect server using smart 4.0 jar files which may have lead to the problem. Once they resolve their version issues they should retest and let us know if they continue to have problems.
This user was using an odd collection of SMART Desktop v4 with a Connect server using smart 4.0 jar files which may have lead to the problem. Once they resolve their version issues they should retest and let us know if they continue to have problems.
We got the version issues fixed and the above error occurs again on the attachment filename with a special character in it:
Sep 21, 2018 9:29:18 PM org.wcs.smart.connect.uploader.sync.SyncUploadCaProcessor processItem
SEVERE: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
java.sql.SQLException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:103)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:54)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1943)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1940)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:293)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1961)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1947)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer.processFile(ChangeLogDeserializer.java:65)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFile(PostgresqlChangeLogDeserializer.java:59)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.applyChangeLog(PostgresqlSyncProcessor.java:147)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.processFile(PostgresqlSyncProcessor.java:136)
at org.wcs.smart.connect.uploader.sync.SyncUploadCaProcessor.processItem(SyncUploadCaProcessor.java:89)
at org.wcs.smart.connect.uploader.ItemProcessManager.processItem(ItemProcessManager.java:77)
at org.wcs.smart.connect.uploader.UploaderProcessor.run(UploaderProcessor.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFileInsert(PostgresqlChangeLogDeserializer.java:91)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:97)
... 20 more
Sep 21, 2018 9:29:18 PM org.wcs.smart.connect.uploader.sync.SyncUploadCaProcessor processItem
SEVERE: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
java.sql.SQLException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:103)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:54)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1943)
at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:1940)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:293)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1961)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:1947)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer.processFile(ChangeLogDeserializer.java:65)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFile(PostgresqlChangeLogDeserializer.java:59)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.applyChangeLog(PostgresqlSyncProcessor.java:147)
at org.wcs.smart.connect.uploader.sync.PostgresqlSyncProcessor.processFile(PostgresqlSyncProcessor.java:136)
at org.wcs.smart.connect.uploader.sync.SyncUploadCaProcessor.processItem(SyncUploadCaProcessor.java:89)
at org.wcs.smart.connect.uploader.ItemProcessManager.processItem(ItemProcessManager.java:77)
at org.wcs.smart.connect.uploader.UploaderProcessor.run(UploaderProcessor.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /var/appdata/9d970e1b57f94dd58b9c8def5d9ce61c/patrol/86fc0e3d4b744cf48a0e167355cd3226/Trochas cacer?a 20-2-2018 S6.jpg
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at org.wcs.smart.connect.uploader.sync.PostgresqlChangeLogDeserializer.processFileInsert(PostgresqlChangeLogDeserializer.java:91)
at org.wcs.smart.connect.replication.changelog.ChangeLogDeserializer$1.execute(ChangeLogDeserializer.java:97)
... 20 more