[OpenLayers-Dev] Exception in OpenLayers.Layer.Grid.removeBackBuffer

Eric Lemoine eric.lemoine at camptocamp.com
Tue Mar 13 18:11:04 EDT 2012


On Tuesday, March 13, 2012, Tim-Hinnerk Heuer <th.heuer at gmail.com> wrote:
> Hi List,
> Intro: I'm Tim-Hinnerk Heuer, a web developer at Landcare Research New
Zealand. I've been to the last FOSS4G in Denver and I'm a committer on
MapFish Print, but mainly a JavaScript-Front-End-Developer. I've learned a
lot about JavaScript in the past years and even developed an OpenLayers
extension to OpenLayers.Layer.WMS called OpenLayers.Layer.VideoWMS. You can
find that at my GitHub @ http://github.com/geekdenz/openlayers . Haven't
made a pull request yet, because it might not be stable yet...
> The real reason for my post is (hope this is the right place to post
this):
> I've come across an error/exception in OpenLayers, that seems to be
pretty new (using the latest git master version):
> In Chrome:
> Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
> In Firefox:
> Node was not found
> Around line 26075 (in my own built version).
> I guess line 702 in Layer/Grid.js in the latest build
> Code around it:
>     /**
>      * Method: removeBackBuffer
>      * Remove back buffer from DOM.
>      */
>     removeBackBuffer: function() {
>         if(this.backBuffer) {
>             this.div.removeChild(this.backBuffer); // THIS IS THE LINE
>             this.backBuffer = null;
>             this.backBufferResolution = null;
>             if(this.backBufferTimerId !== null) {
>                 window.clearTimeout(this.backBufferTimerId);
>                 this.backBufferTimerId = null;
>             }
>         }
>     },
> Part of the stack trace is:
> OpenLayers.Layer.Grid.OpenLayers.Class.removeBackBuffer
> OpenLayers.Layer.Grid.OpenLayers.Class.applyBackBuffer
> OpenLayers.Layer.Grid.OpenLayers.Class.moveTo
> OpenLayers.Map.OpenLayers.Class.moveTo
> OpenLayers.Map.OpenLayers.Class.setCenter
> OpenLayers.Control.OpenLayers.Class.wheelChange
> ...
> It happens when I zoom about in our map or when I open the Print Window,
which has another map in it. It's only really a problem in the print
window, because the whole map breaks. In the normal map it is not a problem
so much, because you only occasionally see that error in the developer
tools or Firebug.
> This problem only got introduced recently but I don't know through which
change. I suspect it has something to do with how I initialize the print
window. It's using GeoExt's SimplePrint class and quite a bit of custom
code. (On a side note the print window has been in the app for ages.)
> It is also only happening when I quickly zoom about and then open the
print map, not when I wait for everything to load.
> I suspect it has something to do with the fact that the print window has
an extra vector layer with a rectangle of where the to be printed map is
and that it gets set as the base layer. However, I tried explicitly
removing it and adding it later and also tried to do a
map.setBaseLayer(myBaseLayer) to no avail. In fact that line throws the
same error.
> Please help if you can, this bug has been annoying me for quite some time
now already.
> Thanks,
> Tim
> Twitter: @timhheuer
> Blog: http://www.thheuer.com


Hi Tim

This may be a bug in the new backbuffer code. To debug this we'd need a
simple example (w/ no print window) that exhibits the bug. Have you tried
reproducing the issue with one of the OpenLayers example?

-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-dev/attachments/20120313/ca95dcc0/attachment.html


More information about the Dev mailing list