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