Modify

Opened 4 years ago

Closed 4 years ago

#19618 closed defect (fixed)

Level Autofilter makes JOSM freeze with repeat_on objects

Reported by: adrienzhang@… Owned by: team
Priority: normal Milestone:
Component: Plugin ​indoorhelper Version: latest
Keywords: template_report autofilter level Cc:

Description

What steps will reproduce the problem?

  1. Go to this area
  2. Create objet with level=-2
  3. Click on any level proposed by Autofilter

What is the expected result?

Filter out objects not in the chosen level

What happens instead?

Application freezes and must be terminated manually

Please provide any additional information below. Attach a screenshot if possible.

Went on an earlier area to reproduce the bug. Only one level and seems to work fine. I tried to wait in order to see if it was due to a long process but it wasn't it either. By the way, everything worked fine while I was mapping under level=0, seems the -2 value is problematic

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-07-30 12:44:04 +0200 (Thu, 30 Jul 2020)
Revision:16812
Build-Date:2020-07-31 01:30:49
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (16812 fr) Linux Ubuntu 20.04.1 LTS
Memory Usage: 1238 MB / 1928 MB (445 MB allocated, but free)
Java version: 11.0.8+10-post-Ubuntu-0ubuntu120.04, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Screen: :0.0 1920x1080 (scaling 1.0x1.0)
Maximum Screen Size: 1920x1080
Best cursor sizes: 16x16 -> 16x16, 32x32 -> 32x32
Java package: openjdk-11-jre:amd64-11.0.8+10-0ubuntu1~20.04
Java ATK Wrapper package: libatk-wrapper-java:all-0.37.1-1
libcommons-compress-java: libcommons-compress-java:all-1.19-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:-
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true]
Program arguments: [${HOME}/Bureau/20200801/pasteur/pasteur.joz]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (35414)
+ PicLayer (35405)
+ RoadSigns (35510)
+ alignways (35474)
+ apache-commons (35362)
+ apache-http (35092)
+ continuosDownload (91)
+ ejml (35313)
+ geotools (35169)
+ gridify (1588746833)
+ gson (35313)
+ indoorhelper (35405)
+ javafx-unixoid (35458)
+ jaxb (35092)
+ jna (35092)
+ jts (35122)
+ merge-overlap (35248)
+ pt_assistant (2.1.10-80-g7d9bba3)
+ scripting (30796)
+ splinex (35454)
+ tageditor (35258)
+ todo (30306)
+ turnlanes-tagging (283)
+ utilsplugin2 (35487)

Tagging presets:
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/FR.zip
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://github.com/Jungle-Bus/josm-presets/raw/gh-pages/jungle-stops/preset.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Dispositifs_Publicitaires&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Light_sources&zip=1
+ https://raw.githubusercontent.com/osmlab/name-suggestion-index/master/dist/name-suggestions.presets.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/iD&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LessObtrusiveNodes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewHighwayColors&zip=1
- https://raw.githubusercontent.com/OpenSidewalks/OpenSidewalks-Schema/master/open_sidewalks.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AdvertisingStyle&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_style_JOSM/master/Styles_Traffic_signs_EUR_OC.zip
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/DestinationSignRelation&zip=1
- https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/light_source&zip=1
- <josm.userdata>/styles/sit.mapcss

Validator rules:
+ https://github.com/Jungle-Bus/transport_mapcss/raw/gh-pages/transport.validator.zip
+ https://josm.openstreetmap.de/josmfile?page=Rules/FranceSpecificRules&zip=1

Last errors/warnings:
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libavplugin-57.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libavplugin-54.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libavplugin-ffmpeg-56.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libavplugin-ffmpeg-57.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libfxplugins.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- E: java.lang.UnsatisfiedLinkError: <josm.userdata>/plugins/javafx/libavplugin-56.so: libgstreamer-lite.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
- W: javax.imageio.IIOException: Caught exception during read:. Cause : java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
- E: Impossible de trouver l'image "traffic_signs_presets/tunnel.png"
- W:  Tunnel: Could not get presets icon traffic_signs_presets/tunnel.png

Attachments (5)

1.jpg (222.4 KB ) - added by anonymous 4 years ago.
Area 1 no Autofilter
2.jpg (185.6 KB ) - added by anonymous 4 years ago.
Area 1 Autofilter level=-1
3.jpg (232.1 KB ) - added by anonymous 4 years ago.
Area 2 no Autofilter
4.jpg (232.1 KB ) - added by anonymous 4 years ago.
Area 2 clicked on Autofilter:-2
repeat_on.osm (1.8 KB ) - added by Lejun 4 years ago.
Small area with repeat_on tag on elevator and a nearby level=0 door.

Download all attachments as: .zip

Change History (21)

by anonymous, 4 years ago

Attachment: 1.jpg added

Area 1 no Autofilter

by anonymous, 4 years ago

Attachment: 2.jpg added

Area 1 Autofilter level=-1

by anonymous, 4 years ago

Attachment: 3.jpg added

Area 2 no Autofilter

by anonymous, 4 years ago

Attachment: 4.jpg added

Area 2 clicked on Autofilter:-2

comment:1 by skyper, 4 years ago

Keywords: autofilter level added

comment:2 by anonymous, 4 years ago

Summary: Level Autofilter makes JOSM freezeLevel Autofilter makes JOSM freeze with repeat_on objects

After further work it seems that the issue comes from the repeat_on tag. Level Autofiltering works until you create anything with that attribute.

comment:3 by GerdP, 4 years ago

Resolution: fixed
Status: newclosed

In 17011/josm:

(The changeset message doesn't reference this ticket)

comment:4 by GerdP, 4 years ago

Resolution: fixed
Status: closedreopened

Argh, sorry, typo in the commit message.

in reply to:  4 comment:5 by anonymous, 4 years ago

Tried in 17013, the issue's still here.

comment:6 by GerdP, 4 years ago

I was not able to reproduce a freeze, but there seems to be an error in the calculation of the "Filter active" popup.
When I click on level -1 it says "Filter active: level=-2"
When I clock on level -2 it says "Filter active: level=-4"

Please attach a small sample file that allows to reproduce the freezing.

comment:7 by GerdP, 4 years ago

In 17040/josm:

see #19618: Level Autofilter makes JOSM freeze with repeat_on objects
Fix reported level value in "Filter active:" popup

comment:8 by GerdP, 4 years ago

Owner: changed from team to adrienzhang@…
Status: reopenedneedinfo

comment:9 by GerdP, 4 years ago

Component: CorePlugin ​indoorhelper

BTW: I find no file in JOSM core sources that would care about a repeat_on tag. The plugin indoor_helper seems to deal with it and there is also code to handle AutoFilter.

comment:10 by GerdP, 4 years ago

I was now able to reproduce the freezing problem with indoor_helper plugin installed

by Lejun, 4 years ago

Attachment: repeat_on.osm added

Small area with repeat_on tag on elevator and a nearby level=0 door.

comment:11 by GerdP, 4 years ago

I have no idea how to fix this. The code in indoor_helper tries to update a flag. It calls OsmPrimitive.setDisabledState(boolean hidden) which later calls Dataset.beginUpdate() and that call blocks.

comment:12 by GerdP, 4 years ago

Owner: changed from adrienzhang@… to team
Status: needinfonew

Steps to reproduce (with autofilter for level and indoor_helper plugin installed)

  1. load attached repeat_on.osm
  2. zoom out (once) to activate autofilter
  3. Click on the 0 button of the autofilter

comment:13 by GerdP, 4 years ago

I've openened an issue in Github: https://github.com/JOSM/indoorhelper/issues/7

comment:14 by rebsc, 4 years ago

The error is caused by the Indoorhelper plugin calling indoorController.unsetSpecificKeyFilter("repeat_on"). This method calls indoorController.unsetSpecificKeyFilter("repeat_on"); what actually causes a deadlock or something while trying to lock the DataSet at boolean locked = writeLock();. How can I access the DataSet safely? I tried to use public boolean isLocked(); to make sure it's unlocked but this doesn't work. Always if I try to access/modify the DataSet it will run into this error...

Version 0, edited 4 years ago by rebsc (next)

comment:15 by GerdP, 4 years ago

Ticket #19873 has been marked as a duplicate of this ticket.

comment:16 by Klumbumbus, 4 years ago

Resolution: fixed
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.