Bug report #16992

Unresponsive ArcGis MapServer layer makes QGIS eat CPU after being closed

Added by Johannes Kroeger almost 3 years ago. Updated over 1 year ago.

Status:Open
Priority:High
Assignee:Sandro Mani
Category:Web Services clients/ArcGIS
Affected QGIS version:3.6.0 Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:24891

Description

Layers -> Add Layer -> Add ArcGIS Mapserver Layer and use this URL http://www.geoportal.lt/inspire-services/rest/services/INSPIRE/Transport_networks_CommonTransportElements/MapServer
Then connect to it and add any of the layers.
Then close QGIS while it tries to fetch imagery from the server (it is timing out for me).

QGIS' window will vanish but QGIS keeps running in the background. At some point it starts eating all CPU with 3 threads for me. Ctrl-C won't kill it, I had to kill -9.

This is my pstree in such moment and I attached strace to the process to see what is going on:

  │   ├─bash(21710)───qgis(24443)─┬─{qgis}(24445)
  │   │                           ├─{qgis}(24474)
  │   │                           ├─{qgis}(24476)
  │   │                           ├─{qgis}(24477)
  │   │                           ├─{qgis}(24480)
  │   │                           ├─{qgis}(24481)
  │   │                           ├─{qgis}(24482)
  │   │                           └─{qgis}(24483)

# strace -p 24443
strace: Process 24443 attached
futex(0xf0e396230, FUTEX_WAIT_PRIVATE, 0, NULL^Cstrace: Process 24443 detached
 <detached ...>
# strace -p 24445
strace: Process 24445 attached
select(5, [4], NULL, NULL, NULL^Cstrace: Process 24445 detached
 <detached ...>
# strace -p 24476
strace: Process 24476 attached
restart_syscall(<... resuming interrupted restart_syscall ...>^Cstrace: Process 24476 detached
 <detached ...>
# strace -p 24477
strace: Process 24477 attached
restart_syscall(<... resuming interrupted restart_syscall ...>^Cstrace: Process 24477 detached
 <detached ...>
# strace -p 24482
strace: Process 24482 attached
restart_syscall(<... resuming interrupted restart_syscall ...>^Cstrace: Process 24482 detached
 <detached ...>
# strace -p 24483
strace: Process 24483 attached
restart_syscall(<... resuming interrupted restart_syscall ...>^Cstrace: Process 24483 detached
 <detached ...>

Those always only gave that one line, nothing else.
The other three processes however are throwing the following lines over and over again.

24474:    poll([{fd=18, events=POLLIN}, {fd=20, events=POLLIN}], 2, 0) = 1 ([{fd=20, revents=POLLIN|POLLERR|POLLHUP}])
24480:    poll([{fd=25, events=POLLIN}, {fd=26, events=POLLIN}], 2, -1) = 1 ([{fd=26, revents=POLLIN}])
24481:    poll([{fd=27, events=POLLIN}, {fd=28, events=POLLIN}], 2, -1) = 1 ([{fd=28, revents=POLLIN}])

I tried replicating this in QGIS master but there clicking "Add" for the layers did not result in anything. :o)

History

#1 Updated by Giovanni Manghi almost 3 years ago

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

Yes I confirm that, testing on Windows... on exit (after several network timeouts errors) QGIS crashes.

#2 Updated by Giovanni Manghi over 1 year ago

  • Resolution set to end of life
  • Status changed from Open to Closed

End of life notice: QGIS 2.18 LTR

Source:
http://blog.qgis.org/2019/03/09/end-of-life-notice-qgis-2-18-ltr/

QGIS 3.4 has recently become our new Long Term Release (LTR) version. This is a major step in our history – a long term release version based on the massive updates, library upgrades and improvements that we carried out in the course of the 2.x to 3x upgrade cycle.

We strongly encourage all users who are currently using QGIS 2.18 LTR as their preferred QGIS release to migrate to QGIS 3.4. This new LTR version will receive regular bugfixes for at least one year. It also includes hundreds of new functions, usability improvements, bugfixes, and other goodies. See the relevant changelogs for a good sampling of all the new features that have gone into version 3.4

Most plugins have been either migrated or incorporated into the core QGIS code base.

We strongly discourage the continued use of QGIS 2.18 LTR as it is now officially unsupported, which means we’ll not provide any bug fix releases for it.

You should also note that we intend to close all bug tickets referring to the now obsolete LTR version. Original reporters will receive a notification of the ticket closure and are encouraged to check whether the issue persists in the new LTR, in which case they should reopen the ticket.

If you would like to better understand the QGIS release roadmap, check out our roadmap page! It outlines the schedule for upcoming releases and will help you plan your deployment of QGIS into an operational environment.

The development of QGIS 3.4 LTR has been made possible by the work of hundreds of volunteers, by the investments of companies, professionals, and administrations, and by continuous donations and financial support from many of you. We sincerely thank you all and encourage you to collaborate and support the project even more, for the long term improvement and sustainability of the QGIS project.

#3 Updated by Johannes Kroeger over 1 year ago

  • Resolution deleted (end of life)
  • Status changed from Closed to Reopened

Still happening in 3.6.0-Noosa.

To replicate I added all 3 available layers from the server linked in the original report. I zoomed and quickly quit QGIS. Its window is now gone but its processes are still running and eating CPU. Ctrl-C does not work, only kill -9.

#4 Updated by Giovanni Manghi over 1 year ago

  • Affected QGIS version changed from 2.18.11 to 3.6.0
  • Status changed from Reopened to Open

Also available in: Atom PDF