Bug 1016626 - IBM expenses app fails after java upgrade
Summary: IBM expenses app fails after java upgrade
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.7.0-openjdk
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mario Torre
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-08 12:44 UTC by David Woodhouse
Modified: 2015-06-29 12:35 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-29 12:35:12 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description David Woodhouse 2013-10-08 12:44:59 UTC
Since a recent Java update, our IBM expense tool no longer works correctly. Where previously the UI had a drop-down box with categories of expense for entering data, now the dropdown is empty. And I see the following:


Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source
        at java.util.EventObject.<init>(EventObject.java:56)
        at java.awt.AWTEvent.<init>(AWTEvent.java:337)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:224)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:188)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:150)
        at sun.awt.X11.XBaseMenuWindow.dispose(XBaseMenuWindow.java:907)
        at java.awt.MenuComponent.removeNotify(MenuComponent.java:310)
        at java.awt.Menu.removeNotify(Menu.java:198)
        at exc.gx.GPopMenu.removeAll(Unknown Source)
        at exc.tea.TccExpense.a(Unknown Source)
        at exc.tea.TccSpread.onStart(Unknown Source)
        at exc.gx.GXPanelCanvas.addNotify(Unknown Source)
        at java.awt.Container.addImpl(Container.java:1114)
        at java.awt.Container.add(Container.java:460)
        at exc.gx.GPanel.showPanel(Unknown Source)
        at exc.tea.TeaStart.onChange(Unknown Source)
        at exc.gx.GTabs.handleMouseEvent(Unknown Source)
        at exc.gx.GPanel.a(Unknown Source)
        at exc.gx.GPanel$MyMouseListener.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source
        at java.util.EventObject.<init>(EventObject.java:56)
        at java.awt.AWTEvent.<init>(AWTEvent.java:337)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:224)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:188)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:150)
        at sun.awt.X11.XBaseMenuWindow.dispose(XBaseMenuWindow.java:907)
        at java.awt.MenuComponent.removeNotify(MenuComponent.java:310)
        at java.awt.Menu.removeNotify(Menu.java:198)
        at exc.gx.GPopMenu.removeAll(Unknown Source)
        at exc.tea.TccExpense.a(Unknown Source)
        at exc.tea.TccExpense.b(Unknown Source)
        at exc.tea.TccExpense.s(Unknown Source)
        at exc.tea.TccExpense.y(Unknown Source)
        at exc.tea.TccExpense.onOpen(Unknown Source)
        at exc.gx.GPanel.n(Unknown Source)
        at exc.gx.GPanel.o(Unknown Source)
        at exc.gx.GPanel.showPanel(Unknown Source)
        at exc.tea.TccSpread.c(Unknown Source)
        at exc.tea.TccSpread.i(Unknown Source)
        at exc.tea.TccSpread.onOpen(Unknown Source)
        at exc.gx.GPanel.n(Unknown Source)
        at exc.gx.GPanel.o(Unknown Source)
        at exc.gx.GPanel.showPanel(Unknown Source)
        at exc.tea.TeaStart.onChange(Unknown Source)
        at exc.gx.GTabs.handleMouseEvent(Unknown Source)
        at exc.gx.GPanel.a(Unknown Source)
        at exc.gx.GPanel$MyMouseListener.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
.
Exception during disposal:
java.lang.reflect.InvocationTargetException
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:1272)
        at java.awt.Window.doDispose(Window.java:1209)
        at java.awt.Window.dispose(Window.java:1147)
        at exc.gx.GXFrame.dispose(Unknown Source)
        at exc.gx.GPanel.close(Unknown Source)
        at exc.gx.GPanel.close(Unknown Source)
        at exc.fe.FeLaunch.stop(Unknown Source)
        at sun.applet.AppletPanel.run(AppletPanel.java:537)
        at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.IllegalArgumentException: null source
        at java.util.EventObject.<init>(EventObject.java:56)
        at java.awt.AWTEvent.<init>(AWTEvent.java:337)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:224)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:188)
        at java.awt.event.InvocationEvent.<init>(InvocationEvent.java:150)
        at sun.awt.X11.XBaseMenuWindow.dispose(XBaseMenuWindow.java:907)
        at java.awt.MenuComponent.removeNotify(MenuComponent.java:310)
        at java.awt.Menu.removeNotify(Menu.java:198)
        at java.awt.Component.removeNotify(Component.java:6980)
        at java.awt.Container.removeNotify(Container.java:2816)
        at java.awt.Container.removeNotify(Container.java:2800)
        at java.awt.Container.removeNotify(Container.java:2800)
        at java.awt.Window.removeNotify(Window.java:782)
        at java.awt.Frame.removeNotify(Frame.java:1041)
        at java.awt.Window$1DisposeAction.run(Window.java:1190)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

This worked with the initial Fedora 19 1.7.0.25-2.3.10.3.fc19 package, and fails with 1.7.0.60-2.4.2.7.fc19.

Admittedly, it's quite feasible that this is a buggy application rather than a bug in OpenJDK but should we really be breaking compatibility in a stable release of Fedora? And if it *did* deserve to break, a coherent explanation of why it deserved it would be useful to take back to file a ticket internally; asking *them* for any level of technical clue is going to be painful.

Comment 1 David Woodhouse 2013-10-08 12:48:44 UTC
Works with java-1.7.0-openjdk-1.7.0.31-2.4.1.4.fc19
Fails with java-1.7.0-openjdk-1.7.0.60-2.4.2.0.fc19

Comment 2 Andrew John Hughes 2013-10-08 15:02:13 UTC
Do you have a reproducer for this?

Comment 3 David Woodhouse 2013-10-08 15:10:19 UTC
It has an offline mode, and there's a version in my home directory which I can run.

It's somewhat personalised, and I'm reluctant to just post it here because I'm not really sure what's in it. But I don't think the world would end if I shared it with you in private. You (will) have mail...

Comment 4 Andrew John Hughes 2013-10-09 12:04:38 UTC
I didn't realise from the above that this is an applet.  I thought
it strange that such a regression could result from the minor 2.4.1->2.4.2 update.  As it's an applet, it's possible that this is actually due to a change in IcedTea-Web.  Do you know if that package has also been updated?

If so, someone working on IcedTea-Web is probably better placed to look at this as I don't know what changes they've made recently.

Comment 5 David Woodhouse 2013-10-09 13:19:04 UTC
All testing has been done with icedtea-web-1.4.125-0.fc19. The only thing I was changing was the version of the java-1.7.0-openjdk package.

WORKS: java-1.7.0-openjdk-1.7.0.25-2.3.10.3.fc19.x86_64.rpm
WORKS: java-1.7.0-openjdk-1.7.0.31-2.4.1.4.fc19.x86_64.rpm
FAILS: java-1.7.0-openjdk-1.7.0.60-2.4.2.7.fc19.x86_64.rpm

There *has* been an update to that package since the initial release of Fedora 19, but that does not appear to be relevant to this failure.

If you like, I could try downgrading to the icedtea-1.4-1 version that was originally shipped with Fedora, and see if the update to java-1.7.0-openjdk-1.7.0.60 magically then *doesn't* introduce this regression. But I'm not sure that's really likely...

Comment 6 David Woodhouse 2013-10-09 13:33:31 UTC
With icedtea-web-1.4-2.fc19 the results are exactly the same as before:

WORKS: java-1.7.0-openjdk-1.7.0.25-2.3.10.3.fc19.x86_64.rpm
WORKS: java-1.7.0-openjdk-1.7.0.31-2.4.1.4.fc19.x86_64.rpm
FAILS: java-1.7.0-openjdk-1.7.0.60-2.4.2.7.fc19.x86_64.rpm

Comment 7 David Woodhouse 2013-10-09 13:50:52 UTC
(In reply to David Woodhouse from comment #5)
> All testing has been done with icedtea-web-1.4.125-0.fc19

Apologies, that should obviously be icedtea-web-1.4.1-0.fc19. Either way, it doesn't seem that icedtea-web is implicated here. Even if I rebuild it against the newer java-1.7.0-openjdk package, the results are the same.

Comment 8 jiri vanek 2013-10-09 14:19:38 UTC
May you confirm,  that the java-1.7.0-openjdk-1.7.0.60-2.4.2.7.fc19.x86_64.rpm is not working even with icedtea-web-1.3.2 and 1.4.0 ?

Comment 9 David Woodhouse 2013-10-09 14:50:24 UTC
I confirmed that for 1.4.0 in comment 6.

Where can I find 1.3.2 for testing? I tried reverting the F19 package repo to commit 8be6cfa7 but couldn't easily make it build. And the build at http://koji.fedoraproject.org/koji/buildinfo?buildID=412448 appears to have broken 'download' links.

Comment 10 David Woodhouse 2013-10-10 12:20:13 UTC
Clearing needinfo again. After IRC conversation I think it was conceded that we didn't really need to test with iceatea-web 1.3.2 to conclude that this was a regression in java-1.7.0-openjdk.

I've tried building from source so that I can bisect the failure introduced between 2.4.1 and 2.4.2, but haven't really got very far. So far it just fails at 

--2013-10-09 23:00:01--  http://icedtea.wildebeest.org/hg/icedtea7-forest/archive/51c1d39f82ae.tar.gz
Resolving icedtea.wildebeest.org (icedtea.wildebeest.org)... 212.238.236.112
Connecting to icedtea.wildebeest.org (icedtea.wildebeest.org)|212.238.236.112|:80... connected.
HTTP request sent, awaiting response... 502 Proxy Error
2013-10-09 23:02:01 ERROR 502: Proxy Error.

openjdk.tar.gz: FAILED
/usr/bin/sha256sum: WARNING: 1 computed checksum did NOT match
ERROR: Bad download of OpenJDK root zip


... and even if that works, the *interesting* source code part is being built from tarball snapshots and it's *that* which needs to be bisected, so it would take a lot more knowledge about this build process than I currently have.

I've now provided the "offending" app to ahughes and jvanek in private mail though.

Comment 11 Andrew John Hughes 2013-10-10 16:36:53 UTC
Ok, I'll have a look as soon as I can but we're dealing with a huge security errata right now due to go out on the 15th.   It may be worth testing with that new version when it appears, just in case it was magically fixed :)

Comment 12 Deepak Bhole 2013-10-11 21:11:58 UTC
Assigning to Jiri to keep track of the issue

Comment 13 David Woodhouse 2013-11-06 15:13:36 UTC
Still fails with java-1.7.0-openjdk-1.7.0.60-2.4.3.0.fc19.x86_64 update.

Comment 14 David Woodhouse 2014-01-22 21:04:30 UTC
Still broken in Fedora 20 :(

Comment 15 David Woodhouse 2014-01-23 11:26:04 UTC
And also in the 1.7.0.60-2.4.4.1.f20 update.

Comment 16 Fedora End Of Life 2015-05-29 09:32:15 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 17 Fedora End Of Life 2015-06-29 12:35:12 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.