Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recording 4096x4096 with low memory video card may lead to crashes #197

Open
Anthrwpos opened this issue Feb 14, 2022 · 17 comments
Open

Recording 4096x4096 with low memory video card may lead to crashes #197

Anthrwpos opened this issue Feb 14, 2022 · 17 comments

Comments

@Anthrwpos
Copy link

Hi, when i try to record 4096x4096 (size option) with JHelioviewer, it crashes/the program closes. Version 4.2.0.10506. W10

@bogdanni
Copy link
Contributor

Can you please post the crash log?

@Anthrwpos
Copy link
Author

Anthrwpos commented Feb 14, 2022

How to do that? There is no window appear with log, when it crashes.

@bogdanni
Copy link
Contributor

bogdanni commented Feb 14, 2022

  1. Does it disappear from the screen?
  2. How much memory does the computer have?
  3. There are log files in c:\Users\username\JHelioviewer-SWHV\Logs. Please attach the most recent, i.e., the one of the crash.

@Anthrwpos
Copy link
Author

Anthrwpos commented Feb 14, 2022

  1. Does it disappear from the screen? Yes
  2. How much memory does the computer have? 4 GB

Most recent log after the crash:

2022-02-14 03:22:09,124 [main] INFO root - JHelioviewer started with command-line options:
2022-02-14 03:22:09,294 [main] INFO root - JHV/SWHV-4.2.0.10506 (amd64 Windows 10 10.0) Eclipse Adoptium JRE 17.0.1 2.0GB 4CPU
2022-02-14 03:22:11,488 [main] TRACE class org.ehcache.core.Ehcache-JPIPLevel - Initializing
2022-02-14 03:22:11,498 [main] WARN org.ehcache.impl.internal.store.disk.OffHeapDiskStore - The index for data file ehcache-disk-store.data is out of date by 690717ms, probably due to an unclean shutdown. Creating a new empty store.
2022-02-14 03:22:11,883 [main] DEBUG class org.ehcache.core.Ehcache-JPIPLevel - Initialize successful.
2022-02-14 03:22:12,018 [main] TRACE class org.ehcache.core.Ehcache-JPIPStream - Initializing
2022-02-14 03:22:12,162 [main] WARN org.ehcache.impl.internal.store.disk.OffHeapDiskStore - The index for data file ehcache-disk-store.data is out of date by 690491ms, probably due to an unclean shutdown. Creating a new empty store.
2022-02-14 03:22:12,311 [main] DEBUG class org.ehcache.core.Ehcache-JPIPStream - Initialize successful.
2022-02-14 03:22:13,976 [AWT-EventQueue-0] INFO root - Start main window
2022-02-14 03:22:19,082 [AWT-EventQueue-0] INFO root - Load bundled plugins
2022-02-14 03:22:20,850 [AWT-EventQueue-0] INFO root - GLInfo > OpenGL 3.3.0
2022-02-14 03:22:21,952 [AWT-EventQueue-0] INFO root - Found newer version 4.3.1.10635
2022-02-14 03:22:47,058 [Worker] DEBUG root - Response: {"frames":97,"message":null,"uri":"jpip://helioviewer.ias.u-psud.fr:8080//movies/SDO_AIA_304_F2022-02-12T00.03.45Z_T2022-02-14T00.03.45ZB1800L.jpx"}
2022-02-14 03:23:07,891 [Worker] DEBUG root - Response: {"frames":50,"message":null,"uri":"jpip://helioviewer.ias.u-psud.fr:8080//movies/SDO_AIA_304_F2022-02-13T00.03.45Z_T2022-02-14T18.03.45ZB1800L.jpx"}

@bogdanni
Copy link
Contributor

Were you trying to make a movie of AIA 304? Just checking if that is the log of the run which crashed and not an ulterior one.

It is possible that the program was killed by Windows for running out of memory. Java is not fast enough to capture at that high data rate required for 4kx4k movies, therefore the program stores the data in virtual memory. This was tested extensively, but the reality is that 2GB allocated for Java is simply too little for capturing 4kx4k movies.

Could you please try the following?

  1. Backup anything you want to keep from the Exports and Downloads directories.
  2. Remove the c:\Users\username\JHelioviewer-SWHV directory.
  3. Install the beta build from http://swhv.oma.be/download_test/
  4. Retry the movie export you were attempting
  5. If it crashes again, please re-paste here the log you get.

@Anthrwpos
Copy link
Author

The latest log after crash with beta version:

2022-02-14 21:57:06.129 [main] INFO org.helioviewer.jhv.JHelioviewer.main - JHelioviewer started with command-line options:
2022-02-14 21:57:06.175 [main] INFO org.helioviewer.jhv.JHVGlobals.getVersion - JHV/SWHV-4.3.2.10645 (amd64 Windows 10 10.0) Eclipse Adoptium JRE 17.0.2 2.0GB 4CPU
2022-02-14 21:57:06.175 [main] WARNING org.helioviewer.jhv.Settings.load: C:\Users\Panos\JHelioviewer-SWHV\Settings\user.properties
2022-02-14 21:57:10.417 [AWT-EventQueue-0] INFO org.helioviewer.jhv.JHelioviewer.lambda$main$0 - Start main window
2022-02-14 21:57:10.480 [AWT-EventQueue-0] SEVERE com.formdev.flatlaf.FlatLaf Did not find external library C:\Users\Panos\AppData\Local\Temp\JHelioviewer-SWHV\Cache\lib10371724761516393279\flatlaf-windows-x86_64.dll, using extracted library instead
2022-02-14 21:57:15.162 [AWT-EventQueue-0] INFO org.helioviewer.jhv.JHelioviewer.lambda$main$0 - Load bundled plugins
2022-02-14 21:57:15.685 [AWT-EventQueue-0] SEVERE org.helioviewer.jhv.plugins.swek.SWEKConfig.parseGroups: Cannot invoke "org.helioviewer.jhv.events.SWEK$Source.name()" because "this.source" is null
2022-02-14 21:57:16.576 [AWT-EventQueue-0] INFO org.helioviewer.jhv.opengl.GLInfo.get - OpenGL 3.3.0
2022-02-14 21:57:16.860 [Thread-6] WARNING org.astrogrid.samp.xmlrpc.StandardHubProfile Hub ping method failed: Connection refused: connect
2022-02-14 21:57:17.420 [Thread-6] WARNING org.astrogrid.samp.xmlrpc.StandardHubProfile Hub ping method failed: Connection refused: connect
2022-02-14 21:57:17.421 [Thread-6] WARNING org.astrogrid.samp.xmlrpc.StandardHubProfile Overwriting C:\Users\Panos.samp lockfile for apparently dead hub
2022-02-14 21:57:39.509 [Worker] INFO org.helioviewer.jhv.io.LoadLayer.request - {"frames":97,"message":null,"uri":"jpip://helioviewer.ias.u-psud.fr:8080//movies/SDO_AIA_304_F2022-02-12T19.33.09Z_T2022-02-14T19.33.09ZB1800L.jpx"}
2022-02-14 21:58:05.998 [AWT-EventQueue-0] SEVERE org.helioviewer.jhv.export.ExportMovie.handleMovieExport: detachAllImpl failed: Unsupported FBO format, FBO[name r/w 1/0, init true, bound true, size 4096x4096, samples 4/16, modified true/true, depth RenderAttachment[type DEPTH, format 0x81a6, samples 4, 4096x4096, name 0x1, obj 0x786141ff], stencil null, colorbuffer attachments: 1/8, with 0 textures: [ColorAttachment[type COLOR, format 0x8058, samples 4, 4096x4096, name 0x2, obj 0x4c7b18ba], null, null, null, null, null, null, null], msaa[null, hasSink false, dirty true], state Unsupported FBO format, obj 0x3762ddf4]

@bogdanni
Copy link
Contributor

Ah, thus the program is probably killed by the OpenGL binding library. Either the program doesn't query the necessary capabilities or the driver lies about them. It's marginal that the supported reported version is only 3.3 (which is minimal).
Are you able to export any movie/screenshot at lower resolutions?

@Anthrwpos
Copy link
Author

At any lower res, i can export. Only 4096x4096 can't. The problem is the low RAM or something else?

@bogdanni
Copy link
Contributor

Low RAM on the GPU card. What are the specs of the GPU? Brand, model, video RAM.

@Anthrwpos
Copy link
Author

"512MB NVIDIA GeForce 9600 GT". It' very old, you think it's that?

@bogdanni
Copy link
Contributor

I believe the program hits a hardware or a software limit. Do you have the latest drivers? Something like 9.18.13 if I read correctly on the web.

@Anthrwpos
Copy link
Author

Sorry for late reply. "Do you have the latest drivers?" : Yes, but it's the very old. So, only with upgrade will be good?

@bogdanni
Copy link
Contributor

I'm afraid that a video card with more memory is necessary for 4096x4096 recording. I don't have access to such a low memory video card, but it may be possible to test in a VM. In any case, the only solution would be disabling that setting in such conditions.

When recording, the program renders twice, first off-screen at the recording target output and second for the screen output, therefore it uses more video memory than in regular operation, but not exaggerated.

In any case, I uploaded a build at http://swhv.oma.be/download_test/ which offers more recording options: 2048x2048 and 3840x2160 (aka 4k).

@bogdanni bogdanni changed the title When i try to record 4096x4096 with JHelioviewer, it crashes Recording 4096x4096 with low memory video card may lead to crashes Feb 23, 2022
@bogdanni
Copy link
Contributor

Tested in VMware: with 1GB VRAM allocated, one succeeded, one killed by the kernel.
2GB VRAM seems to survive in limited testing.

@Anthrwpos
Copy link
Author

Tested in VMware: with 1GB VRAM allocated, one succeeded, one killed by the kernel.
2GB VRAM seems to survive in limited testing.

Hi,

Thanks for the test you did, but I have 512 VRAM, how is this related with my VRAM problem on JHelioviewer?

@bogdanni
Copy link
Contributor

You have 512MB VRAM; I was trying to test which is the minimum amount of VRAM for exporting 4096x4096 movies.
It seems to be at minimum 2GB.

@Anthrwpos
Copy link
Author

Hi, an update about it. With file from http://swhv.oma.be/download_test/ , PC can record 3840x2160. But again with 4096x4096, it crashes. And, can i change dark to light mode and the opposite? Or only if i install again JHelioviewer_4_2_0 (with white/light mode)? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants