harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Zhou" <zhoukevi...@gmail.com>
Subject Re: [jira] Commented: (HARMONY-6009) [classlib][beans] NPE launching swingset2 example
Date Wed, 19 Nov 2008 04:45:40 GMT
I think this defect may be a thread-safe problem.
I read HARMONY's PropertyChangeSupport code and found that:
It employs ArrayList to store the property change listeners which is not
thread-safe.
This defect occurs in a private doFirePropertyChange method.
This method may asynchronously use the list of PropertyChangeListener, which
contains a null value when modification (add or remove) of the list has not
finished.


On Wed, Nov 19, 2008 at 11:06 AM, Regis Xu (JIRA) <jira@apache.org> wrote:

>
>    [
> https://issues.apache.org/jira/browse/HARMONY-6009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648900#action_12648900]
>
> Regis Xu commented on HARMONY-6009:
> -----------------------------------
>
> I can't recreate it neither, both on M7 and M8, may be caused by different
> environment?
>
> > [classlib][beans] NPE launching swingset2 example
> > -------------------------------------------------
> >
> >                 Key: HARMONY-6009
> >                 URL: https://issues.apache.org/jira/browse/HARMONY-6009
> >             Project: Harmony
> >          Issue Type: Bug
> >          Components: Classlib
> >         Environment: Win32
> > Harmony r715566
> >            Reporter: Tim Ellison
> >
> > harmony thorws a NullPointerException when launching swingset2 example
> > hdk\jdk\jre\bin\java.exe -jar c:\apachecon\swingset\SwingSet2.jar
> > Uncaught exception in main:
> > java.lang.reflect.InvocationTargetException
> >         at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> >         at java.lang.reflect.Method.invoke(Method.java:317)
> >         at org.apache.harmony.vm.JarRunner.main(JarRunner.java:89)
> > Caused by: java.lang.NullPointerException
> >         at
> java.beans.PropertyChangeSupport.doFirePropertyChange(PropertyChangeSupport.java:263)
> >         at
> java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:54)
> >         at java.awt.Component.firePropertyChangeImpl(Component.java:1669)
> >         at java.awt.Component.firePropertyChange(Component.java:1683)
> >         at javax.swing.JComponent.setBorder(JComponent.java:747)
> >         at javax.swing.LookAndFeel.uninstallBorder(LookAndFeel.java:163)
> >         at
> javax.swing.plaf.basic.BasicInternalFrameUI.uninstallDefaults(BasicInternalFrameUI.java:790)
> >         at
> javax.swing.plaf.basic.BasicInternalFrameUI.uninstallUI(BasicInternalFrameUI.java:560)
> >         at
> javax.swing.plaf.metal.MetalInternalFrameUI.uninstallUI(MetalInternalFrameUI.java:105)
> >         at javax.swing.JComponent.setUI(JComponent.java:1294)
> >         at javax.swing.JInternalFrame.setUI(JInternalFrame.java:539)
> >         at javax.swing.JInternalFrame.updateUI(JInternalFrame.java:558)
> >         at
> javax.swing.SwingUtilities.updateComponentTreeUILevel(SwingUtilities.java:374)
> >         at
> javax.swing.SwingUtilities.updateComponentTreeUILevel(SwingUtilities.java:386)
> >         at
> javax.swing.SwingUtilities.updateComponentTreeUILevel(SwingUtilities.java:386)
> >         at
> javax.swing.SwingUtilities.updateComponentTreeUI(SwingUtilities.java:365)
> >         at SwingSet2.setDemo(SwingSet2.java:726)
> >         at SwingSet2.preloadFirstDemo(SwingSet2.java:684)
> >         at SwingSet2.<init>(SwingSet2.java:225)
> >         at SwingSet2.main(SwingSet2.java:248)
> >         at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> >         ... 2 more
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message