QQuickPixmapReader::asyncResponseFinished segfaults if a QQuickAsyncImageProvider returns an error response
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qtdeclarative-opensource-src (Ubuntu) |
Fix Released
|
High
|
Timo Jyrinki | ||
qtdeclarative-opensource-src (Ubuntu RTM) |
Fix Released
|
High
|
Timo Jyrinki |
Bug Description
While working on the new thumbnailer, we've been using the new QQuickAsyncImag
Loading up the symbols to get a stack trace shows this to be a bug in the logic of QQuickPixmapRea
QString errorString;
QSize readSize;
if (!response-
error = QQuickPixmapRep
} else {
t = response-
}
if (!cancelled.
If errorString() is not empty, then t will still be NULL. It is then dereferenced to call t->textureSize() resulting in a segfault.
ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: libqt5quick5 5.4.2-1ubuntu1
ProcVersionSign
Uname: Linux 3.19.0-20-generic x86_64
ApportVersion: 2.17.3-0ubuntu4
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Jun 29 14:53:49 2015
InstallationDate: Installed on 2013-10-29 (607 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
SourcePackage: qtdeclarative-
UpgradeStatus: Upgraded to wily on 2015-06-13 (15 days ago)
Test case (on desktop):
- bzr branch lp:~jamesh/thumbnailer/no-fallback-albumart
- sudo apt-get build-dep thumbnailer
- sudo apt install libleveldb-dev cmake-extras libapparmor-dev libboost-
- cd no-fallback-
- cmake .
- make
- ctest -R qml --verbose
-> check if crash (Segmentation fault (core dumped)) or no crash (don't mind tests pass/fail)
Related branches
Changed in qtdeclarative-opensource-src (Ubuntu): | |
status: | Triaged → In Progress |
Changed in qtdeclarative-opensource-src (Ubuntu RTM): | |
assignee: | nobody → Timo Jyrinki (timo-jyrinki) |
Changed in qtdeclarative-opensource-src (Ubuntu RTM): | |
importance: | Undecided → High |
status: | New → In Progress |
description: | updated |
description: | updated |
Fixed by https:/ /codereview. qt-project. org/#/c/ 115522/
Let's wait for upstream before distro-patching i guess