Details
-
Type: Bug
-
Status: Closed (View Workflow)
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 8.5.2 MInor Release
-
Labels:
-
Story Points:0.25
-
Sprint:Sprint 30
Description
A user found a bug in the data provider code that prevented their dataproviders from loading. The bug was related to the accidental storage of an empty password in their preferences, leading to a decryption error. This unhandled exception cascaded up the call stack and prevented the further loading of the remaining data providers.
ERROR: igb (31): [PrefsLoader(39)] The activate method has thrown an exception
java.lang.IllegalArgumentException: encrypted string was null or empty
at com.affymetrix.genometry.util.StringEncrypter.decrypt(StringEncrypter.java:98)
at com.affymetrix.genometry.data.BaseDataProvider.lambda$loadPersistedConfiguration$18(BaseDataProvider.java:69)
at java.util.Optional.ifPresent(Optional.java:159)
at com.affymetrix.genometry.data.BaseDataProvider.loadPersistedConfiguration(BaseDataProvider.java:69)
at com.affymetrix.genometry.data.BaseDataProvider.<init>(BaseDataProvider.java:49)
at com.lorainelab.quickload.QuickloadDataProvider.<init>(QuickloadDataProvider.java:61)
at com.lorainelab.quickload.QuickloadFactory.createDataProvider(QuickloadFactory.java:39)
at com.affymetrix.igb.general.DataProviderManager.lambda$initializeDataProvider$12(DataProviderManager.java:192)
at java.util.Optional.ifPresent(Optional.java:159)
at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:189)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.loadFromPersistenceStorage(IgbPreferencesLoadingOrchestrator.java:102)
at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.loadIGBPrefs(IgbPreferencesLoadingOrchestrator.java:72)
at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.activate(IgbPreferencesLoadingOrchestrator.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231)
at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39)
at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624)
at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508)
at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149)
at
Attachments
Issue Links
- relates to
-
IGBF-1051 Improve error handling around data provider credentials
- Closed
Activity
Field | Original Value | New Value |
---|---|---|
Status | Open [ 1 ] | In Progress [ 3 ] |
Description | A user found a bug in the data provider code that prevented their dataproviders from loading. The bug was related to the accidental storage of an empty password in their preferences, leading to a decryption error. This unhandled exception cascaded up the call stack and prevented the further loading of the remaining data providers. |
A user found a bug in the data provider code that prevented their dataproviders from loading. The bug was related to the accidental storage of an empty password in their preferences, leading to a decryption error. This unhandled exception cascaded up the call stack and prevented the further loading of the remaining data providers.
ERROR: igb (31): [PrefsLoader(39)] The activate method has thrown an exception java.lang.IllegalArgumentException: encrypted string was null or empty at com.affymetrix.genometry.util.StringEncrypter.decrypt(StringEncrypter.java:98) at com.affymetrix.genometry.data.BaseDataProvider.lambda$loadPersistedConfiguration$18(BaseDataProvider.java:69) at java.util.Optional.ifPresent(Optional.java:159) at com.affymetrix.genometry.data.BaseDataProvider.loadPersistedConfiguration(BaseDataProvider.java:69) at com.affymetrix.genometry.data.BaseDataProvider.<init>(BaseDataProvider.java:49) at com.lorainelab.quickload.QuickloadDataProvider.<init>(QuickloadDataProvider.java:61) at com.lorainelab.quickload.QuickloadFactory.createDataProvider(QuickloadFactory.java:39) at com.affymetrix.igb.general.DataProviderManager.lambda$initializeDataProvider$12(DataProviderManager.java:192) at java.util.Optional.ifPresent(Optional.java:159) at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:189) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.loadFromPersistenceStorage(IgbPreferencesLoadingOrchestrator.java:102) at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.loadIGBPrefs(IgbPreferencesLoadingOrchestrator.java:72) at com.affymetrix.igb.prefs.IgbPreferencesLoadingOrchestrator.activate(IgbPreferencesLoadingOrchestrator.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) at |
Status | In Progress [ 3 ] | Needs Testing [ 10002 ] |
Fix Version/s | 8.5.2 MInor Release [ 10200 ] |
Assignee | David Norris [ dcnorris ] | Tarun Mall [ tmall ] |
Status | Needs Testing [ 10002 ] | Testing In Progress [ 10003 ] |
Assignee | Tarun Mall [ tmall ] | Mason Meyer [ mason ] |
Comment |
[ While testing this issue I noticed that I am able to enter an empty password into the authentication window for a data source that does not require authentication. I assume that this behavior may be expected though.
If I attempt to save an empty password for a data provider that DOES require authentication then I receive an error message stating that the username/password is invalid. Is the behavior described above what is to be expected? ] |
Resolution | Done [ 10000 ] | |
Status | Testing In Progress [ 10003 ] | Closed [ 6 ] |
Resolution | Done [ 10000 ] | |
Status | Closed [ 6 ] | Open [ 1 ] |
Labels | Data_Provider |
Resolution | Done [ 10000 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | Loraine Lab Workflow [ 16925 ] | Fall 2019 Workflow Update [ 19743 ] |
Workflow | Fall 2019 Workflow Update [ 19743 ] | Revised Fall 2019 Workflow Update [ 21862 ] |