Print at Dec 19, 2025, 1:00:40 PM
Posted by lubimaer at Mar 11, 2024, 8:42:21 PM
Video render works first time only
Hi Folks,

I'm pretty new to this forum so please bare with me if this is not the proper way to report this behaviour

I have installed SH3D v7.2
OpenJDK v 11.1.18 - 64bit - 2GB
Java3D v1.6.2a
VideoRendering v2.4.1

Everything seems to work fine so far
The only exception is the video rendering that only works the first time after loading the app
Any further tentative to click on the "create" button in the "video rendering" window generates no results
No crash, just no action

I couldn't find anything similar in this forum or in the bugs repository

Any idea what should I try?

Thanks,
Marco

Posted by hansmex at Mar 12, 2024, 1:33:33 AM
Re: Video render works first time only
Did you install the 64 bit or the 32 bit version of SH3D?

H
----------------------------------------
Hans

new website - under constuction
hansdirkse.info

Posted by lubimaer at Mar 12, 2024, 5:04:14 AM
Re: Video render works first time only
Good question
Downloading for windows automatically redirected me to an installer that I assumed it was 64bit

But if I run SysInternal command from Microsoft it looks like the app is 32bit

Here's SysInternal output

C:\Program Files\Sweet Home 3D>\Users\cqvw46\Desktop\download2\sigcheck.exe SweetHome3D.exe

Sigcheck v2.90 - File version and signature viewer
Copyright (C) 2004-2022 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\Program Files\Sweet Home 3D\SweetHome3D.exe:
Verified: Signed
Signing date: 5:35 AM 9/22/2023
Publisher: PUYBARET EMMANUEL
Company: eTeks
Description: Sweet Home 3D
Product: Sweet Home 3D
Prod version: 7.2
File version: 7.2
MachineType: 32-bit


BUT
Task Manager is telling me I'm running SH3D using:
Zulu Platform x64 Architecture

So the answer is: My machine is 64bit but I'm not sure what I'm running

Marco

Posted by hansmex at Mar 12, 2024, 5:41:40 AM
Re: Video render works first time only
When installing, there's a screen that asks whether you want the 64 or 32 bit version. Please, reinstall and check...

H
----------------------------------------
Hans

new website - under constuction
hansdirkse.info

Posted by lubimaer at Mar 12, 2024, 9:44:20 AM
Re: Video render works first time only
Hi Hans,

Thanks for the feedback

I have uninstalled SH3D and reinstalled selecting 64bit:
Nothing changed.

Is it possible to check logs for any error message?

Thanks
Marco

Posted by Puybaret at Mar 12, 2024, 10:01:18 AM
Re: Video render works first time only
How large is your SH3D file?
Can you check in About dialog how much memory is used by the Sweet Home 3D before and after you render a video (the numbers cited after "64 bit")?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by lubimaer at Mar 12, 2024, 5:36:25 PM
Re: Video render works first time only
Before = 0.1/2.8G
After = 0.1/2.8G

It happens with any file
I've also created a very simple scene with just a chair
Video works the first time but stops working after that

Workaround is to close SH3D and restart

Marco

Posted by Puybaret at Mar 12, 2024, 5:47:40 PM
Re: Video render works first time only
Thanks for the information. This doesn’t look like a memory shortage issue.
Please run Sweet Home 3D from the command line with a command like:
"C:\Program files\Sweet Home 3D\SweetHome3D.exe" 2>log.txt
and post here what the text of log.txt when you try to render a video a second time.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by lubimaer at Mar 12, 2024, 7:04:30 PM
Re: Video render works first time only
Hi Emmanuel,

Please find here the trace when starting the app

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/C:/Program%20Files/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

Running a second time the video rendering adds the following

Exception in thread "AWT-EventQueue-0" 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.mergeCollapse(ComparableTimSort.java:413)
at java.base/java.util.ComparableTimSort.sort(ComparableTimSort.java:213)
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$DirectoryChooser.<init>(Unknown Source)
at com.eteks.sweethome3d.swing.FileContentManager.showFileChooser(Unknown Source)
at com.eteks.sweethome3d.swing.FileContentManager.showSaveDialog(Unknown Source)
at sh3dPlugin.AdvancedVideoPanel.startVideoCreation(AdvancedVideoPanel.java:1851)
at sh3dPlugin.AdvancedVideoPanel.access$11(AdvancedVideoPanel.java:1844)
at sh3dPlugin.AdvancedVideoPanel$10.actionPerformed(AdvancedVideoPanel.java:367)
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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
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)

Posted by sjb007 at Mar 13, 2024, 1:05:16 AM
Re: Video render works first time only
Check the last couple of pages of the 7.2 release thread here in the forums. It looks like you have hit the same error as snmavronis.

Perhaps Emmanuel could send you his 7.3 beta to test too.

Posted by Puybaret at Mar 13, 2024, 10:26:37 AM
Re: Video render works first time only
It looks very similar to Snmavronis' issue, but the correction I programmed won't work in this case because the file chooser used in the advanced video rendering plug-in is programmed here to select a folder (hint: there's an error in DirectoryChooser), and I didn't make corrections for that case.
I'm not sure why Enkonyito programmed this dialog box but requesting a folder shouldn't fail anyway. Let's try first to understand how it really happens in your case. The strange thing is that it works the first time. Do you select a folder different from the proposed one the first time you generate a video? If yes, what files does this folder contain and does it still bug the second time if you don't change the proposed folder?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by lubimaer at Mar 13, 2024, 5:35:40 PM
Re: Video render works first time only
I just tested again with the following steps
- open SH3D
- add a single object to the scene (a chair)
- adjust the aerial view to look at the side of the chair
- save the file to test.sh3d (in the default proposed folder with no changes)
- open video rendering dialog
- click record red button to lock the first camera position
- move the 3d aerial view to a different position
- click the record red button to lock a second camera position
- click "generate"
- file dialog pop up (with "desktop" location proposed by default
- no changes to default location and click "select"
Rendering starts with no issues

When the render is complete the video rendering windows is still open and clicking on "create" again has no actions (no directory selection window pop up and no error)

Something to note - the directory selection pop up windows takes several seconds to populate the list of folders but I believe this is because my laptop is connected and scanning the company network folders

Marco

Posted by Daniels118 at Mar 15, 2024, 9:03:04 AM
Re: Video render works first time only
It should be noted that the icons shown on the desktop are actually taken from 2 folders: the ones from the desktop folder in the "all users" profile, and the ones from the desktop folder in the current user profile, so it's perfectly normal to have 2 files with the same name on the desktop, although some could be hidden from the visualization.
Some sorting algorithms can't deal with duplicate values, and this leads to the exception. It should be possible to change the sorting algorithm using a java system property.

Posted by Puybaret at Mar 15, 2024, 10:33:11 AM
Re: Video render works first time only
Thanks Daniele for the information. This should help to fix this issue.
Lubimaer, please create a text file named SweetHome3D.l4j.ini containing the text:
-Djava.util.Arrays.useLegacyMergeSort=true
and store it in the installation folder of Sweet Home 3D (probably C:\Program Files\Sweet Home 3D). Ensure it doesn't have an additional .txt extension. Then relaunch Sweet Home 3D and check if the issue is gone.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by lubimaer at Mar 15, 2024, 8:57:30 PM
Re: Video render works first time only
Problem solved after adding the file as you suggested
I've already tested 5 times and the video rendering works flawlessly all the time

Thanks for your help