View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005258 | SymmetricDS Pro | Bug | public | 2022-04-06 18:39 | 2022-04-11 19:29 |
Reporter | emiller | Assigned To | emiller | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.13.0 | ||||
Target Version | 3.13.4 | Fixed in Version | 3.13.4 | ||
Summary | 0005258: Catch exceptions when parsing an outgoing batch to view its sent data | ||||
Description | When viewing the details of an outgoing batch, its possible for an exception to be thrown after the user clicks on the Sent Data tab, which can cause problems in the UI if not caught. When parsing the batch to obtain the sent data, the data reader can throw an IOException. When this exception occurs, it should be caught and the user should be notified that the batch could not be parsed in its entirety. | ||||
Additional Information | ERROR [gui] [DefaultErrorHandler] [qtp1690481990-17434] StackTraceKey.init [IoException:2001534404] org.jumpmind.exception.IoException: java.io.IOException: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.readNext(ProtocolDataReader.java:317) at com.jumpmind.symmetric.console.impl.bt.a(BatchWindow.java:840) at com.jumpmind.symmetric.console.impl.bt.f(BatchWindow.java:807) at com.jumpmind.symmetric.console.impl.bt.e(BatchWindow.java:496) at com.jumpmind.symmetric.console.impl.bt.a(BatchWindow.java:212) at com.vaadin.flow.component.ComponentEventBus.fireEventForListener(ComponentEventBus.java:205) at com.vaadin.flow.component.ComponentEventBus.fireEvent(ComponentEventBus.java:194) at com.vaadin.flow.component.Component.fireEvent(Component.java:358) at com.vaadin.flow.component.tabs.Tabs.updateSelectedTab(Tabs.java:488) at com.vaadin.flow.component.tabs.Tabs.lambda$new$c53a20e4$1(Tabs.java:77) at com.vaadin.flow.internal.nodefeature.ElementPropertyMap.lambda$fireEvent$2(ElementPropertyMap.java:457) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.vaadin.flow.internal.nodefeature.ElementPropertyMap.fireEvent(ElementPropertyMap.java:457) at com.vaadin.flow.internal.nodefeature.ElementPropertyMap.access$100(ElementPropertyMap.java:50) at com.vaadin.flow.internal.nodefeature.ElementPropertyMap$PutResult.run(ElementPropertyMap.java:168) at com.vaadin.flow.server.communication.ServerRpcHandler.runMapSyncTask(ServerRpcHandler.java:424) at com.vaadin.flow.server.communication.ServerRpcHandler.lambda$handleInvocations$0(ServerRpcHandler.java:418) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.vaadin.flow.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:418) at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:320) at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:92) at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1578) at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:252) at com.jumpmind.symmetric.console.ui.AppServlet.service(AppServlet.java:36) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631) at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.jumpmind.symmetric.web.HttpMethodFilter.doFilter(HttpMethodFilter.java:60) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.io.IOException: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. at java.base/javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:148) at java.base/javax.crypto.CipherInputStream.read(CipherInputStream.java:261) at java.base/java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:242) at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) at java.base/java.util.zip.GZIPInputStream.read(GZIPInputStream.java:117) at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297) at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339) at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181) at java.base/java.io.BufferedReader.fill(BufferedReader.java:161) at java.base/java.io.BufferedReader.read1(BufferedReader.java:212) at java.base/java.io.BufferedReader.read(BufferedReader.java:287) at org.jumpmind.symmetric.csv.CsvReader.checkDataLength(CsvReader.java:989) at org.jumpmind.symmetric.csv.CsvReader.readRecord(CsvReader.java:544) at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.readNext(ProtocolDataReader.java:147) ... 68 more Caused by: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:977) at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1058) at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:943) at java.base/com.sun.crypto.provider.DESedeCipher.engineDoFinal(DESedeCipher.java:337) at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2152) at java.base/javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:145) | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-04-06 18:39 | emiller | New Issue | |
2022-04-06 18:39 | emiller | Status | new => assigned |
2022-04-06 18:39 | emiller | Assigned To | => emiller |
2022-04-06 19:35 | emiller | Status | assigned => resolved |
2022-04-06 19:35 | emiller | Resolution | open => fixed |
2022-04-06 19:35 | emiller | Fixed in Version | => 3.13.4 |
2022-04-11 19:29 | admin | Status | resolved => closed |