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

QualCoder crash on Fedora 40 #991

Open
tignous opened this issue Jan 10, 2025 · 5 comments
Open

QualCoder crash on Fedora 40 #991

tignous opened this issue Jan 10, 2025 · 5 comments

Comments

@tignous
Copy link

tignous commented Jan 10, 2025

Describe the bug :


After changing distribution (Debian to Fedora), I can normally use QC functions on text files. But when I want to manipulate audio files, it crashes ; either in the “Manage files” panel when opening an audio file, or in the “Audio/video encoding” panel when I click on “Play”. I've tried this with MP3, WAV and MP4 files... and with the ffmpeg package or the ffmpeg-free package from dnf.

When I open QC from a terminal, and try to open the audio, there is the loading process of the audio file :

Input #0, mp3, from '..../name.mp3':
  Metadata:
    compatible_brands: isommp42
    major_brand     : mp42
    title           : name
    Software        : Lavf52.111.0
    artist          : name
    minor_version   : 0
    Encoding time   : 2014-05-11 13:46:58
  Duration: 00:02:00.50, start: 0.025057, bitrate: 128 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : LAME3.99r
Stream mapping:
  Stream #0:0 (mp3float) -> aformat:default
  showwavespic:default -> Stream #0:0 (png)
Press [q] to stop, [?] for help
Output #0, image2, to '.../waveform.png':
  Metadata:
    compatible_brands: isommp42
    major_brand     : mp42
    title           : name
    Software        : Lavf52.111.0
    artist          : name
    minor_version   : 0
    Encoding time   : 2014-05-11 13:46:58
    encoder         : Lavf60.16.100
  Stream #0:0: Video: png, rgba(progressive), 1020x100 [SAR 1:1 DAR 51:5], q=2-31, 200 kb/s, 1 fps, 1 tbn
    Metadata:
      encoder         : Lavc60.31.102 png

And just after, I get this error :

[image2 @ 0x559617a78c00] The specified filename '/home/.../....qda/audio/waveform.png' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x559617a78c00] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x559617b28e40] video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
Erreur de segmentation (core dumped)

To Reproduce :
On Fedora 40, following the tutorial steps, add a audio/video file and open it.

Expected behavior :
I used to be able to read the audio file and check the transcript at the same time.

Desktop (please complete the following information):

  • OS: Fedora
  • Version 40
  • QualCoder 3.5 from GitHub

Additional context :
I've found a few resources indicating that ffmpeg is involved with this error, but I don't understand the necessary manipulations.

@ccbogel
Copy link
Owner

ccbogel commented Jan 10, 2025

Thanks for reporting. I think the easiest solution is to remove the waveform image generation from QualCoder. Waveform image display was a request from a past user, but I do not think it is of great use in practice.

I have updated the latest 3.6 code (download using the Green code button on the front page of github). Then follow the install instructions on the main page for Fedora install.
Note Fedora did use a install shell script, but he python requirements are quite specific now so a different install from requirements.txt is needed (in point 5 of the install instructions for fedora). However, I am not able to test that this way works well.

A second option is to edit the python code in this file, which you would have downloaded for the 3.5 version:
Open the file view_av.py with a text editor
find this line
self.get_waveform()

Change by adding a hash - like this:
#self.get_waveform()

save the file and then try running QualCoder again.

@tignous
Copy link
Author

tignous commented Jan 11, 2025

Thank you very much for this quick response and the proposition !
I did modify the view_av.py file to comment out the line (3810) with self.get_waveform(), but it doesn't work. The same error occurs (Erreur de segmentation (core dumped)) and QC crashes. What's more, the “waveform” file has been created, which seems rather strange to me.

I will try to install the last version!

@ccbogel
Copy link
Owner

ccbogel commented Jan 11, 2025

Ah OK. Did you re-install the code for Fedora also?
As it might have been using the previously installed and un-edited code.

The waveform image is re-created for display whenever an audio/video file is opened in manage files.

@tignous
Copy link
Author

tignous commented Jan 13, 2025

Unfortunately, QC keeps crashing (when I try to manage an audio ou video file or try to code the same type of files). If there's no more error on waveform creation, there's only this to indicate in the terminal:
Erreur de segmentation (core dumped)
When I was using the previous appimage (3.5), I think I had more precise information about a possible clue. If not, I'll have to switch back to debian! Thanks again for your time and help!

@tignous
Copy link
Author

tignous commented Jan 13, 2025

OK! A new clue! After looking again at the reason for this error, I tried to run QC in root mode (with sudo python3 -m qualcoder) and now I can open sound and video files. But I have a lot of errors in the terminal and there is no sound:

[00007feeb11dda90] main decoder error: failed to create audio output
[00007fee6cc13150] alsa audio output error: cannot open ALSA device "default":... 

Maybe the problem lies in ffmpeg and fedora (even if I had installed the package from rpmfusion..).

EDIT
And here are the most revealing errors with the appimage of version 3.5:

ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libjack.so.0)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /lib64/libjack.so.0)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /lib64/libopenal.so.1)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/librubberband.so.2)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libtesseract.so.5.3.4)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /lib64/libzimg.so.2)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libshaderc_shared.so.1)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libopenmpt.so.0)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /lib64/libvapoursynth-script.so.0)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libchromaprint.so.1)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libsrt.so.1.5)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /lib64/libsrt.so.1.5)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libx265.so.209)
ffmpeg: /tmp/_MEIxSAzEv/libssl.so.3: version `OPENSSL_3.2.0' not found (required by /lib64/libcurl.so.4)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libSPIRV-Tools.so)
ffmpeg: /tmp/_MEIxSAzEv/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /lib64/libSPIRV-Tools-opt.so)

This confirms the idea that ffmpeg is at fault because the other libraries are well installed and up to date. But as much as I've looked for updates or swapped between the ffmpeg and ffmpeg-free packages, I don't quite understand the problem... :-(
I can still code text, so the most important thing is safe. But I liked the ability to edit whisper transcripts directly in QC.

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