[QGIS-Developer] Drag and drop to PostGIS crash

Radim Blazek radim.blazek at gmail.com
Mon May 29 23:30:52 PDT 2017


Hi,

QGIS3 crashes when a vector is dragged and drop to PostGIS in browser
in qgspostgresconn.cpp on

    // sharing connection between threads is not safe
    // See https://issues.qgis.org/issues/13141
    Q_ASSERT( QApplication::instance()->thread() == QThread::currentThread() );

the issue mentioned above is about something different (loading items
in thread) and it is marked as resolved.

In DD it is probably caused by QgsTaskRunnableWrapper which runs the
import in a new thread?

Can others confirm? Is somebody working on it? Quite important feature IMO.

Radim

#0  0x00007fb2b34ca067 in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fb2b34cb448 in __GI_abort () at abort.c:89
#2  0x000000000040f0cf in myMessageOutput (type=QtFatalMsg,
    msg=0x7fb2700008d8 "ASSERT: \"QApplication::instance()->thread()
== QThread::currentThread()\" in file
/home/radim/devel/qgis/src/providers/postgres/qgspostgresconn.cpp,
line 153") at /home/radim/devel/qgis/src/app/main.cpp:385
#3  0x00007fb2b43235bd in ?? () from
/home/radim/Qt/5.8/gcc_64/lib/libQt5Core.so.5
#4  0x00007fb2b4324d86 in QMessageLogger::fatal(char const*, ...)
const () from /home/radim/Qt/5.8/gcc_64/lib/libQt5Core.so.5
#5  0x00007fb2b432087e in qt_assert(char const*, char const*, int) ()
from /home/radim/Qt/5.8/gcc_64/lib/libQt5Core.so.5
#6  0x00007fb288171153 in QgsPostgresConn::connectDb (conninfo=...,
readonly=false, shared=true, transaction=false)
    at /home/radim/devel/qgis/src/providers/postgres/qgspostgresconn.cpp:153
#7  0x00007fb288149a1e in QgsPostgresProvider::createEmptyLayer
(uri=..., fields=..., wkbType=QgsWkbTypes::MultiLineString, srs=...,
    overwrite=false, oldToNewAttrIdxMap=0x7fb2700da7e8,
errorMessage=0x7fb27ac88640, options=0x3d4e1e0)
    at /home/radim/devel/qgis/src/providers/postgres/qgspostgresprovider.cpp:3678
#8  0x00007fb28814f455 in createEmptyLayer (uri=..., fields=...,
wkbType=QgsWkbTypes::MultiLineString, srs=..., overwrite=false,
    oldToNewAttrIdxMap=0x7fb2700da7e8, errorMessage=0x7fb27ac88640,
options=0x3d4e1e0)
    at /home/radim/devel/qgis/src/providers/postgres/qgspostgresprovider.cpp:4298
#9  0x00007fb2b9ea4eb3 in
QgsVectorLayerExporter::QgsVectorLayerExporter (this=0x7fb2700da7c0,
uri=..., providerKey=..., fields=...,
    geometryType=QgsWkbTypes::MultiLineString, crs=...,
overwrite=false, options=0x3d4e1e0)
    at /home/radim/devel/qgis/src/core/qgsvectorlayerexporter.cpp:81
#10 0x00007fb2b9ea6a14 in QgsVectorLayerExporter::exportLayer
(layer=0x3874450, uri=..., providerKey=..., destCRS=...,
    onlySelected=false, errorMessage=0x3d4e1f8, options=0x3d4e1e0,
feedback=0x3caa240)
    at /home/radim/devel/qgis/src/core/qgsvectorlayerexporter.cpp:306
#11 0x00007fb2b9ea8471 in QgsVectorLayerExporterTask::run (this=0x3d4e160)
    at /home/radim/devel/qgis/src/core/qgsvectorlayerexporter.cpp:493
#12 0x00007fb2b9dc39ed in QgsTask::start (this=0x3d4e160) at
/home/radim/devel/qgis/src/core/qgstaskmanager.cpp:66
#13 0x00007fb2b9dd029c in QgsTaskRunnableWrapper::run (this=0x3a49840)
at /home/radim/devel/qgis/src/core/qgstaskmanager.cpp:335


More information about the QGIS-Developer mailing list