Bug 1476442

Summary: Qtcreator fails to start
Product: [Fedora] Fedora Reporter: wojnilowicz <lukasz.wojnilowicz>
Component: qt-creatorAssignee: Itamar Reis Peixoto <itamar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 26CC: davejohansen, helio, itamar, jreznik, manisandro, rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qt-creator-4.2.2-6.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-12 18:25:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
glxinfo
none
strace qtcreator
none
strace qtcreator 4.2.2-3 none

Description wojnilowicz 2017-07-29 04:57:30 UTC
Description of problem:
Qtcreator does not start. I had to downgrade to 4.2.2-3.

Version-Release number of selected component (if applicable):
4.2.2-5

How reproducible:
always


Steps to Reproduce:
1. type qtcreator in konsole
2.
3.

Actual results:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version

Expected results:
qtcreator should start

Additional info:
locate libGL
/opt/google/chrome/swiftshader/libGLESv2.so
/usr/lib/nvidia-340xx/libGL.so
/usr/lib/nvidia-340xx/libGL.so.1
/usr/lib/nvidia-340xx/libGL.so.340.102
/usr/lib/nvidia-340xx/libGLESv1_CM.so
/usr/lib/nvidia-340xx/libGLESv1_CM.so.1
/usr/lib/nvidia-340xx/libGLESv1_CM.so.340.102
/usr/lib/nvidia-340xx/libGLESv2.so
/usr/lib/nvidia-340xx/libGLESv2.so.1
/usr/lib/nvidia-340xx/libGLESv2.so.2
/usr/lib/nvidia-340xx/libGLESv2.so.340.102
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.0.0
/usr/lib64/libGLESv1_CM.so
/usr/lib64/libGLESv1_CM.so.1
/usr/lib64/libGLESv1_CM.so.1.0.0
/usr/lib64/libGLESv2.so
/usr/lib64/libGLESv2.so.2
/usr/lib64/libGLESv2.so.2.0.0
/usr/lib64/libGLEW.so.2.0
/usr/lib64/libGLEW.so.2.0.0
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1
/usr/lib64/libGLX.so
/usr/lib64/libGLX.so.0
/usr/lib64/libGLX.so.0.0.0
/usr/lib64/libGLX_indirect.so.0
/usr/lib64/libGLX_mesa.so.0
/usr/lib64/libGLX_mesa.so.0.0.0
/usr/lib64/libGLdispatch.so
/usr/lib64/libGLdispatch.so.0
/usr/lib64/libGLdispatch.so.0.0.0
/usr/lib64/nvidia-340xx/libGL.so
/usr/lib64/nvidia-340xx/libGL.so.1
/usr/lib64/nvidia-340xx/libGL.so.340.102
/usr/lib64/nvidia-340xx/libGLESv1_CM.so
/usr/lib64/nvidia-340xx/libGLESv1_CM.so.1
/usr/lib64/nvidia-340xx/libGLESv1_CM.so.340.102
/usr/lib64/nvidia-340xx/libGLESv2.so
/usr/lib64/nvidia-340xx/libGLESv2.so.1
/usr/lib64/nvidia-340xx/libGLESv2.so.2
/usr/lib64/nvidia-340xx/libGLESv2.so.340.102
/usr/lib64/qtcreator/libGLSL.so
/usr/lib64/qtcreator/libGLSL.so.4
/usr/lib64/qtcreator/libGLSL.so.4.2
/usr/lib64/qtcreator/libGLSL.so.4.2.2
/usr/lib64/qtcreator/plugins/libGLSLEditor.so
/usr/share/doc/libGLEW
/usr/share/doc/libGLEW/LICENSE.txt

Comment 1 Sandro Mani 2017-08-02 14:38:50 UTC
This is unlikely related to QtCreator but to issues with the graphics driver. Other applications which use OpenGL will probably fail similarly.

Comment 2 wojnilowicz 2017-08-02 14:48:39 UTC
I doubt that. I use KWin with OpenGL 3.1
Any way to prove me wrong?

Comment 3 Sandro Mani 2017-08-02 14:50:14 UTC
Please post the output of glxinfo

Comment 4 wojnilowicz 2017-08-02 14:58:34 UTC
Created attachment 1308290 [details]
glxinfo

Comment 5 Sandro Mani 2017-08-02 15:04:19 UTC
Does glxgears work?

Comment 6 wojnilowicz 2017-08-02 15:38:45 UTC
(In reply to Sandro Mani from comment #5)
> Does glxgears work?

Yes, without problems.

Comment 7 Sandro Mani 2017-08-02 15:46:18 UTC
So nothing actually changed between 4.2.2-3 and 4.2.2-5 as far as the actual application is concerned - is it still the case that 4.2.2-3 works and 4.2.2-5 not?

A strace of qtcreator could also be helpful. It looks to me like the wrong libGL.so is being loaded.

Comment 8 Rex Dieter 2017-08-02 15:55:13 UTC
Indeed, maybe a stray rpath snuck in there somewhere too

Comment 9 wojnilowicz 2017-08-02 16:03:15 UTC
Created attachment 1308334 [details]
strace qtcreator

(In reply to Sandro Mani from comment #7)
> So nothing actually changed between 4.2.2-3 and 4.2.2-5 as far as the actual
> application is concerned - is it still the case that 4.2.2-3 works and
> 4.2.2-5 not?
> 
> A strace of qtcreator could also be helpful. It looks to me like the wrong
> libGL.so is being loaded.

I'm working now on 4.2.2-3 without problem.

Comment 10 Sandro Mani 2017-08-02 16:05:50 UTC
So the strace is from 4.2.2-5, which still does not work, and 4.2.2-3 is still working?

Comment 11 wojnilowicz 2017-08-02 16:06:42 UTC
(In reply to Sandro Mani from comment #10)
> So the strace is from 4.2.2-5, which still does not work, and 4.2.2-3 is
> still working?

Yes.

Comment 12 Sandro Mani 2017-08-02 16:08:35 UTC
Is libGL.so.1 a symlink and if so where does it point to?
Can you also attach the strace of the working 4.2.2-3?

Comment 13 wojnilowicz 2017-08-02 16:18:40 UTC
Created attachment 1308340 [details]
strace qtcreator 4.2.2-3

(In reply to Sandro Mani from comment #12)
> Is libGL.so.1 a symlink and if so where does it point to?
> Can you also attach the strace of the working 4.2.2-3?

/usr/lib/nvidia-340xx/libGL.so.1 points to /usr/lib/nvidia-340xx/libGL.so.340.102
/usr/lib64/libGL.so.1 points to /usr/lib64/libGL.so.1.0.0
/usr/lib64/nvidia-340xx/libGL.so.1 -> /usr/lib64/nvidia-340xx/libGL.so.340.102

Comment 14 Sandro Mani 2017-08-02 16:34:52 UTC
So the working one has

open("/usr/bin/libGL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/bin/../libGL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib64/qtcreator/libGL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/nvidia-340xx/libGL.so.1", O_RDONLY|O_CLOEXEC) = 3

the failing one has

open("/usr/lib64/tls/libGL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libGL.so.1", O_RDONLY|O_CLOEXEC) = 3

And in general the library search order looks pretty different. And indeed the qtcreator binary from -5 has a different rpath:

/usr/lib64:/usr/lib64:$ORIGIN:$ORIGIN/..:$ORIGIN/../lib64/qtcreator

compared to -3:

$ORIGIN:$ORIGIN/..:$ORIGIN/../lib64/qtcreator

Comment 15 Sandro Mani 2017-08-02 16:41:09 UTC
Somehow looks like %{_libdir} got added to QMAKE_RPATHDIR? But the just-build 4.4.0-0.1 does not have that %{_libdir} in rpath. I've fired off a no-change scratch build of qt-creator-4.2.2-5.fc26.src.rpm to see if it still is the case.

Comment 16 Sandro Mani 2017-08-02 18:46:40 UTC
So the rebuilt 4.2.2-5 [1] also does not have the bad rpath anymore. No idea where the bad rpath came from, but oh well... I now submitted a 4.2.2-6 [2] as a simple rebuild which should fix the issue.

[1] https://koji.fedoraproject.org/koji/taskinfo?taskID=20972135
[2] https://koji.fedoraproject.org/koji/taskinfo?taskID=20980038

Comment 17 Sandro Mani 2017-08-02 20:41:16 UTC
Can you please try [1]?

[1] https://koji.fedoraproject.org/koji/taskinfo?taskID=20980038

Comment 18 Fedora Update System 2017-08-03 08:55:26 UTC
qt-creator-4.2.2-6.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-67a5bc8f0b

Comment 19 Fedora Update System 2017-08-04 00:24:24 UTC
qt-creator-4.2.2-6.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-67a5bc8f0b

Comment 20 wojnilowicz 2017-08-12 06:38:39 UTC
(In reply to Sandro Mani from comment #17)
> Can you please try [1]?
> 
> [1] https://koji.fedoraproject.org/koji/taskinfo?taskID=20980038

It works, thanks.

Comment 21 Fedora Update System 2017-08-12 18:25:22 UTC
qt-creator-4.2.2-6.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.