Bug report #19557

QGIS freezes when adding multiple WFS layers from a geoserver instance

Added by Jonas Grieb over 5 years ago. Updated about 5 years ago.

Status:Open
Priority:High
Assignee:-
Category:Web Services clients/WFS
Affected QGIS version:3.5(master) Regression?:Yes
Operating System:Linux Mint 18.3 Sylvia Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:27384

Description

Hello,

I have a geoserver running on localhost. In QGIS, establishing the connection via the "Create new WFS connection" panel works, but when I then try to add a WFS layer to QGIS I observed a strange behavior. Sometimes after the first or second wfs layer added to QGIS, QGIS freezes completely and I have to restart it. Sometimes I can add more layers but at some point it will freeze again. Also object loading of large layers is very slow.

All these problems did not occur in QGIS 2.18.

Can anyone reproduce this or has similar problems with the WFS provider in QGIS 3?


Related issues

Duplicated by QGIS Application - Bug report #21244: QGIS 3.5.0-Master crashes when loading multiple WFS layers Closed 2019-02-12

History

#1 Updated by Giovanni Manghi over 5 years ago

  • Status changed from Open to Feedback

Can you provide any public WFS address that we can use to replicate this behavior?

#2 Updated by Jonas Grieb over 5 years ago

Giovanni Manghi wrote:

Can you provide any public WFS address that we can use to replicate this behavior?

Unfortunately I can't, because with public/ external WFS servers I encountered no problems. Only when working with a WFS from a geoserver on localhost the problem occurs, and only in QGIS 3, whereas in QGIS 2.18 everything worked fine, as mentioned. So maybe anyone else with a local setup of geoserver and QGIS 3 also encounters this problem...?

#3 Updated by Giovanni Manghi over 5 years ago

Jonas Grieb wrote:

Giovanni Manghi wrote:

Can you provide any public WFS address that we can use to replicate this behavior?

Unfortunately I can't, because with public/ external WFS servers I encountered no problems. Only when working with a WFS from a geoserver on localhost the problem occurs, and only in QGIS 3, whereas in QGIS 2.18 everything worked fine, as mentioned. So maybe anyone else with a local setup of geoserver and QGIS 3 also encounters this problem...?

Can you describe a little what kind of data (size, datasource type, etc.) your local service is based on?
What version of Geoserver are you using? Installed with what method?

#4 Updated by Willem Buitendyk over 5 years ago

I can verify these same issues connecting to my local geoserver serving WFS files. This only appears to effect Mac and Linux installations however as Windows seems to be ok. We are running all three OS in our office. There was another bug report here that offered a public WFS file for testing. I'll see if I can find it and post it.

#5 Updated by Jonas Grieb over 5 years ago

Giovanni Manghi wrote:

Can you describe a little what kind of data (size, datasource type, etc.) your local service is based on?
What version of Geoserver are you using? Installed with what method?

Yes, it's just as Willem Buitendyk describes it, on Windows the problem does not occur. On Linux, it happens with all kind of basic vector layers from the geoserver wfs. I tried with several geoserver version 2.11, 2.12, 2.13, installed within a docker environment and without docker, and the problem always occurs.
Appearently, when the freezing occurs, a describeFeatureType request get's successfully sent to the geoserver. But then QGIS never send's the getFeature requests and get's somehow stuck in processing the wfs service responses.

#6 Updated by Giovanni Manghi over 5 years ago

Jonas Grieb wrote:

Giovanni Manghi wrote:

Can you describe a little what kind of data (size, datasource type, etc.) your local service is based on?
What version of Geoserver are you using? Installed with what method?

Yes, it's just as Willem Buitendyk describes it, on Windows the problem does not occur. On Linux, it happens with all kind of basic vector layers from the geoserver wfs. I tried with several geoserver version 2.11, 2.12, 2.13, installed within a docker environment and without docker, and the problem always occurs.
Appearently, when the freezing occurs, a describeFeatureType request get's successfully sent to the geoserver. But then QGIS never send's the getFeature requests and get's somehow stuck in processing the wfs service responses.

It happens only with Geoserver (what about Mapserver or QGIS Server)?
Only with local installations?

#7 Updated by Jonas Grieb over 5 years ago

Giovanni Manghi wrote:

It happens only with Geoserver (what about Mapserver or QGIS Server)?
Only with local installations?

Yes, it's only with Geoserver. I didnt't try out Mapserver and QGIS Server, because I don't have them installed. And yes, it's only with local installations. I'm sorry that I can't specify the problem further, but since QGIS freezes (until I kill the process) I also could not find any log messages. Do you have an idea how I can log the WFS provider communication to see what actually happens, when QGIS crashes/freezes? Then I could provide more information here.

#8 Updated by Giovanni Manghi over 5 years ago

Jonas Grieb wrote:

Giovanni Manghi wrote:

It happens only with Geoserver (what about Mapserver or QGIS Server)?
Only with local installations?

Yes, it's only with Geoserver. I didnt't try out Mapserver and QGIS Server, because I don't have them installed

would you mind give it a try, using the very same datasources you are using for the local Geoserver?

And yes, it's only with local installations.

so, two Geoserver instances, one local and one remote (same local network? over the internet?) and same datasources, and only the local one fails, correct?

#9 Updated by Giovanni Manghi over 5 years ago

not sure this is related

https://github.com/qgis/QGIS/pull/7602

but seems so. Test it on master when merged, then report back. thanks!

#10 Updated by Jonas Grieb over 5 years ago

Giovanni Manghi wrote:

not sure this is related

https://github.com/qgis/QGIS/pull/7602

but seems so. Test it on master when merged, then report back. thanks!

Thank you for linking the PR. It looked promising, but I tested today and unfortunately the bug continues. By installing the qgis-dev version I could track down the problem further: If I set back the file https://github.com/qgis/QGIS/blob/master/src/providers/wfs/qgswfsrequest.cpp to it's state of QGIS 3.0, i.e. before the introduction of multithreading, I have no problems at all! But with the current version, when performing wfs request on my localhost geoserver, the code gets stuck in lines 194 to 214 of the mentioned file, where the "downloaderThread" never finishes.

Could we maybe assign Matthias Kuhn to this issue, as it looks like he introduced the multithreading to qgswfsrequest?

#11 Updated by Giovanni Manghi over 5 years ago

Jonas Grieb wrote:

Giovanni Manghi wrote:

not sure this is related

https://github.com/qgis/QGIS/pull/7602

but seems so. Test it on master when merged, then report back. thanks!

Thank you for linking the PR. It looked promising, but I tested today and unfortunately the bug continues. By installing the qgis-dev version I could track down the problem further: If I set back the file https://github.com/qgis/QGIS/blob/master/src/providers/wfs/qgswfsrequest.cpp to it's state of QGIS 3.0, i.e. before the introduction of multithreading, I have no problems at all! But with the current version, when performing wfs request on my localhost geoserver, the code gets stuck in lines 194 to 214 of the mentioned file, where the "downloaderThread" never finishes.

Could we maybe assign Matthias Kuhn to this issue, as it looks like he introduced the multithreading to qgswfsrequest?

let the developer know by commenting on github (in the commit page, or even commenting at the lines you say above).

#12 Updated by Nyall Dawson over 5 years ago

If you've got a self compiled qgis version, can you:

1. Make sure it's a debug build
2. Run through gdb and interrupt when you get the hang (ctrl C)

3. Get a full back trace of all threads via "thread apply all bt"

Post that here

#13 Updated by Jonas Grieb over 5 years ago

Nyall Dawson wrote:

If you've got a self compiled qgis version, can you:

1. Make sure it's a debug build
2. Run through gdb and interrupt when you get the hang (ctrl C)

3. Get a full back trace of all threads via "thread apply all bt"

Post that here

See below at first the last lines of the console output during execution, then the output of the "thread apply all bt" command ("Datei oder Verzeichnis nicht gefunden" translates to "No such file or directory")


...
src/providers/wfs/qgswfscapabilities.cpp: 398: (capabilitiesReplyFinished) [0ms] [thread:0x33fdde0] featureType.name = topp:states
src/providers/wfs/qgswfscapabilities.cpp: 398: (capabilitiesReplyFinished) [1ms] [thread:0x33fdde0] featureType.name = tiger:giant_polygon
[Thread 0x7fff423fc700 (LWP 11285) exited]
[Thread 0x7fff42bfd700 (LWP 11284) exited]
^C
Thread 1 "qgis" received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Datei oder Verzeichnis nicht gefunden.
(gdb) thread apply all bt

Thread 15 (Thread 0x7fff433fe700 (LWP 11283)):
#0 0x00007fffec973709 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1 0x00007ffff47fc996 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff47f8463 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007fffec96d6ba in start_thread (arg=0x7fff433fe700) at pthread_create.c:333
#5 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff43bff700 (LWP 11282)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec44c38c in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fff3c001610, timeout=<optimized out>, context=0x7fff3c000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec44c38c in g_main_context_iterate (context=context@entry=0x7fff3c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec44c49c in g_main_context_iteration (context=0x7fff3c000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4a327cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff49d9b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff47f6834 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffec96d6ba in start_thread (arg=0x7fff43bff700) at pthread_create.c:333
#9 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff49cda700 (LWP 11276)):
#0 0x00007fffec973709 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1 0x00007ffff47fc996 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff47f8463 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007fffec96d6ba in start_thread (arg=0x7fff49cda700) at pthread_create.c:333
#5 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fff6affb700 (LWP 11268)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff03d6aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff06f7541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffec96d6ba in start_thread (arg=0x7fff6affb700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7fff6b7fc700 (LWP 11267)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff03d6aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff06f7541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffec96d6ba in start_thread (arg=0x7fff6b7fc700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fff6bffd700 (LWP 11266)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff03d6aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff06f7541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffec96d6ba in start_thread (arg=0x7fff6bffd700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fffb8a2e700 (LWP 11265)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff03d5a74 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff06f7541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffec96d6ba in start_thread (arg=0x7fffb8a2e700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7fffb9455700 (LWP 11264)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec44c38c in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fff640010c0, timeout=<optimized out>, context=0x1314000) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec44c38c in g_main_context_iterate (context=0x1314000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec44c712 in g_main_loop_run (loop=0x12fd4a0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4034
#4 0x00007fffcb1a89d6 in gdbus_shared_thread_func (user_data=0x1328d60) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./gio/gdbusprivate.c:246
#5 0x00007fffec472bb5 in g_thread_proxy (data=0xb6cc50) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gthread.c:780
#6 0x00007fffec96d6ba in start_thread (arg=0x7fffb9455700) at pthread_create.c:333
#7 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7fffb9c56700 (LWP 11263)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec44c38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffb00008c0, timeout=<optimized out>, context=0x135fb90) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec44c38c in g_main_context_iterate (context=context@entry=0x135fb90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
---Type <return> to continue, or q <return> to quit---
#3 0x00007fffec44c49c in g_main_context_iteration (context=0x135fb90, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007fffec44c4d9 in glib_worker_main (data=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:5672
#5 0x00007fffec472bb5 in g_thread_proxy (data=0xb6cca0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gthread.c:780
#6 0x00007fffec96d6ba in start_thread (arg=0x7fffb9c56700) at pthread_create.c:333
#7 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffbaa75700 (LWP 11262)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff06c788b in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff06c78c9 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffec96d6ba in start_thread (arg=0x7fffbaa75700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffbb34e700 (LWP 11259)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec44c38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffac003270, timeout=<optimized out>, context=0x7fffac000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec44c38c in g_main_context_iterate (context=context@entry=0x7fffac000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec44c49c in g_main_context_iteration (context=0x7fffac000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4a327cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff49d9b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff47f6834 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffec96d6ba in start_thread (arg=0x7fffbb34e700) at pthread_create.c:333
#9 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffbbb4f700 (LWP 11258)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec44c38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffb4002d80, timeout=<optimized out>, context=0x7fffb4000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec44c38c in g_main_context_iterate (context=context@entry=0x7fffb4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec44c49c in g_main_context_iteration (context=0x7fffb4000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4a327cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff49d9b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007fffed58dce5 in QCA::SyncThread::run() () at /usr/lib/x86_64-linux-gnu/libqca-qt5.so.2
#7 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffec96d6ba in start_thread (arg=0x7fffbbb4f700) at pthread_create.c:333
#9 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffc1d10700 (LWP 11257)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007fffc6c9d70b in () at /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#2 0x00007fffc6c9d427 in () at /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#3 0x00007fffec96d6ba in start_thread (arg=0x7fffc1d10700) at pthread_create.c:333
#4 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffd1354700 (LWP 11256)):
#0 0x00007ffff3eef74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffdfc4bc62 in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007fffdfc4d8d7 in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007fffd3666889 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4 0x00007ffff47fb7be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007fffec96d6ba in start_thread (arg=0x7fffd1354700) at pthread_create.c:333
#6 0x00007ffff3efb41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fffd3b9c340 (LWP 11248)):
#0 0x00007fffec973360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff47fca5b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007fffbc9ba4f2 in QgsWfsRequest::sendGET(QUrl const&, bool, bool, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#3 0x00007fffbc9948af in QgsWfsCapabilities::requestCapabilities(bool, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#4 0x00007fffbc98175b in QgsWFSProvider::getCapabilities() () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#5 0x00007fffbc971b5b in QgsWFSProvider::QgsWFSProvider(QString const&, QgsDataProvider::ProviderOptions const&, QgsWfsCapabilities::Capabilities const&) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#6 0x00007fffbc983a98 in classFactory () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#7 0x00007ffff61a1779 in QgsProviderRegistry::createProvider(QString const&, QString const&, QgsDataProvider::ProviderOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#8 0x00007ffff6272a5d in QgsVectorLayer::setDataProvider(QString const&, QgsDataProvider::ProviderOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#9 0x00007ffff6271fd4 in QgsVectorLayer::setDataSource(QString const&, QString const&, QString const&, QgsDataProvider::ProviderOptions const&, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#10 0x00007ffff6268dcf in QgsVectorLayer::QgsVectorLayer(QString const&, QString const&, QString const&, QgsVectorLayer::LayerOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#11 0x00007ffff6fe378b in QgisApp::addVectorLayer(QString const&, QString const&, QString const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.3.0
#12 0x00007ffff6f88fca in QgisApp::handleDropUriList(QList<QgsMimeDataUtils::Uri> const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.3.0
#13 0x00007ffff7079688 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void, void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&)>::call(void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), QgisApp*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.3.0
#14 0x00007ffff7074245 in void QtPrivate::FunctionPointer<void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&)>::call<QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void>(void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), Qg---Type <return> to continue, or q <return> to quit---
isApp*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.3.0
#15 0x00007ffff7069657 in QtPrivate::QSlotObject<void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.3.0
#16 0x00007ffff4a0abaf in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff2423214 in QgsBrowserDockWidget::handleDropUriList(QList<QgsMimeDataUtils::Uri> const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#18 0x00007ffff212c237 in QgsBrowserDockWidget::addLayer(QgsLayerItem*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#19 0x00007ffff212c5c8 in QgsBrowserDockWidget::addLayerAtIndex(QModelIndex const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#20 0x00007ffff212a574 in QgsBrowserDockWidget::itemDoubleClicked(QModelIndex const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#21 0x00007ffff213357f in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (QgsBrowserDockWidget::*)(QModelIndex const&)>::call(void (QgsBrowserDockWidget::*)(QModelIndex const&), QgsBrowserDockWidget*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#22 0x00007ffff2132b39 in void QtPrivate::FunctionPointer<void (QgsBrowserDockWidget::*)(QModelIndex const&)>::call<QtPrivate::List<QModelIndex const&>, void>(void (QgsBrowserDockWidget::*)(QModelIndex const&), QgsBrowserDockWidget*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#23 0x00007ffff21321b3 in QtPrivate::QSlotObject<void (QgsBrowserDockWidget::*)(QModelIndex const&), QtPrivate::List<QModelIndex const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.3.0
#24 0x00007ffff4a0abaf in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff5527845 in QAbstractItemView::doubleClicked(QModelIndex const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff5572fca in QTreeView::mouseDoubleClickEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff53123c7 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff5410b8e in QFrame::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff55366db in QAbstractItemView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff557520c in QTreeView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff49dc172 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff52cf03c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff52d4c19 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007ffff5f1d4ef in QgsApplication::notify(QObject*, QEvent*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#35 0x00007ffff49dc38b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff52d3b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007ffff532c5bb in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007ffff532eb7b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007ffff52cf05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007ffff52d4516 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007ffff5f1d4ef in QgsApplication::notify(QObject*, QEvent*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.3.0
#42 0x00007ffff49dc38b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007ffff4d1e848 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#44 0x00007ffff4d201a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#45 0x00007ffff4d03f08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#46 0x00007fffd3698200 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#47 0x00007fffec44c197 in g_main_context_dispatch (context=0x961a70) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3154
#48 0x00007fffec44c197 in g_main_context_dispatch (context=context@entry=0x961a70) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3769
#49 0x00007fffec44c3f0 in g_main_context_iterate (context=context@entry=0x961a70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3840
#50 0x00007fffec44c49c in g_main_context_iteration (context=0x961a70, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#51 0x00007ffff4a327cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007ffff49d9b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x00007ffff49e1bec in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#54 0x0000000000413f97 in main ()

#14 Updated by Nyall Dawson over 5 years ago

Thanks! Can you repeat with latest master (or 3.2 branch master) and post a trace from that build?

#15 Updated by Jonas Grieb over 5 years ago

The above was compiled with latest master (pulled this morning). I tried again with 3.2, see below. Apart from the first lines they seem pretty similar to me, also I tried it several times and sometimes it would come as far as below, sometimes stop at the same spot as with master above.


...
src/providers/wfs/qgswfscapabilities.cpp: 398: (capabilitiesReplyFinished) [0ms] [thread:0x3b8f6e0] featureType.name = topp:states
src/providers/wfs/qgswfscapabilities.cpp: 398: (capabilitiesReplyFinished) [0ms] [thread:0x3b8f6e0] featureType.name = tiger:giant_polygon
[Thread 0x7fff377fe700 (LWP 12156) exited]
[Thread 0x7fff37fff700 (LWP 12155) exited]
src/providers/wfs/qgswfsprovider.cpp: 1721: (getCapabilities) [7ms] latlon ext:-74.0272199999999998,40.6842210000000009 : -73.9070049999999981,40.8781779999999983
src/providers/wfs/qgswfsprovider.cpp: 1722: (getCapabilities) [0ms] src:EPSG:4326
src/providers/wfs/qgswfsprovider.cpp: 1723: (getCapabilities) [0ms] dst:EPSG:4326
src/providers/wfs/qgswfsprovider.cpp: 1732: (getCapabilities) [0ms] layer ext:-74.0272199999999998,40.6842210000000009 : -73.9070049999999981,40.8781779999999983
src/providers/wfs/qgswfsrequest.cpp: 40: (QgsWfsRequest) [0ms] theUri = user='admin' password='geoserver' restrictToRequestBBOX='1' srsname='EPSG:4326' typename='tiger:tiger_roads' url='http://localhost:8080/geoserver/wfs' version='auto' table="" sql=
[New Thread 0x7fff37fff700 (LWP 12157)]
[New Thread 0x7fff377fe700 (LWP 12158)]
src/providers/wfs/qgswfsrequest.cpp: 283: (replyProgress) [12ms] [thread:0x3b92470] 1099 of 1099 bytes downloaded.
src/providers/wfs/qgswfsrequest.cpp: 310: (replyFinished) [1ms] [thread:0x3b92470] reply OK
src/providers/wfs/qgswfsrequest.cpp: 375: (replyFinished) [0ms] [thread:0x3b92470] expirationDate:
src/providers/wfs/qgswfsrequest.cpp: 390: (replyFinished) [0ms] [thread:0x3b92470] Reply was cached: 0
[Thread 0x7fff377fe700 (LWP 12158) exited]
[Thread 0x7fff37fff700 (LWP 12157) exited]
^C
Thread 1 "qgis" received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Datei oder Verzeichnis nicht gefunden.
(gdb) thread apply all bt

Thread 15 (Thread 0x7fff44ae4700 (LWP 12151)):
#0 0x00007fffecab4709 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1 0x00007ffff4892996 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff488e463 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007fffecaae6ba in start_thread (arg=0x7fff44ae4700) at pthread_create.c:333
#5 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff452e5700 (LWP 12150)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec58d38c in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fff38001610, timeout=<optimized out>, context=0x7fff38000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec58d38c in g_main_context_iterate (context=context@entry=0x7fff38000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec58d49c in g_main_context_iteration (context=0x7fff38000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4ac87cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff4a6fb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff488c834 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffecaae6ba in start_thread (arg=0x7fff452e5700) at pthread_create.c:333
#9 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff470e5700 (LWP 12147)):
#0 0x00007fffecab4709 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1 0x00007ffff4892996 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007ffff488e463 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007fffecaae6ba in start_thread (arg=0x7fff470e5700) at pthread_create.c:333
#5 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fff6bffd700 (LWP 12125)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff0517aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff0838541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffecaae6ba in start_thread (arg=0x7fff6bffd700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7fffb0bb7700 (LWP 12124)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff0517aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff0838541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffecaae6ba in start_thread (arg=0x7fffb0bb7700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fffb13b8700 (LWP 12123)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff0517aa3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff0838541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffecaae6ba in start_thread (arg=0x7fffb13b8700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fffb1bb9700 (LWP 12122)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff0516a74 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff0838541 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffecaae6ba in start_thread (arg=0x7fffb1bb9700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7fffb25c0700 (LWP 12121)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec58d38c in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fff5c0010c0, timeout=<optimized out>, context=0x1573510) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec58d38c in g_main_context_iterate (context=0x1573510, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec58d712 in g_main_loop_run (loop=0x154f3f0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4034
#4 0x00007fffcb1a89d6 in gdbus_shared_thread_func (user_data=0x15734e0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./gio/gdbusprivate.c:246
#5 0x00007fffec5b3bb5 in g_thread_proxy (data=0xcd4850) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gthread.c:780
#6 0x00007fffecaae6ba in start_thread (arg=0x7fffb25c0700) at pthread_create.c:333
#7 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7fffb2dc1700 (LWP 12120)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec58d38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fff640008c0, timeout=<optimized out>, context=0x154f0a0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec58d38c in g_main_context_iterate (context=context@entry=0x154f0a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
---Type <return> to continue, or q <return> to quit---
#3 0x00007fffec58d49c in g_main_context_iteration (context=0x154f0a0, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007fffec58d4d9 in glib_worker_main (data=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:5672
#5 0x00007fffec5b3bb5 in g_thread_proxy (data=0xcd48a0) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gthread.c:780
#6 0x00007fffecaae6ba in start_thread (arg=0x7fffb2dc1700) at pthread_create.c:333
#7 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffb37fe700 (LWP 12119)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff080888b in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#2 0x00007ffff08088c9 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#3 0x00007fffecaae6ba in start_thread (arg=0x7fffb37fe700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffb3fff700 (LWP 12109)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec58d38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffac003270, timeout=<optimized out>, context=0x7fffac000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec58d38c in g_main_context_iterate (context=context@entry=0x7fffac000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec58d49c in g_main_context_iteration (context=0x7fffac000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4ac87cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff4a6fb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff488c834 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffecaae6ba in start_thread (arg=0x7fffb3fff700) at pthread_create.c:333
#9 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffb8eab700 (LWP 12103)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffec58d38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffb4002d80, timeout=<optimized out>, context=0x7fffb4000990) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2 0x00007fffec58d38c in g_main_context_iterate (context=context@entry=0x7fffb4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3 0x00007fffec58d49c in g_main_context_iteration (context=0x7fffb4000990, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4 0x00007ffff4ac87cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff4a6fb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007fffed6cece5 in QCA::SyncThread::run() () at /usr/lib/x86_64-linux-gnu/libqca-qt5.so.2
#7 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007fffecaae6ba in start_thread (arg=0x7fffb8eab700) at pthread_create.c:333
#9 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffc1783700 (LWP 12100)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007fffc60ed70b in () at /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#2 0x00007fffc60ed427 in () at /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#3 0x00007fffecaae6ba in start_thread (arg=0x7fffc1783700) at pthread_create.c:333
#4 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffd14dc700 (LWP 12098)):
#0 0x00007ffff3f8574d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fffdfdb9c62 in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007fffdfdbb8d7 in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007fffd37ee889 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4 0x00007ffff48917be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007fffecaae6ba in start_thread (arg=0x7fffd14dc700) at pthread_create.c:333
#6 0x00007ffff3f9141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fffd3d24300 (LWP 12091)):
#0 0x00007fffecab4360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff4892a5b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007fffb9d148be in QgsWfsRequest::sendGET(QUrl const&, bool, bool, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#3 0x00007fffb9d1ec58 in QgsWFSDescribeFeatureType::requestFeatureType(QString const&, QString const&, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#4 0x00007fffb9cd6d96 in QgsWFSProvider::describeFeatureType(QString&, QgsFields&, QgsWkbTypes::Type&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#5 0x00007fffb9ccc8f1 in QgsWFSProvider::QgsWFSProvider(QString const&, QgsDataProvider::ProviderOptions const&, QgsWfsCapabilities::Capabilities const&) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#6 0x00007fffb9cde120 in classFactory () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/qgis/plugins/libwfsprovider.so
#7 0x00007ffff621b2e1 in QgsProviderRegistry::createProvider(QString const&, QString const&, QgsDataProvider::ProviderOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#8 0x00007ffff62e0143 in QgsVectorLayer::setDataProvider(QString const&, QgsDataProvider::ProviderOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#9 0x00007ffff62df6d2 in QgsVectorLayer::setDataSource(QString const&, QString const&, QString const&, QgsDataProvider::ProviderOptions const&, bool) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#10 0x00007ffff62d64cd in QgsVectorLayer::QgsVectorLayer(QString const&, QString const&, QString const&, QgsVectorLayer::LayerOptions const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#11 0x00007ffff7023d37 in QgisApp::addVectorLayer(QString const&, QString const&, QString const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.2.1
#12 0x00007ffff6fcb0e6 in QgisApp::handleDropUriList(QList<QgsMimeDataUtils::Uri> const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.2.1
#13 0x00007ffff70b6400 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void, void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&)>::call(void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), QgisApp*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.2.1
#14 0x00007ffff70b11a1 in void QtPrivate::FunctionPointer<void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&)>::call<QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void>(void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), Qg---Type <return> to continue, or q <return> to quit---
isApp*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.2.1
#15 0x00007ffff70a69b1 in QtPrivate::QSlotObject<void (QgisApp::*)(QList<QgsMimeDataUtils::Uri> const&), QtPrivate::List<QList<QgsMimeDataUtils::Uri> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_app.so.3.2.1
#16 0x00007ffff4aa0baf in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff24c56dc in QgsBrowserDockWidget::handleDropUriList(QList<QgsMimeDataUtils::Uri> const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#18 0x00007ffff21d583f in QgsBrowserDockWidget::addLayer(QgsLayerItem*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#19 0x00007ffff21d5bd0 in QgsBrowserDockWidget::addLayerAtIndex(QModelIndex const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#20 0x00007ffff21d3b7c in QgsBrowserDockWidget::itemDoubleClicked(QModelIndex const&) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#21 0x00007ffff21dcb87 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (QgsBrowserDockWidget::*)(QModelIndex const&)>::call(void (QgsBrowserDockWidget::*)(QModelIndex const&), QgsBrowserDockWidget*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#22 0x00007ffff21dc141 in void QtPrivate::FunctionPointer<void (QgsBrowserDockWidget::*)(QModelIndex const&)>::call<QtPrivate::List<QModelIndex const&>, void>(void (QgsBrowserDockWidget::*)(QModelIndex const&), QgsBrowserDockWidget*, void**) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#23 0x00007ffff21db7bb in QtPrivate::QSlotObject<void (QgsBrowserDockWidget::*)(QModelIndex const&), QtPrivate::List<QModelIndex const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_gui.so.3.2.1
#24 0x00007ffff4aa0baf in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff55bd845 in QAbstractItemView::doubleClicked(QModelIndex const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff5608fca in QTreeView::mouseDoubleClickEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff53a83c7 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff54a6b8e in QFrame::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff55cc6db in QAbstractItemView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff560b20c in QTreeView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff4a72172 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff536503c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff536ac19 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007ffff5f9bf4f in QgsApplication::notify(QObject*, QEvent*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#35 0x00007ffff4a7238b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff5369b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007ffff53c25bb in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007ffff53c4b7b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007ffff536505c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007ffff536a516 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007ffff5f9bf4f in QgsApplication::notify(QObject*, QEvent*) () at /home/jgrieb/dev/cpp/QGIS/build-master/output/lib/libqgis_core.so.3.2.1
#42 0x00007ffff4a7238b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007ffff4db4848 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#44 0x00007ffff4db61a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#45 0x00007ffff4d99f08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#46 0x00007fffd3820200 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#47 0x00007fffec58d197 in g_main_context_dispatch (context=0xac9650) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3154
#48 0x00007fffec58d197 in g_main_context_dispatch (context=context@entry=0xac9650) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3769
#49 0x00007fffec58d3f0 in g_main_context_iterate (context=context@entry=0xac9650, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3840
#50 0x00007fffec58d49c in g_main_context_iteration (context=0xac9650, may_block=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#51 0x00007ffff4ac87cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007ffff4a6fb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x00007ffff4a77bec in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#54 0x0000000000413f97 in main ()

#16 Updated by Jacob Madsen about 5 years ago

This problem appears to still reproduce in QGIS 3.4.4 on Windows x64.

#17 Updated by Giovanni Manghi about 5 years ago

  • Affected QGIS version changed from 3.2.1 to 3.5(master)
  • Subject changed from QGIS 3.2.1 freezes when adding multiple WFS layers from geoserver to QGIS freezes when adding multiple WFS layers from a geoserver instance
  • Status changed from Feedback to Open

#18 Updated by Giovanni Manghi about 5 years ago

  • Regression? changed from No to Yes
  • Priority changed from Normal to High
  • Crashes QGIS or corrupts data changed from No to Yes

#19 Updated by Jürgen Fischer about 5 years ago

  • Duplicated by Bug report #21244: QGIS 3.5.0-Master crashes when loading multiple WFS layers added

Also available in: Atom PDF