Bug report #15558
qt5: delimited text provider triggers QSocketNotifier error
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | - | ||
Category: | Data Provider/Delimited Text | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 23481 |
Description
The delimited text provider, when QGIS is built against qt5, throws the following error every time it is rendered onto the canvas: "QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread". It appears to be linked to at least one crasher (see discussion here: https://github.com/qgis/QGIS/pull/3473)
Steps to reproduce- Build QGIS against Qt5
- Create a new project,
- Open the console, and switch to the Qt tab (if it's not there yet, it'll appear when the above mentioned error is printed)
- Add a delimited text provider layer
- Look at the console log, you should see the QSocketNotifier error
Associated revisions
[delimitertext] fix watcher check ignored and harmful watcher created for iterator
(fixes #15558)
[delimitertext] fix watcher check ignored and harmful watcher created for iterator
(fixes #15558)
(cherry-picked from b3e31087181732f7511d047b98352e97f08b0d04)
[delimitertext] fix watcher check ignored and harmful watcher created for iterator
(fixes #15558)
(cherry-picked from b3e31087181732f7511d047b98352e97f08b0d04)
[delimitertext] fix watcher check ignored and harmful watcher created for iterator
(fixes #15558)
(cherry-picked from b3e31087181732f7511d047b98352e97f08b0d04)
History
#1 Updated by Mathieu Pellerin - nIRV about 8 years ago
Looking at the terminal output, the socket notifier error (appears to be/is) printed after QgsMapRendererJob::cleanupJobs is called.
/home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/qgis/plugins/libdelimitedtextprovider.so(+0x1f64f)[0x7fdc5fdd064f] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/qgis/plugins/libdelimitedtextprovider.so(+0x1f4a0)[0x7fdc5fdd04a0] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/qgis/plugins/libdelimitedtextprovider.so(+0x1f572)[0x7fdc5fdd0572] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/qgis/plugins/libdelimitedtextprovider.so(+0x11a59)[0x7fdc5fdc2a59] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/qgis/plugins/libdelimitedtextprovider.so(+0x11aea)[0x7fdc5fdc2aea] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/libqgis_core.so.2.99.0(+0x636a24)[0x7fdcfc63ba24] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/libqgis_core.so.2.99.0(+0x636ac0)[0x7fdcfc63bac0] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/libqgis_core.so.2.99.0(+0x64b2fa)[0x7fdcfc6502fa] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/libqgis_core.so.2.99.0(+0x64b352)[0x7fdcfc650352] /home/webmaster/dev/cpp/QGIS/bm-qt5-master/output/lib/libqgis_core.so.2.99.0(QgsMapRendererJob::cleanupJobs(QList<LayerRenderJob>&)+0x343)[0x7fdcfc4e3879] src/core/qgsmessagelog.cpp: 45: (logMessage) [9ms] 2016-09-13T09:03:46 Qt[1] QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread src/core/qgsmaprendererparalleljob.cpp: 188: (renderLayersFinished) [4ms] PARALLEL layers finished src/core/qgsmaprenderercustompainterjob.cpp: 279: (drawLabeling) [0ms] [thread:0x7fdc38001620] Draw labeling start src/core/qgsmaprenderercustompainterjob.cpp: 300: (drawLabeling) [1ms] [thread:0x7fdc38001620] Draw labeling took (seconds): 0 src/core/qgsmaprendererparalleljob.cpp: 209: (renderingFinished) [4ms] PARALLEL finished src/gui/qgsmapcanvas.cpp: 621: (rendererJobFinished) [0ms] CANVAS finish! 1
#2 Updated by Mathieu Pellerin - nIRV about 8 years ago
Narrowed the QSocketNotifier error to qgsdelimitertextfile's line 83 (https://github.com/qgis/QGIS/blob/master/src/providers/delimitedtext/qgsdelimitedtextfile.cpp#L83), where the QFileSystemWatcher *mWatcher variable is deleted when the renderer is deleted in QgsMapRendererJob::cleanupJobs().
#3 Updated by Chris Crook about 8 years ago
- Status changed from Open to Closed
Fixed in changeset 92ed3befa6ebea25d8a70f4ad54477fadee940af.