Modify

Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#20628 closed defect (worksforme)

InaccessibleObjectException: Unable to make field private java.awt.Image javax.swing.text.html.ImageView.image accessible

Reported by: simon04 Owned by: simon04
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report macos java16 Cc:

Description

What steps will reproduce the problem?

  1. Press F1 to open internal help browser

What is the expected result?

No exception

What happens instead?

Exception

Please provide any additional information below. Attach a screenshot if possible.

Probably caused by JEP 396: Strongly Encapsulate JDK Internals by Default.

Revision:17592
Is-Local-Build:true
Build-Date:2021-03-19 20:36:11

Identification: JOSM/1.5 (17592 SVN en) Mac OS X 10.16
OS Build number: macOS 11.2.3 (20D91)
Memory Usage: 214 MB / 2048 MB (82 MB allocated, but free)
Java version: 16+36, AdoptOpenJDK, OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 1 1440×900 (scaling 2,00×2,00) Display 2 3008×1692 (scaling 2,00×2,00)
Maximum Screen Size: 3008×1692
Best cursor sizes: 16×16→16×16, 32×32→32×32
VM arguments: [-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=54741:/Applications/IntelliJ IDEA.app/Contents/bin, -Dfile.encoding=UTF-8]
Dataset consistency test: No problems found

Last errors/warnings:
- 00004,516 W: Failed to register with OSX: java.lang.IllegalAccessException: class org.openstreetmap.josm.tools.PlatformHookOsx cannot access class com.apple.eawt.Application (in module java.desktop) because module java.desktop does not export com.apple.eawt to unnamed module @45099dd3
- 00027,287 E: Handled by bug report queue: java.lang.reflect.InaccessibleObjectException: Unable to make field private java.awt.Image javax.swing.text.html.ImageView.image accessible: module java.desktop does not "opens javax.swing.text.html" to unnamed module @45099dd3




=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (25) of main
java.lang.reflect.InaccessibleObjectException: Unable to make field private java.awt.Image javax.swing.text.html.ImageView.image accessible: module java.desktop does not "opens javax.swing.text.html" to unnamed module @45099dd3
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
	at org.openstreetmap.josm.tools.ReflectionUtils.lambda$setObjectsAccessible$0(ReflectionUtils.java:32)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
	at org.openstreetmap.josm.tools.ReflectionUtils.setObjectsAccessible(ReflectionUtils.java:29)
	at org.openstreetmap.josm.gui.widgets.JosmImageView.<init>(JosmImageView.java:50)
	at org.openstreetmap.josm.gui.widgets.JosmHTMLFactory.create(JosmHTMLFactory.java:29)
	at java.desktop/javax.swing.text.CompositeView.loadChildren(CompositeView.java:112)
	at java.desktop/javax.swing.text.FlowView$LogicalView.loadChildren(FlowView.java:722)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.FlowView.loadChildren(FlowView.java:147)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.FlowView.setParent(FlowView.java:297)
	at java.desktop/javax.swing.text.html.ParagraphView.setParent(ParagraphView.java:75)
	at java.desktop/javax.swing.text.CompositeView.replace(CompositeView.java:219)
	at java.desktop/javax.swing.text.BoxView.replace(BoxView.java:182)
	at java.desktop/javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.html.BlockView.setParent(BlockView.java:72)
	at java.desktop/javax.swing.text.CompositeView.replace(CompositeView.java:219)
	at java.desktop/javax.swing.text.BoxView.replace(BoxView.java:182)
	at java.desktop/javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.html.BlockView.setParent(BlockView.java:72)
	at java.desktop/javax.swing.text.CompositeView.replace(CompositeView.java:219)
	at java.desktop/javax.swing.text.BoxView.replace(BoxView.java:182)
	at java.desktop/javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.html.BlockView.setParent(BlockView.java:72)
	at java.desktop/javax.swing.text.html.HTMLEditorKit$HTMLFactory$BodyBlockView.setParent(HTMLEditorKit.java:1470)
	at java.desktop/javax.swing.text.CompositeView.replace(CompositeView.java:219)
	at java.desktop/javax.swing.text.BoxView.replace(BoxView.java:182)
	at java.desktop/javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
	at java.desktop/javax.swing.text.CompositeView.setParent(CompositeView.java:139)
	at java.desktop/javax.swing.text.html.BlockView.setParent(BlockView.java:72)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setView(BasicTextUI.java:1434)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI.setView(BasicTextUI.java:715)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI.modelChanged(BasicTextUI.java:704)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.propertyChange(BasicTextUI.java:1900)
	at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:342)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:334)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:267)
	at java.desktop/java.awt.Component.firePropertyChange(Component.java:8713)
	at java.desktop/javax.swing.text.JTextComponent.setDocument(JTextComponent.java:456)
	at org.openstreetmap.josm.gui.help.HelpBrowser.loadTopic(HelpBrowser.java:236)
	at org.openstreetmap.josm.gui.help.HelpBrowser.loadRelativeHelpTopic(HelpBrowser.java:332)
	at org.openstreetmap.josm.gui.help.HelpBrowser.openHelpTopic(HelpBrowser.java:411)
	at org.openstreetmap.josm.gui.help.HelpBrowser.lambda$setUrlForHelpTopic$1(HelpBrowser.java:116)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (4)

comment:1 by Don-vip, 4 years ago

Owner: changed from team to simon04
Status: newneedinfo

I have added the required --add-opens directives to the macOS build in r17546. If you run JOSM from IntelliJ you need those as well. Can you please check?

comment:2 by simon04, 4 years ago

Resolution: worksforme
Status: needinfoclosed

Thanks. Adding --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED does the trick for this specific exception.

comment:3 by taylor.smock, 3 years ago

Ticket #21649 has been marked as a duplicate of this ticket.

comment:4 by skyper, 3 years ago

Ticket #21687 has been marked as a duplicate of this ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain simon04.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.