View Issue Details

IDProjectCategoryView StatusLast Update
0005258SymmetricDS ProBugpublic2022-04-11 19:29
Reporteremiller Assigned Toemiller  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.13.0 
Target Version3.13.4Fixed in Version3.13.4 
Summary0005258: Catch exceptions when parsing an outgoing batch to view its sent data
DescriptionWhen 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 InformationERROR [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)
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

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