Product: Aqua Data Studio
Version: 19.0.0-dev-2
Build #: 53599
Build Date: 2017-Mar-20 09:50:36 PM
Operating Environment: Linux (4.4.0-42-generic, amd64) / UTF-8 / en / US / Oracle Corporation 1.8.0_102-b14
Memory: Max=704,643,072; Total=329,777,152; Free=175,368,456; CPUs=8
Steps to Reproduce:-
1. Launch ADS.
2. Connect SQL Server 2012
3. Expand Database tree node.
4. Right Click on Table node and Select Query Analyzer.
5. In Query Analyzer Execute below Scripts.
CREATE TABLE [dbo].[Employees] ( [Id] int NOT NULL, [Name] varchar(25) NOT NULL, [Phone_no.] int NOT NULL, [Location] varchar(25) NOT NULL ) INSERT INTO [dbo].[Employees]([Id], [Name], [Phone_no.], [Location]) VALUES(1, 'Naresh', 97901, 'PUNE') GO INSERT INTO [dbo].[Employees]([Id], [Name], [Phone_no.], [Location]) VALUES(3, 'Vaibhav', 23901, 'PUNE') GO INSERT INTO [dbo].[Employees]([Id], [Name], [Phone_no.], [Location]) VALUES(5, 'Aditi', 297901, 'MUMBAI') GO INSERT INTO [dbo].[Employees]([Id], [Name], [Phone_no.], [Location]) VALUES(4, 'Abhishek', 97141, 'BANGLORE') GO INSERT INTO [dbo].[Employees]([Id], [Name], [Phone_no.], [Location]) VALUES(2, 'Pranita', 57901, 'CHENNAI') GO Select * from dbo.Employees GO
6. Go to Pivot Grid tab.
7. From Field List, Drag and Drop any 2 fields to ‘Drag Row Fields here’
8. Click on Collapse icon.
9. Now click on Row header.
Result:-
java.lang.NoSuchFieldError exception is observed in View log.
Observations:-
Behaviour in different ADS builds. |
Behaviour of Pivot Grid |
||
WINDOWS |
UBUNTU |
MAC |
|
ADS 19 dev-2 |
Y |
Y |
Y |
ADS 18 dev-6 |
Y |
Y |
Y |
ADS 17 |
N |
N |
N |
Y - Issue is Reproducible. |
|||
N - Issue is not reproducible. |
This issue is Not Reproducible in ADS v17.
Stack trace:-
java.lang.NoSuchFieldError: ATTRIBUTE_ROW_HEADER_COLLAPSED_NODES
at \\.\\.\\हिñçêČάй語简�?한\\.Ĺ⠜ꃨꑇ.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Ĺ⠜ꃨꑇ.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Ĺ⠜ꃨꑇ.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Ĺ⠜ꃨꑇ.p(Unknown Source)
at com.aquafold.datastudio.queryanalyzer.yꑯᡈꁛꉱ.bQV(Unknown Source)
at com.aquafold.datastudio.queryanalyzer.yꑯᡈꁛꉱ.d(Unknown Source)
at com.aquafold.datastudio.queryanalyzer.yꑯᡈꁛꉱ$6.bRp(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Cᢧꎜꋝ̹voidsynchronized$21.run(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Cᢧꎜꋝ̹voidsynchronized.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.vꐪꐵꄼ⡓new.zz(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.vꐪꐵꄼ⡓new.h(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.vꐪꐵꄼ⡓new$2.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:283)
at com.jidesoft.grid.Field.firePropertyChange(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.n0ᚺꆺꂆ.setSortOrder(Unknown Source)
at com.jidesoft.grid.Field.setAscending(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nͅᛐꒋꑔ1.setAscending(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nͅᛐꒋꑔ1.toggleAscending(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nͅᛐꒋꑔ1$4.mouseClicked(Unknown Source)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:866)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
|
127 KB
|
40 KB
This seems to be a bug in the Proguard obfuscator. I examined the decompiled, obfuscated PivotTablePersistenceUtils.java and noticed that ATTRIBUTE_ROW_HEADER_COLLAPSED_NODES and ATTRIBUTE_COLUMN_HEADER_COLLAPSED_NODES were the only fields that were not processed.
I could not find any references to this specific anomaly. I think Proguard is unable to properly handle the ternary operation (result = condition ? value1 : value2) in this particular case, so I changed the construct to use if/else.
I have checked in ADS 19 dev-8 and exception is not observed in view log.
Verified in ADS 19 dev-8.
Please see attached verified_15091.png
I have checked in ADS 19 dev-8 and exception is not observed in view log.
Verified in ADS 19 dev-8.
Please see attached verified_15091.png
Issue #15091 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build 18.0.5-11 |
No time estimate |
This seems to be a bug in the Proguard obfuscator. I examined the decompiled, obfuscated PivotTablePersistenceUtils.java and noticed that ATTRIBUTE_ROW_HEADER_COLLAPSED_NODES and ATTRIBUTE_COLUMN_HEADER_COLLAPSED_NODES were the only fields that were not processed.
I could not find any references to this specific anomaly. I think Proguard is unable to properly handle the ternary operation (result = condition ? value1 : value2) in this particular case, so I changed the construct to use if/else.