Ok, looks like that wasn't it.

I have been fooled by the words: ThreadSafeOperationRegistry and
java.util.concurrent.FutureTask.run in the stacktrace.

For the record, in case anyone was asking, the ALLOW_MULTITHREADING is
added like:

        Parameter<Boolean> multithreadParam = new
Parameter<Boolean>(ImageMosaicFormat.ALLOW_MULTITHREADING);
        multithreadParam.setValue(true);

Still digging in the dark,
ideas welcome.
Andrea





On Thu, Apr 10, 2014 at 10:03 AM, andrea antonello
<andrea.antone...@gmail.com> wrote:
> Still testing on this in the hope to get the problem.
> Since it seems related to multithreading that is done inside geotools,
> I would like to force single threading to see if it works.
>
> I assume I can push that through the reading parameters I pass to the reader.
>
> Here is how I pass the gridgeometry to read:
>
>         GeneralParameterValue[] readParams = new GeneralParameterValue[1];
>         Parameter<GridGeometry2D> readGG = new
> Parameter<GridGeometry2D>(AbstractGridFormat.READ_GRIDGEOMETRY2D);
>         GridEnvelope2D gridEnvelope = new GridEnvelope2D(0, 0, width, height);
>         Envelope env;
>         if (crs != null) {
>             env = new ReferencedEnvelope(west, east, south, north, crs);
>         } else {
>             DirectPosition2D minDp = new DirectPosition2D(west, south);
>             DirectPosition2D maxDp = new DirectPosition2D(east, north);
>             env = new Envelope2D(minDp, maxDp);
>         }
>         readGG.setValue(new GridGeometry2D(gridEnvelope, env));
>         readParams[0] = readGG;
>
> I assume I have to add a second one with a connection to:
> ImageMosaicFormat.ALLOW_MULTITHREADING
> Up to know I have not been able to understand how I can do this.
>
> Does anyone have a quick hint.
> Thanks,
> Andrea
>
>
>
>
>
>
> On Thu, Mar 20, 2014 at 7:49 AM, Jody Garnett <jody.garn...@gmail.com> wrote:
>> Yeah I understand about not opening a random bug report seems a bit bayesian
>> for software development.
>>
>> Can you add (or enable) some more logging in order to try and get a fix on
>> things?
>>
>>
>> Jody Garnett
>>
>>
>> On Tue, Mar 18, 2014 at 11:09 PM, andrea antonello
>> <andrea.antone...@gmail.com> wrote:
>>>
>>> Hi Jody,
>>>
>>> > Since you have not gotten a response I expect a bug report is called
>>> > for.
>>> >
>>> > "Apparently random" errors are difficult to find, are you using the code
>>> > in
>>> > a multithreaded environment at all?
>>>
>>> nope, it is accessed in single thread mode.
>>>
>>> I was hoping someone would experience similar issues and comparing we
>>> would find "something".
>>>
>>> I am not all that keen to open a bug report with random stuff in it.
>>> Those usually stay stale and are of really no use.
>>> If I come up with something that makes sense and can be reproduced, I
>>> will sure open a report.
>>>
>>> Cheers,
>>> Andrea
>>>
>>>
>>>
>>>
>>> >
>>> > Jody Garnett
>>> >
>>> >
>>> > On Tue, Mar 11, 2014 at 12:52 AM, andrea antonello
>>> > <andrea.antone...@gmail.com> wrote:
>>> >>
>>> >> Hi all,
>>> >> I am having an apparently random error when reading rasters from
>>> >> ImageMosaic.
>>> >> It doesn't happen when debugging inside eclipse, so I have no idea
>>> >> what is going on, apart of the fact that sometimes null goes into the
>>> >> operation instead of the source.
>>> >> It then happens from time to time when running in normal mode and from
>>> >> outside eclipse.
>>> >>
>>> >> I tried this on linux with
>>> >> java version "1.6.0_14"
>>> >> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
>>> >> Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
>>> >>
>>> >> Looking at the below the stacktrace, has anyone an idea what I could
>>> >> try to get to a solution?
>>> >>
>>> >> Thanks,
>>> >> Andrea
>>> >>
>>> >> ----------------------------
>>> >>
>>> >> Error: One factory fails for the operation "Scale"
>>> >> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>> >> java.lang.reflect.InvocationTargetException
>>> >> at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
>>> >> at
>>> >>
>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> >> at java.lang.reflect.Method.invoke(Method.java:597)
>>> >> at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>> >> at
>>> >>
>>> >> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>> >> at
>>> >>
>>> >> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>> >> at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>> >> at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>> >> at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>> >> at javax.media.jai.RenderedOp.getColorModel(RenderedOp.java:2242)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.collectGranules(RasterLayerResponse.java:433)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.access$2500(RasterLayerResponse.java:300)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse$MosaicProducer.produce(RasterLayerResponse.java:970)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse$MosaicProducer.access$3200(RasterLayerResponse.java:789)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:1235)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse.processRequest(RasterLayerResponse.java:1125)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterLayerResponse.createResponse(RasterLayerResponse.java:1091)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.RasterManager.read(RasterManager.java:1108)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:611)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:590)
>>> >> at
>>> >>
>>> >> org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:524)
>>> >> at
>>> >>
>>> >> org.jgrasstools.gears.libs.modules.JGTModelIM.processGeometryByTileCell(JGTModelIM.java:227)
>>> >> at
>>> >>
>>> >> org.jgrasstools.gears.libs.modules.JGTModelIM.processByTileCells(JGTModelIM.java:163)
>>> >> at
>>> >>
>>> >> org.jgrasstools.hortonmachine.modules.geomorphology.gradient.OmsGradientIM.process(OmsGradientIM.java:93)
>>> >> at
>>> >> org.jgrasstools.oceandtm.ODTM03b_Slope.process(ODTM03b_Slope.java:78)
>>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> >> at
>>> >>
>>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> >> at
>>> >>
>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> >> at java.lang.reflect.Method.invoke(Method.java:597)
>>> >> at
>>> >>
>>> >> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
>>> >> at
>>> >>
>>> >> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
>>> >> at
>>> >>
>>> >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>> >> at
>>> >>
>>> >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
>>> >> at
>>> >>
>>> >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
>>> >> at Script1.run(Script1.groovy:6)
>>> >> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:576)
>>> >> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:614)
>>> >> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
>>> >> at oms3.CLI.createSim(CLI.java:136)
>>> >> at oms3.CLI.main(CLI.java:218)
>>> >> Caused by: java.lang.NullPointerException
>>> >> at javax.media.jai.GeometricOpImage.<init>(GeometricOpImage.java:280)
>>> >> at javax.media.jai.ScaleOpImage.<init>(ScaleOpImage.java:427)
>>> >> at
>>> >>
>>> >> com.sun.media.jai.opimage.ScaleNearestOpImage.<init>(ScaleNearestOpImage.java:64)
>>> >> at com.sun.media.jai.opimage.ScaleCRIF.create(ScaleCRIF.java:126)
>>> >> ... 40 more
>>> >>
>>> >>
>>> >>
>>> >> ------------------------------------------------------------------------------
>>> >> Learn Graph Databases - Download FREE O'Reilly Book
>>> >> "Graph Databases" is the definitive new guide to graph databases and
>>> >> their
>>> >> applications. Written by three acclaimed leaders in the field,
>>> >> this first edition is now available. Download your free book today!
>>> >> http://p.sf.net/sfu/13534_NeoTech
>>> >> _______________________________________________
>>> >> GeoTools-GT2-Users mailing list
>>> >> GeoTools-GT2-Users@lists.sourceforge.net
>>> >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>> >
>>> >
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Learn Graph Databases - Download FREE O'Reilly Book
>>> "Graph Databases" is the definitive new guide to graph databases and their
>>> applications. Written by three acclaimed leaders in the field,
>>> this first edition is now available. Download your free book today!
>>> http://p.sf.net/sfu/13534_NeoTech
>>> _______________________________________________
>>> GeoTools-GT2-Users mailing list
>>> GeoTools-GT2-Users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to