Open sauterl opened 1 year ago
and what did the core dump say?
Unfortunately there is no further information than a generic core dumped message. I did check in the user's home or the working direktory and none of the usual error logs appeared. My assumption (since a proper java coredump would produce a log file), that some native library had an issue.
Yes, that's usually the only way to trigger a core dump. It should still dump something though. If it were killed by the OS before it was able to do so, you would get a different message.
Probably the same issue as https://github.com/vitrivr/cineast/issues/273, where we did not have sufficient information to reproduce the bug. Thanks for the information!
I'm observing a similar issue, thus I'm not sure if this is the same as described here or in #273.
It seems to me, that the extraction process loads the objects into memory one-by-one. As soon as the sum of objects is larger than the available memory, the process goes OOM. This happens after a some amount of large images or in case of videos (they tend to be several hundreds of MBs) after a hand full already. Allocating more memory (up to 32G or so) does not solve this issue but allows to run the extraction a bit longer. The only workaround so far is to use a wrapper script that shards the files into a sequence of multiple distinct extraction procedures.
If this is indeed the problem, possible workarounds would include:
Can you check if one or both of these measures resolves your issue?
DEBUG o.v.c.s.r.GenericExtractionItemHandler - ExtractionPipeline is full - deferring emission of segment. Consider increasing the thread-pool count for the extraction pipeline.
This is expected behavior in this case and what you would want to happen. This only tells you that the feature extraction is slower than the decoder, and if you have more compute resources, you could increase throughput. In case you are compute - or in this case memory - limited, you'd want the pipeline to slow down rather than trying to consume more resources than are available. Were you able to run your extraction without anything crashing?
The video resolution is already limited to 640x480. The affected instance has 32 CPU cores, 64G RAM, 4352 GPU cores and 11G GRAM. What parameters would you recommend to run at full capacity?
Whatever works 😉 The question cannot be answered as posed since the answer also depends on the content to be processed. Is 640x480 enough for all the text to be readable? If yes, can you go lower and still have it readable? If not, how much larger do you need to go? How long is the mean shot of your content? Does it have a lot of short sequences, or is it more of one continuous recording? The limiting factor you have here is the longest shot you need to keep in memory, so the total maximum memory consumption is proportional to the duration of the longest shot times the video resolution. As long as you can keep this below your hardware limit, you should not experience any problems.
In case others have this issue as well, I document it here:
Using the OCRSearch feature in an extraction configured as follows:
after roughly 7000 segments, a coredump stopped the extraction, which was executed using:
This occurred on a Ubuntu 20.04.5 LTS, using openjdk
with 40 cores of type Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz
GPU: NVIDIA GeForce RTX 2080 TI, nvidia-driver 450.51.06 and CUDA 11.0.228