Closed tpanj closed 3 years ago
Hello!
Thanks for your interest in Kvazzup and for submitting this bug report. Unfortunately, I can't determine what the problem is yet. If I had to guess, it would have something to do with the way Kvazzup sets the resolution for the camera or Kvazaar since there are some special cases on Linux because of a bug in Qt (I should probably take the time to submit a bug report to Qt).
I have a few questions that might help us determine the cause of the problem: 1) I'm guessing this repeats every time? 2) Does it work if you start the call without video enabled? 3) Does it work if you enable screen sharing before calling? 4) Do you have a camera on both machines?
It would be really helpful if you could run this through a debugger to get the location of the crash.
Also, attaching file kvazzup.log
and kvazzup.ini
might help solve this issue if there is nothing too private in them.
Since the Illegal instruction (core dumped)
, it might also be because AVX2 instructions are used, if the CPU does not support those?
I'm not sure if there's any detection for AVX2, but the YUV to RGB uses those instructions and the selection is handled at:
https://github.com/ultravideo/kvazzup/blob/master/src/media/processing/yuvtorgb32.cpp#L50
@fador That is a good point also! There is no detection for AVX2 at the moment, although they can be disabled here. It might be worth testing.
kvazzup.log kvazzup.ini.txt From second computer who had core dump: kvazzup2.log kvazzup2.ini.txt
As you can see screensharing probably only have resolution problem. Is there a way to configure that (see log)?
AudioOutputDevice: Warning! No output audio frame available in time. Repeating previous audio frame (Consecutive repeats: 1) AudioOutputDevice: Warning! No output audio frame available in time. Repeating previous audio frame (Consecutive repeats: 2) AudioOutputDevice: Warning! No output audio frame available in time. Repeating previous audio frame (Consecutive repeats: 3) AudioOutputDevice: Warning! The output device buffer is too large. Dropping audio frames (Buffer Status: 15/10) AudioOutputDevice: Warning! The output device buffer is too large. Dropping audio frames (Buffer Status: 14/10) AudioOutputDevice: Warning! The output device buffer is too large. Dropping audio frames (Buffer Status: 13/10)
We noticed that you don't have support for AVX2 instruction in your CPU. This is a likely cause of this crash. I will try to implement a system for enabling and disabling the code based on supported instructions next week.
There was a missing variable check in the code for avx2. Could you try disabling the avx2 variable with the newest master to verify that this is the issue? The line is located here, in case you missed it.
The audio warnings are pretty normal. Only if there are a lot of those errors, it becomes a problem. Each warning tells about one lost audio sample. The audio is pretty precise stuff since buffering causes latency and not buffering means that if a sample is too late, we have to play something.
That screen sharing bug is an interesting one. I have no idea what is going on there. I have to do more testing on Linux to find out what is causing that.
Thanks to your help I set in that line to false and after building software I was able to make a proper video call from one to another computer.
Just ping me if you want me to do Linux testing.
@tpanj I pushed an automated system (4f825d45bbebc41c9dd3a411f52b9f5e6b6031b1) for detecting which optimizations are available. Can you verify that this issue has been solved by the commit?
Yes - works for me. Thanks!
Symptoms
I managed to compile the application in kubuntu20.4 (but not in kubuntu21.4) and I test ran on both systems. But whenever a video conferencing connection is established, it crashes.
Here are different logs if sound is muted or not:
Reproduction
Environment
Suspected Cause (optional)
It is probably something wrong handling low level communication packets or operations with those packets; maybe openHEVC?
Possibly a problem with setting the resolution for Kvazaar filter?