×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Issues with high acquisition rates

  • Posts: 9
  • Thank you received: 16
I have started a thread on the ZWO ASI forum to address this issue: ASIGetExpStatus 250+ ms delay on Linux asking for assistance in diagnosing the delays.
The following user(s) said Thank You: Emmanuel Bertin
6 years 1 week ago #23481

Please Log in or Create an account to join the conversation.


Are you using KStars from GIT master?
6 years 1 week ago #23482

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 2

No, I am using kstars-bleeding-2.9.2-7.2. I suppose that the bleeding version is very close to a nightly build?
6 years 1 week ago #23483

Please Log in or Create an account to join the conversation.

To try out the feature, you'd either have to build KStars from GIT, or wait until the next release. But it looks like this feature will be limited anyway. So the premise is that as SOON as the capture is done, it immediately starts the next capture and THEN uploads/saves the image. So this would be useful IF the capture time is longer than the transfer time. So if each image is 10 seconds long, but the transfer takes 2-3 seconds, then fine. But if the capture time is 0.5 seconds, but it takes 1 second to upload the image to the client, then this would fail miserably.

But even if you're taking 5 minutes captures (like what I usually do), it can help. In my case, it takes 20 seconds to upload the image back to KStars. So with the regular method, after an image is capture AND uploaded, the next image capture begins, but with rapid looping turned on, then it begins immediately. Therefore, you can save 1 minute of time every 15 minutes of capture.
The following user(s) said Thank You: Emmanuel Bertin
6 years 1 week ago #23484

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 2
OK thanks, I will try with the GIT version! Transfer time with a 4MB image is significantly less than 0.5s when writing directly to an SSD, even using CFITSIO :-). Well anyway for now the limiting factor seems to be the ASIGetExpStatus() issue.
btw I hope you will be able to reproduce the "Failed to save file to" bug with large sequences in the "Upload: Client" mode. In practice this is the most annoying issue with high acquisition rates.
Thanks again!
- Emmanuel.
6 years 1 week ago #23485

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 16
An ASI software engineer replied to my post on the ZWO forum indicating that the long delay for for the exposure completion status to switch from working to success was expected.

This is a bit disappointing, but without access to the code I cannot guess what it is doing that is taking so long.
The following user(s) said Thank You: Emmanuel Bertin
6 years 1 week ago #23566

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 2
I suspected that the "Failed to save file to" in "Upload: Client" mode was due to Ekos running out of file descriptors. This seems indeed to be the case. The problem vanishes when I push the maximum number of open file descriptors to 4096 per user (was 1024 by default on my system). Sounds like a close() is missing somewhere :).
Last edit: 6 years 1 week ago by Emmanuel Bertin.
6 years 1 week ago #23585

Please Log in or Create an account to join the conversation.

Well, where is the close() missing? I know this has been reported before, but whenever a new FITS is used, the previous one is always closed first.
6 years 1 week ago #23588

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 16
I experimented with many short exposures while monitoring the files held open by kstars, indiserver, and indi_asi_ccd.

I saw no open file changes for indiserver or indi_asi_ccd.

For kstars after the first exposure there were 6 additional files held open: a socket, a pair of event fds, /dev/urandom, and the image file (open twice).

When I took many images the number of open files remained the same, with only the open image file changing.

However, if the number of fits viewers increases, then the number of files help open also increases -- I can only reproduce this when I trigger the rapid looping bug where the image download takes longer than the image exposure, which we know is an issue.

When you think kstars or indi is holding open too many files please get the pids for kstars, indiserver and indi_asi_ccd, and then for each please list the open files:

ls -l /proc/<pid>/fd

Where <pid> is the process pid -- you may want to redirect the output of each ls command to a file.

Then post here the results of what you've found.

Thanks!
The following user(s) said Thank You: Emmanuel Bertin
Last edit: 6 years 1 week ago by Leonard Bottleman.
6 years 1 week ago #23596

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 2
Thanks for the tip Leonard! Here the output of ls -l /proc/29669/fd, where 29669 is the PID of kstars when running an acquisition sequence from the CCD simulator (the same happens with the ASI camera, connected remotely or not):
...
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1570 -> socket:[876722]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1571 -> socket:[876723]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1572 -> socket:[871147]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1573 -> socket:[871148]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1574 -> socket:[874775]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1575 -> socket:[874776]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1576 -> socket:[875769]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1577 -> socket:[875770]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1578 -> socket:[871149]
lrwx------ 1 bertin bertin 64 Feb 25 00:14 1579 -> socket:[871150]
...

And it goes on and on until I stop the acquisition. Aborting does not close the sockets, I have to quit kstars to free the descriptors. It happens only when the exposure time is about 1s or less, irrespective of the raster size (the simulator takes only a few ms to generate the 128x128 rasters in this test). This is with fast looping off (I have to turn it off otherwise it creates all kinds of issues), and without FITS viewer. The other processes (indiserver and indi_simulator_ccd) do not accumulate descriptors.
- Emmanuel.
Last edit: 6 years 1 week ago by Emmanuel Bertin.
6 years 1 week ago #23622

Please Log in or Create an account to join the conversation.

  • Posts: 9
  • Thank you received: 16
Thanks Emmanuel.

At first I could not recreate the socket leak even when following your instructions.

I then used strace on kstars and discovered that it (actually the QT layer) was constantly looking for phonon4qt5_backend from the qt /usr/lib install. Looking up phonon4qt5 in the system software manager I found several KDE provides packages including a back end gstreamer package. I do not use KDE (just not a fan) and so my system does not have this package installed.

I installed the package.

Afterward at the end of each image capture I got an annoying sound. Worse, when I took multiple images in the scheduler kstars leaked a socket pair per image (in addition playing the sound). It did not leak sockets with preview.

I then removed the package (phonon4qt5-backend-gstreamer) and the socket leak vanished.

If you use KDE you can test if disabling sound notifications stops the socket leak ( option to disable failure sounds ), or if you do not use KDE try removing the package I listed above and restart kstars.

Obviously a real fix is needed, but I am not familiar enough with the kstars source code to be helpful here (I am more of a low level software guy).

Leonard
The following user(s) said Thank You: Jasem Mutlaq, Emmanuel Bertin
6 years 1 week ago #23634

Please Log in or Create an account to join the conversation.

I don't have control over other Qt/KDE software, but if they have a bug, we can help them resolve it. You can turn off the sounds from Settings --> Configure Notifications. Maybe I should turn them off for < 1 second captures?
The following user(s) said Thank You: Emmanuel Bertin
6 years 1 week ago #23635

Please Log in or Create an account to join the conversation.

Time to create page: 0.226 seconds