Modify

Opened 8 years ago

Closed 8 years ago

#12221 closed defect (fixed)

TMS cache is reset every third time (WARNING: Region [TMS] Problem verifying disk. Message [null])

Reported by: holgermappt Owned by: team
Priority: normal Milestone:
Component: Core imagery Version: latest
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Delete the TMS cache files from disk (TMS.data and TMS.data)
  2. Select expert mode in preferences, quit JOSM
  3. Start JOSM
  4. Open a background imagery layer, e.g. Bing; there are messages on the command line about the loaded tiles (INFO: GET http://ecn.t3.tiles.virtualearth.net/tiles/a12021203312002.jpeg?g=4773 -> 200)
  5. Quit JOSM
  6. Start JOSM
  7. Open the same background imagery layer as in step 4; there are no messages about loaded tiles because they come from the cache
  8. Zoom in until new tiles are downloaded (INFO: GET http://... -> 200)
  9. Quit JOSM
  10. Start JOSM
  11. Open the same background imagery layer as in step 4

What is the expected result?

Tiles are loaded from TMS cache.

What happens instead?

The TMS cache is reset. On the command line I see these messages:

WARNING: Region [TMS] Problem verifying disk.  Message [null]
WARNING: Region [TMS] Resetting cache

Then the tiles are downloaded again (INFO: GET http://... -> 200).

If the WMS/TMS preferences are opened instead of step 11 then the message is:

WARNING: Region [TMS] Problem verifying disk.  Message [invalid stream header: 66511D3A]
WARNING: Region [TMS] Resetting cache

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

Build-Date:2015-12-23 14:21:51
Revision:9140
Is-Local-Build:true

Identification: JOSM/1.5 (9140 SVN de) Linux openSUSE Leap 42.1 (x86_64)
Memory Usage: 786 MB / 7127 MB (604 MB allocated, but free)
Java version: 1.8.0_60, Oracle Corporation, OpenJDK 64-Bit Server VM

Plugins:
- HouseNumberTaggingTool (30416)
- InfoMode (30416)
- Mapillary (31802)
- PicLayer (30436)
- Tracer2 (30416)
- apache-commons (31772)
- apache-http (31772)
- buildings_tools (31772)
- continuosDownload (28565)
- editgpx (30892)
- graphview (31772)
- imageryadjust (30416)
- log4j (30416)
- measurement (31772)
- photo_geotagging (31772)
- photoadjust (31772)
- reverter (30521)
- tageditor (30892)
- undelete (30416)
- utilsplugin2 (30460)

Last errors/warnings:
- W: Region [mapillary] Resetting cache
- W: Region [TMS] Problem verifying disk.  Message [null]
- W: Region [TMS] Resetting cache

Attachments (0)

Change History (4)

comment:1 by holgermappt, 8 years ago

I see the same behavior if the Mapillary plugin is not enabled, i.e. the "W: Region [mapillary] Resetting cache" does not seem to be related.

comment:2 by simon04, 8 years ago

Using Bing imagery, I only managed to reproduce "invalid stream header":

Build-Date:2015-12-23 08:37:02
Revision:9140
Is-Local-Build:true

Identification: JOSM/1.5 (9140 SVN en) Linux Arch Linux
Memory Usage: 394 MB / 3541 MB (183 MB allocated, but free)
Java version: 1.8.0_66, Oracle Corporation, OpenJDK 64-Bit Server VM
VM arguments: [-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:38722,suspend=y,server=n, -Djosm.home=/tmp/.josm, -javaagent:/usr/share/intellijidea-ce/plugins/Groovy/lib/agent/gragent.jar, -Dfile.encoding=UTF-8]
Program arguments: [--set=debug.edt-checker.enable=true]


Last errors/warnings:
- W: Region [TMS] Problem verifying disk.  Message [invalid stream header: 7E5F9548]
- W: Region [TMS] Resetting cache
java.io.StreamCorruptedException: invalid stream header: 7E5F9548
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
	at org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware.<init>(ObjectInputStreamClassLoaderAware.java:31)
	at org.apache.commons.jcs.utils.serialization.StandardSerializer.deSerialize(StandardSerializer.java:79)
	at org.apache.commons.jcs.auxiliary.disk.block.BlockDisk.read(BlockDisk.java:304)
	at org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCache.verifyDisk(BlockDiskCache.java:208)
	at org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCache.<init>(BlockDiskCache.java:139)
	at org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCacheFactory.createCache(BlockDiskCacheFactory.java:60)
	at org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCacheFactory.createCache(BlockDiskCacheFactory.java:33)
	at org.openstreetmap.josm.data.cache.JCSCacheManager.getCacheInner(JCSCacheManager.java:164)
	at org.openstreetmap.josm.data.cache.JCSCacheManager.getCache(JCSCacheManager.java:151)
	at org.openstreetmap.josm.gui.layer.AbstractCachedTileSourceLayer.getCache(AbstractCachedTileSourceLayer.java:85)
	at org.openstreetmap.josm.gui.layer.AbstractCachedTileSourceLayer.<init>(AbstractCachedTileSourceLayer.java:61)
	at org.openstreetmap.josm.gui.layer.TMSLayer.<init>(TMSLayer.java:51)
	at org.openstreetmap.josm.gui.layer.ImageryLayer.create(ImageryLayer.java:170)
	at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:84)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6535)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6300)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4891)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
WARNING: Region [TMS] Problem verifying disk.  Message [invalid stream header: 7E5F9548]
WARNING: Region [TMS] Resetting cache

After 5 this warning was printed to the console:

WARNING: Interrupted while waiting for another event to come in before we die.

comment:3 by wiktorn, 8 years ago

Then for December release we will need to revert the change in:
http://josm.openstreetmap.de/changeset/9064/josm

I'll try to look into Apache JCS, why it's failing to save consistent file

comment:4 by wiktorn, 8 years ago

Resolution: fixed
Status: newclosed

In 9142/josm:

Revert [9064]. Move back to IndexedDiskCache

Closes: #12221, reopens: #11566

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.