Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
avidemux and qt-5.11 [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 31, 2018 7:11 am    Post subject: avidemux and qt-5.11 [solved] Reply with quote

Does anybody use avidemux w/ qt-5.11 without an immediate segfault at starting of avidemux_qt5?

gdb shows the crash happens somewhere in nested qtgui calls at a somewhat random time/place. I tried recompiling all of qt-5.11 and avidemux w/ safe flags (gcc:8.2) without success.
Not sure whether the problem is on my specific system, only, or whether avidemux itself needs a change for qt-5.11.,,


Last edited by mv on Fri Nov 02, 2018 3:52 pm; edited 1 time in total
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30887
Location: here

PostPosted: Tue Jul 31, 2018 8:00 am    Post subject: Reply with quote

Here avidemux start withput a problem
Code:
$ qlist -Iv avidemux
media-libs/avidemux-core-2.7.0
media-libs/avidemux-plugins-2.7.0
media-video/avidemux-2.7.0

Code:
$ qlist -Iv gcc
sys-devel/gcc-7.3.0-r3

Code:
$ qlist -Iv dev-qt/*
dev-qt/designer-5.11.1
dev-qt/linguist-tools-5.11.1
dev-qt/qdbus-5.11.1
dev-qt/qtbluetooth-5.11.1
dev-qt/qtchooser-0_p20170803
dev-qt/qtconcurrent-5.11.1
dev-qt/qtcore-5.11.1
dev-qt/qtdbus-5.11.1
dev-qt/qtdeclarative-5.11.1
dev-qt/qtgraphicaleffects-5.11.1
dev-qt/qtgui-5.11.1
dev-qt/qtimageformats-5.11.1
dev-qt/qtlockedfile-2.4.1_p20171024
dev-qt/qtmultimedia-5.11.1
dev-qt/qtnetwork-5.11.1
dev-qt/qtopengl-5.11.1
dev-qt/qtpaths-5.11.1
dev-qt/qtpositioning-5.11.1
dev-qt/qtprintsupport-5.11.1
dev-qt/qtquickcontrols2-5.11.1
dev-qt/qtquickcontrols-5.11.1
dev-qt/qtscript-5.11.1
dev-qt/qtsensors-5.11.1
dev-qt/qtsingleapplication-2.6.1_p20171024
dev-qt/qtsql-5.11.1-r1
dev-qt/qtsvg-5.11.1
dev-qt/qttest-5.11.1
dev-qt/qtvirtualkeyboard-5.11.1
dev-qt/qtwayland-5.11.1
dev-qt/qtwebchannel-5.11.1
dev-qt/qtwebengine-5.11.1
dev-qt/qtwebkit-5.212.0_pre20180120
dev-qt/qtwidgets-5.11.1
dev-qt/qtx11extras-5.11.1
dev-qt/qtxml-5.11.1
dev-qt/qtxmlpatterns-5.11.1

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2283
Location: Adendorf, Germany

PostPosted: Tue Jul 31, 2018 9:04 am    Post subject: Reply with quote

In the GCC ChangeLog there is this part under C++:
New Languages and Language specific improvements => C++ wrote:
GCC 8 (-fabi-version=12) has a couple of corrections to the calling convention, which changes the ABI for some uncommon code:

  • Passing an empty class as an argument now takes up no space on x86_64, as required by the psABI.
  • Passing or returning a class with only deleted copy and move constructors now uses the same calling convention as a class with a non-trivial copy or move constructor. This only affects C++17 mode, as in earlier standards passing or returning such a class was impossible.
  • WARNING: In GCC 8.1 the second change mistakenly also affects classes with a deleted copy constructor and defaulted trivial move constructor (bug c++/86094). This issue is fixed in GCC 8.2 (-fabi-version=13).

You can test whether these changes affect your code with -Wabi=11 (or -Wabi=12 in GCC 8.2 for the third issue); if these changes are problematic for your project, the GCC 7 ABI can be selected with -fabi-version=11.
Maybe that's what happened?
You could check both avidemux and QtCore/Gui with -Wabi=11 and -Wabi=12.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Tue Jul 31, 2018 10:26 am    Post subject: ><)))°€ Reply with quote

Sigh.

I wish they had at least some support for system-ffmpeg, instead of just using a bundled version with patches on top.

Anyblue, seems to work here, too, after some fiddling around (including, but not limited to making it build with system-ffmpeg (no, I did not finish that little sudden-side-project)).

Tested with Avidemux 9999, Qt 5.11.9999, and GCC 8.2.0.

As a sidey-note, it seems like at least 'media-libs/avidemux-core' is prime fodder for Bug 557992 (ninja-porting) - [TRACKER] Packages failing with CMAKE_MAKEFILE_GENERATOR="ninja".

As another sidey-note, 2.7.0 fails with recent glibc, as also mentioned in Bug 646494 - media-video/avidemux-2.7.0 needs a patch with glibc-2.27.
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 31, 2018 10:48 am    Post subject: Reply with quote

I recompiled now in a 32 bit chroot with and without -fabi-versoin=11 and I again always get the same result (bus error).

A typical crash is here. The message "Resizing to 0 x 0" looks suspicious and indicates a wrong usage. I have the same message with qt-5.9.6 without any crash, but maybe qt-5.9.6 is just more tolerant here.
Code:
[UI_resize] 10:41:13-176  Resizing the main window to 147x224 px
[RDR] Resizing to 0 x 0
[1]    8137 bus error  avidemux3_qt5


Do you also see this "Resizing to 0 x 0" message?

Edit 1:
BTW, here is the last output of another run which is long after the "Resizing" message (but maybe these are separate threads...)
Code:

 [UI_RunApp] 10:48:50-019  Load default settings if any...
 [setContainer] 10:48:50-019  setting container as index 5
 [AVDM_hasVolumeControl] 10:48:50-019  The current audio device doesn't support volume control
 [UI_RunApp] 10:48:50-020  [autoUpdate]Current date 697 , last check = 697
[1]    21552 bus error  avidemux3_qt5

Edit 2:
And yet another one; this time briefly before the "Resizing to 0 x 0"
Code:
 [initGUI] 10:52:34-522  OpenGL enabled at built time, checking if we should run it..
 [initGUI] 10:52:34-522  OpenGL not activated, not initialized
 [destroy] 10:52:34-522  Destroying preview
 [renderDisplayResize] 10:52:34-522  Render to 0x0 zoom=1.0000, old one =0 x 0, zoom=1.0000, renderer=(nil)
 [UI_resize] 10:52:34-523  Resizing the main window to 147x224 px
[1]    23763 bus error  avidemux3_qt5
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Tue Jul 31, 2018 11:16 am    Post subject: Reply with quote

I do see similar things here:

Code:
[...]
The screen seems to be 1920 x 1080 px
 [initGUI] 11:12:40-977  OpenGL enabled at built time, checking if we should run it..
 [initGUI] 11:12:40-977  OpenGL not activated, not initialized                                                                         
 [destroy] 11:12:40-977  Destroying preview                                                                                           
 [renderDisplayResize] 11:12:40-977  Render to 0x0 zoom=1.0000, old one =0 x 0, zoom=1.0000, renderer=(nil)                           
 [UI_resize] 11:12:40-977  Resizing the main window to 148x221 px                                                                     
[RDR] Resizing to 0 x 0
[ADM_ad_plugin] Scanning directory /usr/lib64/ADM_plugins6/audioDecoder
[...]

I might guess that 'RDR' refers to 'renderer', and since there is probably no video loaded up yet during launch, it goes for '0x0'.

In fact, while loading up a video file, I can see:

Code:
 [UI_resize] 11:10:35-307  Resizing the main window to 1483x941 px                                                                     
Paint event
[RDR] Resizing to 1280 x 720

Wish it didn't mess with my window sizes like that. Maybe there is an option for it, that I can't find right now. It has been a while since I played around with this one.
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 31, 2018 11:44 am    Post subject: Reply with quote

Chiitoo wrote:
I do see similar things here

Thanks. So it is something else. (There is always a window opening before crash, but it is still filled with "background" data. With qt-5.9.6 there is always a visible resize, but I think the resize happens only after the window already contains some content.)

No idea for the moment. Since it happens on my 32 and 64 bit machines, I can only hope that it is related with some other library not "matching" to qt-5.11.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 31, 2018 3:19 pm    Post subject: Reply with quote

I am now rather convinced it is a bug of qt-8.11 itself:
After compiling qt with debugging information, I found that in all 3 cases qtgui eventually dies with the backtrace
Code:
#0  qt_memfill32 (dest=<optimized out>, dest@entry=…, value=…, count=<optimized out>, count@entry=…) at painting/qdrawhelper_sse2.cpp:272
#1  … in qt_memfill<unsigned int> (count=…, color=…, dest=…) at ../../include/QtGui/5.11.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:828
#2  qt_rectfill<unsigned int> (stride=2936, height=664, width=734, y=0, x=0, value=…, dest=<optimized out>)
    at ../../include/QtGui/5.11.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:868

(The "…" replaces values which look sane (not like null pointers)); the height and width vary with the dimension of the render window (for which I fixed some values for testing).

It is remarkable that the crashing code is in *_sse2.cpp even if I choose -march=pentium3 (although my processor is capable of sse2 instructions I also build packages for a machine which is not...)
Of course, names are hollow words, here.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 31, 2018 6:21 pm    Post subject: Reply with quote

It seems that for the compilation of qdrawhelper_sse2.cpp the -msse2 flag is forced (which already is broken IMHO).

However, this is not the reason for the crash: I forced -msse2 to off and also have unset the corresponding define in the file:
After that the bus error happens in the non-sse2 variant a memfill template.

So probably it is not sse2 itself but the data passed to memfill which causes problems. I do not think that I am able to debug this in reasonable time.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri Nov 02, 2018 3:52 pm    Post subject: Reply with quote

The problem was that /var/tmp was a tmpfs with size=1m.
After increasing to size=10m, the bus error vanished.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Sat Nov 03, 2018 4:18 am    Post subject: Reply with quote

I was able to track down the problem to kde-frameworks/kcoreaddons and I opened a bug report: https://bugs.kde.org/show_bug.cgi?id=400610.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum