Modify

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#12376 closed defect (fixed)

Multipolygon test hangs

Reported by: Aurimas Owned by: team
Priority: major Milestone: 16.02
Component: Core validator Version: latest
Keywords: regression multipolygon hang thread fork join Cc: simon04

Description

What steps will reproduce the problem?

  1. Open multipolygon_hang.osm.bz2
  2. Press Shift+V

What is the expected result?

Validation completes without any problems.

What happens instead?

Validation hangs on a Multipolygon test.

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

Validation succeeds with JOSM 9165.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-01-15 03:12:34 +0100 (Fri, 15 Jan 2016)
Build-Date:2016-01-15 02:33:41
Revision:9460
Relative:URL: ^/trunk

Identification: JOSM/1.5 (9460 lt) Linux Ubuntu Xenial Xerus (development branch)
Memory Usage: 695 MB / 3504 MB (560 MB allocated, but free)
Java version: 1.7.0_91-b02, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: openjdk-7-jre:amd64-7u91-2.6.3-3
VM arguments: [-Djosm.restart=true, -Djosm.home=/home/aurimas/.josm-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
- Mapillary (31976)
- apache-commons (31895)
- apache-http (31895)
- buildings_tools (31895)
- download_along (31772)
- log4j (31895)
- measurement (31895)
- utilsplugin2 (31895)

Last errors/warnings:
- W:  Roads that cannot be completed: Could not get presets icon presets/way_tertiary.png
- E: Nepavyko lokalizuoti piešinio 'presets/way_unclassified.png'
- W:  Unfinished secondary roads: Could not get presets icon presets/way_unclassified.png
- E: Nepavyko lokalizuoti piešinio 'presets/places.png'
- W:  Place and residential area: Could not get presets icon presets/places.png

Attachments (2)

multipolygon_hang.osm.bz2 (34.0 KB ) - added by Aurimas 9 years ago.
josm-12376-MultipolygonBuilder-invokeAll-tasks.patch (1.6 KB ) - added by cmuelle8 9 years ago.
josm-12376-MultipolygonBuilder-invokeAll-tasks.patch

Download all attachments as: .zip

Change History (13)

by Aurimas, 9 years ago

Attachment: multipolygon_hang.osm.bz2 added

comment:1 by Don-vip, 9 years ago

Component: CoreCore validator
Keywords: regression multipolygon added
Milestone: 16.02
Priority: normalmajor

comment:2 by Don-vip, 9 years ago

regression between r9346 and r9415

comment:3 by cmuelle8, 9 years ago

I can confirm this bug using the attached data. The test works if I comment out parts of

source:/trunk/src/org/openstreetmap/josm/data/osm/MultipolygonBuilder.java#L305

and use boundaryWays.size()+1 to avoid running the test in parallel and instead force a direct execution.

comment:4 by Don-vip, 9 years ago

Cc: simon04 added
Keywords: hang thread fork join added

regression from r9351 then

comment:5 by Don-vip, 9 years ago

In 9476/josm:

see #12376 - add non-regression unit test

by cmuelle8, 9 years ago

josm-12376-MultipolygonBuilder-invokeAll-tasks.patch

comment:6 by cmuelle8, 9 years ago

In r9351 actually starting the tasks was forgotten. Waiting for unstarted tasks takes forever.

But then, not having started any tasks was probably better than killing the stack
(source:/trunk/src/org/openstreetmap/josm/data/osm/MultipolygonBuilder.java#L378 needs less-than-or-equal operator)

See patch to fix..

comment:7 by Don-vip, 9 years ago

Resolution: fixed
Status: newclosed

In 9480/josm:

fix #12376 - Multipolygon test hangs (patch by cmuelle8), regression from r9351

comment:8 by Don-vip, 9 years ago

thanks!

comment:9 by simon04, 9 years ago

Thank you for spotting+fixing the bug!

comment:10 by Don-vip, 9 years ago

In 9487/josm:

see #12376 - checkstyle

comment:11 by cmuelle8, 9 years ago

part of the work was done by Don-vip by pinpointing me to r9351, so thanks from my side as well

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.