Bug report #11722
Hang on Identify Feature on Oracle layers
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | Jürgen Fischer | ||
Category: | Data Provider/Oracle | ||
Affected QGIS version: | 2.6.0 | Regression?: | No |
Operating System: | Windows 7 | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | duplicate |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 19959 |
Description
I have tried Identify Feature on Oracle-objects using QGIS 2.4.0.1 and 2.6.0 and QGIS becomes unresponsive, i.e. stops working entirely while program window goes grey/white. Have to force quit and restart QGIS. My boss asks for this functionality and I don't know what to tell him... I work at Ludvika Kommun (municipally) in Sweden.
My boss has Windows 7 32-bit SP1 - QGIS Standalone Installer 32-bit
I have Windows 7 64-bit SP1 - OSGeo4W Network installer 64-bit
Database Oracle spatial 11g
Identify Feature works as inteded on shp-objects, info pops up in left margin instantly.
Identify Feature crashes QGIS on Oracle-objects (time out endless loop - requires force quit). Does Identify Feature call Oracle-db without login password?
This has not been fixed for 18 months, assign bug to another developer?
Best regards
Related issues
History
#1 Updated by Jürgen Fischer about 10 years ago
Not reproducable here. Please add more details.
#2 Updated by Jürgen Fischer about 10 years ago
- Status changed from Open to Feedback
- Priority changed from High to Normal
#3 Updated by Alexander Novoselov about 10 years ago
the same #11744 ?
#4 Updated by Jürgen Fischer about 10 years ago
- Subject changed from Identify Feature crashes QGIS on Oracle-objects to Hang on Identify Feature on Oracle layers
#5 Updated by Per Engström about 10 years ago
- File 141125_QGIS_Identfy_Feature_Oracle_object_Error_Forced_Quit.png added
- File 141125_QGIS_Identfy_Feature_Oracle_object_Error_unresponsive_Endless_Loop.png added
The workspace has both locally stored shape-layers, externally stored shape-layers and externally stored Oracle-layers.
QGIS connects to the Oracle-server a show the Oracle-layers on the map after a initial delay. When right-clicking on the Oracle-layers I can view and search the Oracle attribute table.
However, when using the Identify Feature tool on Oracle features QGIS hangs in a endless loop and the entire QGIS program window gets grayed/whitened (as shown in attached screen-dumps). QGIS has to be forced to quit. Happens every time we use the Identify Feature tool on Oracle-layers.
#6 Updated by Jürgen Fischer about 10 years ago
Per Engström wrote:
However, when using the Identify Feature tool on Oracle features QGIS hangs in a endless loop and the entire QGIS program window gets grayed/whitened (as shown in attached screen-dumps). QGIS has to be forced to quit. Happens every time we use the Identify Feature tool on Oracle-layers.
As said I can't reproduce that here, in other words identify works fine for me on oracle layers. There must be something special about your installation. Do you get any messages in the message log regarding Oracle?
#7 Updated by Per Engström about 10 years ago
I checked the message log viewed within QGIS and immediatly after loading the workspace/projektfile I have the following in the Message Log (Oracle Tab):
"No spatial index on column XXX_XXXX.XXX_VPOINT.SHAPE found - expect poor performance."
There is an identical message for each of the Oracle layers.
I cannot find any log that is time stamped at the hang event. When I use the Identify Feature tool QGIS hangs and I can not find any log entries regarding either Identify Feature or the crasch time stamp.
I don't really know where and what to look for...
#8 Updated by Per Engström about 10 years ago
I get the same Oracle Log Message in both QGIS 2.4.0.1 and 2.6.0 (2.6.0 reports in swedish).
#9 Updated by Jürgen Fischer about 10 years ago
Per Engström wrote:
I checked the message log viewed within QGIS and immediatly after loading the workspace/projektfile I have the following in the Message Log (Oracle Tab):
"No spatial index on column XXX_XXXX.XXX_VPOINT.SHAPE found - expect poor performance."
There is an identical message for each of the Oracle layers.
Are those views? Master should handle those better. Otherwise have you tried to create a spatial index (vector layer properties, general tab, create spatial index) ?
I cannot find any log that is time stamped at the hang event. When I use the Identify Feature tool QGIS hangs and I can not find any log entries regarding either Identify Feature or the crasch time stamp.
It isn't crashing, is it? It just takes ages to do the query - and that's probably because of the missing (or not detected) spatial index.
#10 Updated by Per Engström about 10 years ago
The Oracle Log Messages refers to Oracle Spatial layers containing water and sewage piping and valves, they are correctly projected on the map and I can view and search their attribute tables.
I have left it running as is for hours and nothing happens, it doesn't respond.
I tried to create Spatial Index as you proposed, it tried for a couple of seconds then presented an error message. Message Log (Oracle-tab) as follows:
"Creation spatial index failed.
SQL:CREATE INDEX QGIS_IDX_0000000001 ON "XXXXX_XXXXX"."XXX_XXXX_XXXX_VPOINT"("SHAPE") INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL
Error: ORA-01702: a view is not appropriate here
Kan inte köra uttryck"
("Kan inte köra uttryck" means "Can not run expression").
Could it be that I am using separate login credentials to the Oracle Server - view only login with QGIS and edit login with the proprietary AutoCAD Map 3D plugin?
Must I have write access to the Oracle server to create Spatial Index? Can the Spatial Indexing be done outside QGIS directly on the Oracle server?
#11 Updated by Jürgen Fischer about 10 years ago
- Status changed from Feedback to Closed
- Resolution set to duplicate
Per Engström wrote:
Jürgen Fischer wrote:
Are those views? Master should handle those better. Otherwise have you tried to create a spatial index (vector layer properties, general tab, create spatial index) ?
Error: ORA-01702: a view is not appropriate here
Ok, so you confirm that the layer is referring to a view. And hence this issue is a duplicate of #11358. The issue is already fixed in master and views should perform much better there.
#12 Updated by Per Engström about 10 years ago
Ok, nice work :) The master you are referring to, is it going to be released as 2.8.0? When will it be out?
Best Regards!
Per Engström
#13 Updated by Jürgen Fischer about 10 years ago
Per Engström wrote:
Ok, nice work :) The master you are referring to, is it going to be released as 2.8.0? When will it be out?
Best Regards!
Per Engström
2.8.0 is planned for 20.02.2015 (see release schedule). But you can verify right now using a nightly build or a weekly snapshot (links in the section following the release schedule), if master actually solves the problem for you.
#14 Updated by Per Engström about 10 years ago
- File 141128_NEW__CLUE__-_all_objects_seem_to_have_been_selected_by_the_Identify_Feature_tool___QGIS_Identify_Feature_hang_on_fresh_layer_QGIS_f00db95__2.7.0_Master__.PNG added
- File 141128_QGIS_Identify_Feature_hang_on_fresh_layer_QGIS_f00db95__2.7.0_Master_.PNG added
Hello again! I have now tested with Master f00db95 (2.7.0) and it seems to be no difference, the program hangs after the Identify Feature tool have been used. Nothing happened for several minutes so I took a screen-shot to describe the process, planning to leave it running over the weekend.
I left QGIS running despite the hang while I edited the screen-shot, but when I was ready with the screen-shot I noticed in QGIS upper right corner still visible that ALL OBJECTS HAD BEEN SELECTED AND MARKED WITH RED! QGIS-program totally frozen and unresponsive but all those Oracle layer objects had been selected while I was occupied editing the screenshot!
Going to leave it running as is over the weekend to see how it looks come monday.
Until then!
/Per
#15 Updated by Jürgen Fischer about 10 years ago
Per Engström wrote:
Hello again! I have now tested with Master f00db95 (2.7.0) and it seems to be no difference, the program hangs after the Identify Feature tool have been used. Nothing happened for several minutes so I took a screen-shot to describe the process, planning to leave it running over the weekend.
No need - if you see "expect poor performance" there will be poor performance. Does the problem also occur when you use the geometry table instead of the view?
Please run the following query in sqlplus
and report what it produces:
SELECT shape FROM vab_view_mapx_vline WHERE sdo_filter(shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,3),mdsys.sdo_ordinate_array(1,1,-1,-1)))='TRUE';
#16 Updated by Per Engström about 10 years ago
- File 141201_QGIS_Identify_Feature_Hang_after_running_over_weekend_-_still_not_responding.PNG added
- File 141201_QGIS_Identify_Feature_Hang_-_SQLplus_query_error_codes.PNG added
Hello again. I left QGIS running over the weekend and at first glance it looked OK but it was still totally froozen and did not answer to anything, however it is apparent that QGIS selects all object instead of just the one clicked on when using the Identify Feature tool.
I ran the SQL query in SQLplus as you asked and it returned three error codes in broken swedish (only the cides presented here, see added screendump for full text):
ORA-29902
ORA-13208
ORA-06512
I do not fully understand what this mean, but I guess it mean what you already have said, that it is a configuration issue?