Random java crashes using intarray.setitem in java mapscript code

maurosa@iol.it maurosa at IOL.IT
Wed Jun 13 11:45:14 PDT 2007


Hi list
 
I am experiencing random java crashes using intarray.setitem in java mapscript code.
The code the crashes is the following
 
   //get the current drawing order 
   intarray iaOrder = _map.getLayersDrawingOrder();
 
   //read the wanted order from aOrderedLayers array
   layerObj lay = null;
   for (int nOrder=0; nOrder<aOrderedLayers.length; nOrder++) {         
    lay = _map.getLayerByName(aOrderedLayers[nOrder]);
    //prepare the wanted order
    iaOrder.setitem(lay.getIndex(), nOrder); //<---------- HERE JAVA SOMETIME CRASHES
   }
 
    //set the wanted order
   _map.setLayersDrawingOrder(iaOrder.cast());

Is there a different way of ordering layers, less crash prone?
 
Thank you in advance for any help.
 
 
The crash dump file follows:
 
 
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x671d52ac, pid=7640, tid=1912
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode)
# Problematic frame:
# C  [mapscript.dll+0x52ac]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
 
---------------  T H R E A D  ---------------
 
Current thread (0x66c1a800):  JavaThread "TP-Processor3" daemon [_thread_in_native, id=1912]
 
siginfo: ExceptionCode=0xc0000005, writing address 0xd7c97048
 
Registers:
EAX=0x991e748a, EBX=0x6112b6a8, ECX=0x734f9e20, EDX=0x00000071
ESP=0x670aebe8, EBP=0x670aebe8, ESI=0x6112b6a8, EDI=0x66c1a800
EIP=0x671d52ac, EFLAGS=0x00210216
 
Top of Stack: (sp=0x670aebe8)
0x670aebe8:   670aec08 671d5290 734f9e20 991e748a
0x670aebf8:   00000071 734f9e20 991e748a 00000071
0x670aec08:   670aec50 006aa460 66c1a8e8 670aec58
0x670aec18:   734f9e20 00000000 991e748a 00000071
0x670aec28:   991e748a 006aa774 670aec30 00000000
0x670aec38:   670aec6c 6114b9e0 00000000 6112b6a8
0x670aec48:   00000000 670aec60 670aec90 006a2c71
0x670aec58:   6114b980 006a8419 00000071 991e748a 
 
Instructions: (pc=0x671d52ac)
0x671d529c:   cc cc cc cc 55 8b ec 8b 45 0c 8b 4d 08 8b 55 10
0x671d52ac:   89 14 81 5d c3 cc cc cc cc cc cc cc cc cc cc cc 
 

Stack: [0x67070000,0x670b0000),  sp=0x670aebe8,  free space=250k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [mapscript.dll+0x52ac]
C  [mapscript.dll+0x5290]
j  edu.umn.gis.mapscript.mapscriptJNI.intarray_setitem(JII)V+0
j  edu.umn.gis.mapscript.intarray.setitem(II)V+6
j  prosis.map.UMNMap.setDrawingOrder(Ljava/lang/String;)V+46
j  prosis.map.UMNMap.doInitLayers(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+172
j  prosis.map.UMNMap.setLayersMulti(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+143
j  Bat.setLayers(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)[B+15
v  ~StubRoutines::call_stub
 
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  edu.umn.gis.mapscript.mapscriptJNI.intarray_setitem(JII)V+0
j  edu.umn.gis.mapscript.intarray.setitem(II)V+6
j  prosis.map.UMNMap.setDrawingOrder(Ljava/lang/String;)V+46
j  prosis.map.UMNMap.doInitLayers(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+172
j  prosis.map.UMNMap.setLayersMulti(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+143
j  Bat.setLayers(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)[B+15
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
J  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
J  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
j  org.apache.axis.providers.java.RPCProvider.invokeMethod(Lorg/apache/axis/MessageContext;Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+4
j  org.apache.axis.providers.java.RPCProvider.processMessage(Lorg/apache/axis/MessageContext;Lorg/apache/axis/message/SOAPEnvelope;Lorg/apache/axis/message/SOAPEnvelope;Ljava/lang/Object;)V+1040
j  org.apache.axis.providers.java.JavaProvider.invoke(Lorg/apache/axis/MessageContext;)V+233
j  org.apache.axis.strategies.InvocationStrategy.visit(Lorg/apache/axis/Handler;Lorg/apache/axis/MessageContext;)V+2
j  org.apache.axis.SimpleChain.doVisiting(Lorg/apache/axis/MessageContext;Lorg/apache/axis/HandlerIterationStrategy;)V+37
j  org.apache.axis.SimpleChain.invoke(Lorg/apache/axis/MessageContext;)V+31
j  org.apache.axis.handlers.soap.SOAPService.invoke(Lorg/apache/axis/MessageContext;)V+70
j  org.apache.axis.server.AxisServer.invoke(Lorg/apache/axis/MessageContext;)V+552
J  org.apache.axis.transport.http.AxisServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+139
j  org.apache.axis.transport.http.AxisServletBase.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+6
j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+374
j  org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j  org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+794
j  org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+285
j  org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+64
j  org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
j  org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+42
j  org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+157
j  org.apache.jk.server.JkCoyoteHandler.invoke(Lorg/apache/jk/core/Msg;Lorg/apache/jk/core/MsgContext;)I+123
j  org.apache.jk.common.HandlerRequest.invoke(Lorg/apache/jk/core/Msg;Lorg/apache/jk/core/MsgContext;)I+327
j  org.apache.jk.common.ChannelSocket.invoke(Lorg/apache/jk/core/Msg;Lorg/apache/jk/core/MsgContext;)I+191
j  org.apache.jk.common.ChannelSocket.processConnection(Lorg/apache/jk/core/MsgContext;)V+105
j  org.apache.jk.common.ChannelSocket$SocketConnection.runIt([Ljava/lang/Object;)V+8
j  org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run()V+167
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
 
 
Mauro


------------------------------------------------------
Leggi GRATIS le tue mail con il telefonino i-mode™ di Wind
http://i-mode.wind.it/




More information about the MapServer-users mailing list