USA
Joined: Jan 9, 2021
Post Count: 178
Status:
Offline
Re: Sweet Home 3D 7.2
P.S. Wish I could edit my posts.
Maybe it would be better if I uninstall Sweet Home 3D. Reinstall it under it's normal default paths which should create the eTeks\Sweet Home 3D folders and install all the SH3D plugins to start over. My other data folders should be accessible. I feel it's had a short circuit maybe registry settings are borked. What to you think?
----------------------------------------
Steve N Mavronis - Retired PC Tech
France
Joined: Nov 7, 2005
Post Count: 9393
Status:
Offline
Re: Sweet Home 3D 7.2
Installing the program again won’t change anything. Pleeeaaase, run the program from a cmd window like I proposed.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
USA
Joined: Jan 9, 2021
Post Count: 178
Status:
Offline
Re: Sweet Home 3D 7.2
C:\Windows\System32>"D:\Program Files (x86)\Sweet Home 3D\SweetHome3D.exe" 2>"C:\Users\snmav\Desktop\log.txt"
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/D:/Program%20Files%20(x86)/Sweet%20Home%203D/lib/java3d-1.6/j3dcore.jar) to method sun.awt.AppContext.getAppContext() WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
----------------------------------------
Steve N Mavronis - Retired PC Tech
USA
Joined: Jan 9, 2021
Post Count: 178
Status:
Offline
Re: Sweet Home 3D 7.2
Here's the hidden AppData log.txt file:
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.eteks.sweethome3d.swing.ControllerAction.actionPerformed(Unknown Source) at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6400) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) 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(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) 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) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) ... 40 more Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.base/java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:870) at java.base/java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:487) at java.base/java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:426) at java.base/java.util.ComparableTimSort.sort(ComparableTimSort.java:222) at java.base/java.util.Arrays.sort(Arrays.java:1249) at java.desktop/sun.awt.shell.Win32ShellFolderManager2.get(Win32ShellFolderManager2.java:313) at java.desktop/sun.awt.shell.ShellFolder.get(ShellFolder.java:259) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$DirectoryComboBoxModel.addItem(WindowsFileChooserUI.java:1087) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI.doDirectoryChanged(WindowsFileChooserUI.java:74 1) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$11.propertyChange(WindowsFileChooserUI.java:832) at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266) at java.desktop/java.awt.Component.firePropertyChange(Component.java:8731) at java.desktop/javax.swing.JFileChooser.setCurrentDirectory(JFileChooser.java:608) at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:362) at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:308) at com.eteks.sweethome3d.swing.FileContentManager.showFileChooser(Unknown Source) at com.eteks.sweethome3d.swing.FileContentManager.showSaveDialog(Unknown Source) at com.eteks.sweethome3d.swing.HomePane.showSaveDialog(Unknown Source) at com.eteks.sweethome3d.viewcontroller.HomeController.saveAs(Unknown Source) at com.eteks.sweethome3d.viewcontroller.HomeController.saveAs(Unknown Source) ... 44 more Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.eteks.sweethome3d.swing.ControllerAction.actionPerformed(Unknown Source) at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6400) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) 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(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) 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) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) ... 40 more Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.base/java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:870) at java.base/java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:487) at java.base/java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:426) at java.base/java.util.ComparableTimSort.sort(ComparableTimSort.java:222) at java.base/java.util.Arrays.sort(Arrays.java:1249) at java.desktop/sun.awt.shell.Win32ShellFolderManager2.get(Win32ShellFolderManager2.java:313) at java.desktop/sun.awt.shell.ShellFolder.get(ShellFolder.java:259) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$DirectoryComboBoxModel.addItem(WindowsFileChooserUI.java:1087) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI.doDirectoryChanged(WindowsFileChooserUI.java:74 1) at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$11.propertyChange(WindowsFileChooserUI.java:832) at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333) at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266) at java.desktop/java.awt.Component.firePropertyChange(Component.java:8731) at java.desktop/javax.swing.JFileChooser.setCurrentDirectory(JFileChooser.java:608) at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:362) at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:308) at com.eteks.sweethome3d.swing.FileContentManager.showFileChooser(Unknown Source) at com.eteks.sweethome3d.swing.FileContentManager.showSaveDialog(Unknown Source) at com.eteks.sweethome3d.swing.HomePane.showSaveDialog(Unknown Source) at com.eteks.sweethome3d.viewcontroller.HomeController.saveAs(Unknown Source) at com.eteks.sweethome3d.viewcontroller.HomeController.saveAs(Unknown Source) ... 44 more
----------------------------------------
Steve N Mavronis - Retired PC Tech
Italy
Joined: Nov 17, 2021
Post Count: 439
Status:
Offline
Re: Sweet Home 3D 7.2
@sbj007 My plugin uses the same method used by SH3D to get the output folder, it is the result of a computation, so it may vary depending on the environment.
@snmavronis Btw, the plugin and the output redirection method from the command line are mutually exclusive, so only one should be used.
France
Joined: Nov 7, 2005
Post Count: 9393
Status:
Offline
Re: Sweet Home 3D 7.2
Thanks Steve, that's the information I was looking for. You may not understand a word of it, but for Java programmers, it contains the information that will help them to fix your issue. I'm pretty sure you actually encountered the bug #8305072 in Java mentioned by Daniele, which is not fixed yet. Reading the comments of that bug report, it seems to be an issue bound to homonyms in the file system. Very strange, since a file name is supposed to be unique in a directory, but that could be half true from a user's point of view when localization is involved. Could you check in the folder where you expect to save your files if there are some homonyms or files named with unconventional names?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
USA
Joined: Jan 9, 2021
Post Count: 178
Status:
Offline
Re: Sweet Home 3D 7.2
I appreciate you guys spending time of this. I can't find any files with the same name within a folder. Sub-folders shouldn't matter but Windows won't allow that anyway, it would ask to overwrite or rename. In my home save folder I tried renaming some files that were home remodeling quotes containing # and ( ) and , symbols even though they are legal filename characters. Then I moved all unnecessary files into sub-folders. I also deleted some models in my home; computer equipment that was on a desk and a regular save. No change, can't do a save-as, no error on-screen it just ignores the menu selection. Here is a current directory list:
C:\Users\snmav\Pictures\House Plans>dir Volume in drive C is Windows Volume Serial Number is 2E85-8F3A
France
Joined: Nov 7, 2005
Post Count: 9393
Status:
Offline
Re: Sweet Home 3D 7.2
Steve, I sent you an email with a special version which may fix your issue, using a FileDialog rather than a JFileChooser instance in case the error you reported happens. If it works, I'll commit the change in source code.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
France
Joined: Nov 7, 2005
Post Count: 9393
Status:
Offline
Re: Sweet Home 3D 7.2
As I fear that the Java bug #8305072 takes a long a long time to be fixed (it seems complicated to reproduce), I chose to circumvent it by using a FileDialog rather than a JFileChooser instance in case this error happens (see commit #8910). Steve confirmed that it fixed his problem. I'll publish a version 7.3 Beta soon with other small changes.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer