Corrupt Memory Dump from java 1.70_51
Our site has servers that are experiencing Out of Memory errors. We have the following Java options configured. When I try to open the generated ".hprof" with either jhat or eclipse memory analyzer I get invalid segment type errors. Here is the java startup parameters:
Does anyone have any recommendations on who or where to help troubleshooting this? I have tried to reproduce this on my own dev system but have not been successful. The one piece I don't have configured in Dev is the appdynamic tool.
-verbose:memdbg
-XX:+PrintGCDetails
-Xloggc:D:\Tomcat\logs\TomcatGC.log
-XX:PermSize=256m
-XX:MaxPermSize=256m
-XX:-ReduceInitialCardMarks
-XX:+HeapDumpOnOutOfMemoryError
-Xms10000m
-Xmx10000m
-verbose:memdbg
-XX:+PrintGCDetails
-Xloggc:D:\Tomcat\logs\TomcatGC.log
-XX:PermSize=256m
-Dcatalina.home=D:\Tomcat
-Dcatalina.base=D:\Tomcat
-Djava.endorsed.dirs=D:\Tomcat\common\endorsed
-Djava.io.tmpdir=D:\Tomcat\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Tomcat\conf\logging.properties
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=XXXX
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-javaagent:D:\appdynamics\appserveragent\3.8.3\javaagent.jar
-Dappdynamics.controller.hostName=concur.saas.appdynamics.com
-Dappdynamics.controller.port=XX
-Dappdynamics.http.proxyHost=XXXXXXXX
-Dappdynamics.http.proxyPort=XXXX
-Dappdynamics.controller.ssl.enabled=true
-Dappdynamics.agent.applicationName=XXXXXX
-Dappdynamics.agent.tierName=XXXXXX
-Dappdynamics.agent.nodeName=XXXXXX
-Dappdynamics.agent.accountName=XXXXX
-Dappdynamics.agent.accountAccessKey=XXXXXXX
Found the problem. Some process that is involved when copying the .hprof file out of our production environment was corrupting the file.
I have successfully retrieved the file by zipping it in our production environment and then copying the zip file.
Of course now I have another problem. We are getting out of memory errors caused by large number of objects in the Finalizer thread...
Wish I knew the answer to that one...
Similar Messages
-
Getting memory dump without garbage collection
Hi all.
Does anyone know of a way to get a memory dump from the Sun JVM (version 1.5.0_11 for Windows) without garbage collection occurring first? I've tried the -XX:+PrintClassHistogram option, but this always seems to garbage collect before printing the histogram.
My problem is that I see heap usage increasing very rapidly in the JVM, then garbage collection occurs and reduces memory usage back down to what it was before. However, this results in the JVM spending a large amount of time garbage collecting. I would like to be able to see the contents of the heap before GC occurs.
These are the options I've tried so far:
* Using -XX:+PrintClassHistogram. As mentioned above, this always garbage collects before printing the histogram.
* Using -XX:+HeapDumpOnOutOfMemoryError. The problem is that the JVM always manages to GC before running out of memory, so never dumps the heap.
* Using the jmap tool. Unfortunately I'm running Windows (in production), so this is not available for 1.5.
* Using HPROF. However this seems to slow the JVM down hugely (whenever I use -agentlib:hprof=heap=sites or -agentlib:hprof=heap=dump).
* Using the HeapViewer demo tool that comes with the JVM. This has the same effect as PrintClassHistogram and garbage collects before outputting.
* Using JProfiler. Unfortunately it seems (with the 1.5 JVM anyway) the Concurrent Garbage Collector cannot be used in conjunction with JProfiler (I think this is a JVM TI issue?). With the Parallel GC we don't see the same problem (probably mostly because throughput is crippled with the Parallel GC).
* Using jstat. This only gives us statistics about how much has been garabge collected, not which objects were collected.
Has anybody got any other suggestions?
Thanks.
Neil.Hi all.
Just an update on this -- I couldn't find any way to do this in Java 1.5 (on Windows).
In Java 1.6 (and maybe in 1.5 on other platforms) jmap will do a heap dump without garbage collecting.
I also came across an open source memory profiling tool called Ariadna (see http://mernst.org/ariadna/) which seems to work quite well. It was only of limited use in Java 1.5 however, since JVM TI doesn't support the concurrent garbage collector in this version.
Hope this is helpful anyway. I'll be trying to get upgraded to 1.6 ASAP!
Thanks.
Neil. -
Blue Screen re: Physicial Memory Dump on HP Pavilion DV6-3210-US
Hello. I am running Windows 7 and recently have been getting this bright blue screen with a ton a words on it but I can only pick out CRASH DUMP and PHYSICAL MEMORY DUMP from this before it just disappears. In a couple of cases it tried to run a service repair and didn't let me choose to run in anything but safe mode. It has also let me choose what mode to run.
I took it to a computer repair company and they put a new hard drive on my computer, tuned it up and sent me on my way. I've had it back 2 days and I just got the error again. I have a 30 day guarantee on my repair and probably should take it back but they didn't fix it the first time. I don't think they knew what this was and went for what they knew they could do easily.
What do I do?Hello SandykUtah.
The two most common causes of blue screen errors are problems with either the hard drive or the memory. Your notebook has diagnostics for both of these pieces of hardware. I suggest running them both in addition to the advice suggested above by maxpower757.
This document covers running the hard drive test. Simply repeat the process and select "memory test" to run the RAM test.
Make sure to post the results. I hope you have a great day!
Please click the white star under my name to give me Kudos as a way to say "Thanks!"
Click the "Accept as Solution" button if I resolve your issue. -
About Memory Leak in JAVA Any body pls help me
Hi All,
In our application, with JAVA we are using c, c++ native methods also.
The problem is, Eventhough the application is in idle state, the Virtual Memory occupation is getting increased. For 24 hours, 30 MB is increased, while the application is in idle state.
Is there any possiblity, this much memory leak can happen in JAVA. or it is from Native c side..
I would appreciate anybody' s help.Thanks
I am using JProfiler for that. I can observe what kind of objects not getting freed and the size of memory it is taking. and i observed thro JProfiler, that is only 16 kb of memory leak is happening. Can Any body who is well known about JProfiler help me. Can i differentiate the memory leak from JAVA and Native C side using JProfiler.
Any help would be appreciated. -
1.6.0_10 and 11, Memory leak returning variables from Java to JavaScript
Environment: Windows XP SP2, IE7, JScript 5.7, JRE 1.6.0_11-b03 and 1.6.0_10
Memory allocated in Java and returned as a JavaScript variable value is not garbage collected in Java when the JavaScript variable is re-used.
In the following simplified example, a populated HashMap is returned from the applet test1 method to the JavaScript variable hash1.
The JavaScript variable hash1 is re-used on the next iteration so I would expect it should be marked for garbage collection.
In 1.6.0_7 and previous releases, the memory associated with this Java HashMap is freed implicitly.
In 1.6.0_10 and 1.6.0_11 the HashMap memory is never freed.
Is this is what we should expect, a feature of the significant LiveConnect changes that were part of 1.6.0_10?
Do we need to rewrite our code to call new Java methods from JavaScript explicitly freeing the memory, in this example calling the freeMem method?
Has anybody else experienced this problem since 1.6.0_10?
Thanks
Rob
Example code ...
TestRLApplet.java
import java.applet.Applet;
import java.util.HashMap;
public class TestRLApplet extends Applet
private HashMap hash1;
public TestRLApplet()
public void init()
public HashMap test1()
hash1 = new HashMap();
for (int i = 0; i <10; i++) {
hash1.put(Integer.toString(i),Integer.toString(i));
return (hash1);
public void freeMem() {
hash1.clear();
hash1 = null;
TestClient.htm
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="javascript">
function window_onload()
var hash1;
testAppplet = document.TestRLApplet;
for (cnt=0; cnt < 1000; cnt++)
hash1= testAppplet.test1();
</SCRIPT>
</HEAD>
<object
classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = 1 HEIGHT = 1 NAME = "TestRLApplet" >
<PARAM NAME = CODE VALUE = "TestRLApplet.class" >
<PARAM NAME = ARCHIVE VALUE = "../applets/TestRLApplet.jar" >
<PARAM NAME = NAME VALUE = "TestRLApplet" >
<PARAM NAME = MAYSCRIPT VALUE = true >
<param name = "type" value = "application/x-java-applet;version=1.6">
<param name = "scriptable" value = "false">
</object>
<BODY LANGUAGE=javascript onload="return window_onload()" leftMargin=40 id=body >
</BODY>
</HTML>
Java Console
Java Plug-in 1.6.0_10
Using JRE version 1.6.0_10 Java HotSpot(TM) Client VM
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
Memory: 5,056K Free: 2,551K (50%) ... completed.
Memory: 7,996K Free: 3,499K (43%) ... completed.
Memory: 7,996K Free: 1,038K (12%) ... completed.
Memory: 13,180K Free: 3,745K (28%) ... completed.
Memory: 22,844K Free: 5,614K (24%) ... completed.
Memory: 37,984K Free: 15,009K (39%) ... completed.
Memory: 37,984K Free: 13,069K (34%) ... completed.
Memory: 37,984K Free: 6,125K (16%) ... completed.
Memory: 65,088K Free: 25,107K (38%) ... completed.
Memory: 65,088K Free: 21,201K (32%) ... completed.
Memory: 65,088K Free: 13,381K (20%) ... completed.
Memory: 65,088K Free: 7,967K (12%) ... completed.
Memory: 65,088K Free: 5,013K (7%) ... completed.
Memory: 65,088K Free: 414K (0%) ... completed.What are you missing?
I inherited this app and signing the third party jars is how it was setup, I was wondering the same thing too, why was it necessary to sign the third party jars?
The applet runs in either JRE 1.6.0_13 or JRE 1.6.0_27 depending on the other Java apps the user uses. JRE 1.6.0_13 does not have the mixed code security (so it is like is disable), but JRE 1.6.0_27 does have the mixed code security and the applet will not launch with mixed code security enable, so we have to disable it. With all the hacking going on in the last two years, is important to improve security; so this is a must.
Yes, I always clear up the cache.
Any idea on how to resolve this problem? -
Invoke a bpel process from Java API
All,
I got an error when I tried to invoke a bpel process from java api. Can anyone help?
I got the following errors:
<2007-08-14 10:10:11,986> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
parts: {{summary=oracle.xml.parser.v2.XMLElement@da5c23}}
<2007-08-14 10:10:12,158> <ERROR> <default.collaxa.cube.xml> <XMLElement__CXPM::save> ORABPEL-09219
Cannot save element.
An attempt to save the element "EssayScoringDetailsCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
at com.collaxa.cube.xml.dom.XMLElement__CXPM.save(XMLElement__CXPM.java:82)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.types.bpel.CXMessageVariable__CXPM.save(CXMessageVariable__CXPM.java:182)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.persist.BaseScope__CXPM.save(BaseScope__CXPM.java:170)
at com.collaxa.cube.engine.persist.Scope__CXPM.save(Scope__CXPM.java:97)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.enc.ScopeContextSerializer.serializeContext(ScopeContextSerializer.java:587)
at com.collaxa.cube.engine.enc.ScopeContextSerializer.toBin(ScopeContextSerializer.java:99)
at com.collaxa.cube.engine.adaptors.common.BaseCubeInstancePersistenceAdaptor.store(BaseCubeInstancePersistenceAdaptor.java:543)
at com.collaxa.cube.engine.adaptors.olite.CubeInstancePersistenceAdaptor.store(CubeInstancePersistenceAdaptor.java:387)
at com.collaxa.cube.engine.data.CubeInstancePersistenceMgr.store(CubeInstancePersistenceMgr.java:367)
at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:5008)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5266)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1083)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:132)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:161)
at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at CubeEngineBean_LocalProxy_4bin6i8.syncCreateAndInvoke(Unknown Source)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:499)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:451)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:125)
at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at DeliveryBean_RemoteProxy_4bin6i8.request(Unknown Source)
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:585)
at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
<2007-08-14 10:10:12,158> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube engine": Cannot serialize DOM element.
Failed to serialize the DOM element "EssayScoringDetailsCollection" to binary format. The exception reported is Cannot save element.
An attempt to save the element "EssayScoringDetailsCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
ORABPEL-09221
Cannot serialize DOM element.
I did the following in my java application:
//create the BPEL locator object to find the BPEL process
Locator locator = new Locator("default", "welcome1", jndi);
//just for fun, display all the available BPEL processes
/*for(IBPELProcessHandle ibph : locator.listProcesses()) {
System.out.println(ibph.getProcessModel());
IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
//construct the normalized message
NormalizedMessage nm = new NormalizedMessage();
String xml = "<ns1:PromptsCollection xmlns:ns1='http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelectPrompt'>" +
"<ns1:Prompts>" +
"<ns1:promptId>" pr.getPromptId()"</ns1:promptId>" +
"<ns1:calibrated>"+pr.getCalibrated().toString()+"</ns1:calibrated>" +
"<ns1:ibn>"+pr.getIbn()+"</ns1:ibn>" +
"<ns1:promptType>"+pr.getPromptType()+"</ns1:promptType>" +
"<ns1:promptsetId>"+pr.getPromptset().getPromptsetId()+"</ns1:promptsetId>" +
"<ns1:vantagePromptId>"+pr.getVantagePromptId()+"</ns1:vantagePromptId>" +
"<ns1:promptKey>"+pr.getPromptKey()+"</ns1:promptKey>" +
"<ns1:holdStatusCode>"+pr.getHoldStatus()+"</ns1:holdStatusCode>" +
"<ns1:holdEssayTotalCount>"+pr.getHoldEssayTotalCount()+"</ns1:holdEssayTotalCount>" +
"<ns1:holdEssayCurrentCount>"+pr.getHoldEssayCurrentCount()+"</ns1:holdEssayCurrentCount>" +
"<ns1:approvedStatus>"+pr.getApprovedStatus()+"</ns1:approvedStatus>" +
"<ns1:rowChangeDate>"+pr.getRowChangeDate()+"</ns1:rowChangeDate>" + "<ns1:programId>1001</ns1:programId>" +
"<ns1:programId></ns1:programId>" +
"<ns1:characterCountMin>"+pr.getCharacterCountMin()+"</ns1:characterCountMin>" +
"<ns1:durationMin>"+pr.getDurationMin()+"</ns1:durationMin>" +
"<ns1:rangeFindingFlag>"+pr.getRangeFindingFlag()+"</ns1:rangeFindingFlag>" +
"<ns1:durationFlag></ns1:durationFlag>" +
"<ns1:characterCountMax>"+pr.getCharacterCountMax().intValue()+"</ns1:characterCountMax>" +
"<ns1:durationMax>"+pr.getDurationMax().intValue()+"</ns1:durationMax>" +
"<ns1:rangeCount>"+ rangeCount+"</ns1:rangeCount>" +
"</ns1:Prompts>" +
"</ns1:PromptsCollection>" ;
/*String xml = "<ns1:PromptsCollection xmlns:ns1='http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelectPrompt'>" +
"<ns1:Prompts>" +
"<ns1:promptId>" pr.getPromptId().toString()"</ns1:promptId>" +
"<ns1:calibrated>"+pr.getCalibrated().toString()+"</ns1:calibrated>" +
"<ns1:ibn>"+pr.getIbn()+"</ns1:ibn>" +
"<ns1:promptType>"+pr.getPromptType()+"</ns1:promptType>" +
"<ns1:promptsetId>"+pr.getPromptset().getPromptsetId().toString()+"</ns1:promptsetId>" +
"<ns1:vantagePromptId>"+pr.getVantagePromptId()+"</ns1:vantagePromptId>" +
"<ns1:promptKey>"+pr.getPromptKey()+"</ns1:promptKey>" +
"<ns1:holdStatusCode>"+pr.getHoldStatus()+"</ns1:holdStatusCode>" +
"<ns1:holdEssayTotalCount>"+pr.getHoldEssayTotalCount()+"</ns1:holdEssayTotalCount>" +
"<ns1:holdEssayCurrentCount>"+pr.getHoldEssayCurrentCount()+"</ns1:holdEssayCurrentCount>" +
"<ns1:approvedStatus>"+pr.getApprovedStatus()+"</ns1:approvedStatus>" +
"<ns1:rowChangeDate>"+pr.getRowChangeDate()+"</ns1:rowChangeDate>" +
"<ns1:programId></ns1:programId>" +
"<ns1:characterCountMin>"+pr.getCharacterCountMin()+"</ns1:characterCountMin>" +
"<ns1:durationMin>"+pr.getDurationMin()+"</ns1:durationMin>" +
"<ns1:rangeFindingFlag>"+pr.getRangeFindingFlag()+"</ns1:rangeFindingFlag>" +
"<ns1:durationFlag></ns1:durationFlag>" +
"<ns1:characterCountMax>"+pr.getCharacterCountMax()+"</ns1:characterCountMax>" +
"<ns1:durationMax>"+pr.getDurationMax()+"</ns1:durationMax>" +
"<ns1:rangeCount>"+pr.getRangeCount()+"</ns1:rangeCount>" +
"</ns1:Prompts>" +
"</ns1:PromptsCollection>" ; */
//add the payload part to the message with the xml variable
nm.addPart("payload", xml.trim());
//make the call to the BPEL process
NormalizedMessage response = deliveryService.request("UpdatePromptStatus", "process",nm);
Map payload = response.getPayload();I'm getting all of the same errors, but in a slightly different situation.
<2007-08-23 09:11:46,086> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
parts: {{summary=oracle.xml.parser.v2.XMLElement@d454cf}}
<2007-08-23 09:11:46,633> <ERROR> <default.collaxa.cube.xml> <XMLElement__CXPM::save> ORABPEL-09219
Cannot save element.
An attempt to save the element "SfCaseCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
at com.collaxa.cube.xml.dom.XMLElement__CXPM.save(XMLElement__CXPM.java:82)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.types.bpel.CXMessageVariable__CXPM.save(CXMessageVariable__CXPM.java:182)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.persist.BaseScope__CXPM.save(BaseScope__CXPM.java:170)
at com.collaxa.cube.engine.persist.Scope__CXPM.save(Scope__CXPM.java:97)
at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
at com.collaxa.cube.engine.enc.ScopeContextSerializer.serializeContext(ScopeContextSerializer.java:587)
at com.collaxa.cube.engine.enc.ScopeContextSerializer.toBin(ScopeContextSerializer.java:99)
at com.collaxa.cube.engine.adaptors.common.BaseCubeInstancePersistenceAdaptor.store(BaseCubeInstancePersistenceAdaptor.java:543)
at com.collaxa.cube.engine.adaptors.oracle.CubeInstancePersistenceAdaptor.store(CubeInstancePersistenceAdaptor.java:83)
at com.collaxa.cube.engine.data.CubeInstancePersistenceMgr.store(CubeInstancePersistenceMgr.java:367)
at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:5008)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5266)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1771)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.handleWorkItem(CubeEngineBean.java:306)
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:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at CubeEngineBean_LocalProxy_4bin6i8.handleWorkItem(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
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:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
Did you ever find a solution to your problem?
My situation is that I'm running a process that grabs data from a salesforce.com web service and dumps some of the data back into my local database. The process croaks after processing 850 or so records. I have also increased my PermSize memory to 512M.
Any ideas why all of a sudden after processing that many records it would stop working?
Thanks,
Adam -
DBMS_XDB.CREATERESOURCE from JAVA
Hi all,
i'm trying to load XML-data into the database with the following pseudocode:
SQLText := "DECLARE
retB boolean;
XMLDoc XMLType;
BEGIN
XMLDoc := XMLType(?);
retB := DBMS_XDB.CREATERESOURCE('Resourcename', XMLDoc);
END";
SQLStmt := (OraclePreparedStatement) _conn.prepareStatement(SQLText);
SQLStmt.setString(1, xml);
SQLStmt.execute();
It works in JAVA with one exception. All characters using more than one byte in UTF-8 are double encoded. That means, if the XML-String contains an german umlaut ä (U+00E4) this character is encoded as "C3 A4" in the string. After submitting the XML to the database the ä has the value C3 83 C2 A4 => the value C3 is encoded as C3 83 and the value A4 is encoded as C2 A4.
Thats no problem if i query the documents from Java because the way back is the same. But if i retrieve the document over the protocoll server (WebDav or FTP) the character encoding is corrupted (2 characters for ä).
I am using Ora 11.2.0.1 on Linux with ojdbc6.jar. My NLS settings are as follows:
NLS_LANGUAGE GERMAN
NLS_TERRITORY GERMANY
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
On the client GERMAN_GERMANY.WE8MSWIN1252, but i also tried with SET NLS_LANG=GERMAN_GERMANY.AL32UTF8 because of the UTF coding of the XML string.
What I am doing the wrong way?
Thanks for your help,
regards
FrankHi odie_63,
thanks for your reply. I have extracted the relevant code of the program into a tiny test application.
package project1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.text.MessageFormat;
import oracle.jdbc.OraclePreparedStatement;
import oracle.ucp.jdbc.PoolDataSource;
import oracle.ucp.jdbc.PoolDataSourceFactory;
public class Application1 {
public static void main(String[] args) {
try {
doSimpleTest();
} catch (Exception e) {
e.printStackTrace();
public static void doSimpleTest(){
System.out.println("doing simple test case...");
final String insertSQL = " DECLARE\n" +
" retB boolean;\n" +
" XMLDoc XMLType;\n" +
" BEGIN\n" +
" XMLDoc := XMLType(?);\n" +
" retB := DBMS_XDB.CREATERESOURCE({0},XMLDoc); \n" +
" END;";
final String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><test xmlns=\"http://www.gfai.de/Test\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.gfai.de/Test http://www.gfai.de/Test\">äöü</test>";
String SQL_QUERY = null;
PoolDataSource _pds = null;
Connection _conn = null;
OraclePreparedStatement s = null;
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//Creating a pool-enabled data source
_pds = PoolDataSourceFactory.getPoolDataSource();
//Setting connection properties of the data source
_pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
_pds.setURL("jdbc:oracle:thin:@10.10.182.110:1521:ORALX64");
_pds.setUser("test");
_pds.setPassword("tset");
//Setting pool properties
_pds.setInitialPoolSize(5);
_pds.setMinPoolSize(5);
_pds.setMaxPoolSize(10);
// connection
_conn = _pds.getConnection();
// Insert
SQL_QUERY = MessageFormat.format(insertSQL, new Object[]{"'/public/test/test.xml'"});
s = (OraclePreparedStatement) _conn.prepareStatement(SQL_QUERY);
s.setString(1, new String(xml.getBytes("UTF-8")));
s.execute();
System.out.println("inserted...");
catch(Exception ex){
ex.printStackTrace();
finally{
try{s.close();_conn.close();}catch(Exception ex){};
return;
Before running the test it's required to set up the user test and the XML-schema. I have done it with the following lines of code:
CONNECT SYSTEM;
CREATE USER TEST IDENTIFIED BY "tset";
GRANT CREATE SESSION TO TEST;
GRANT RESOURCE TO TEST;
DECLARE
RETB BOOLEAN;
BEGIN
RETB := DBMS_XDB.CREATEFOLDER('/sys/schemas/PUBLIC/www.gfai.de');
RETB := DBMS_XDB.CREATEFOLDER('/sys/schemas/PUBLIC/www.gfai.de/test');
RETB := DBMS_XDB.CREATEFOLDER('/public/test');
COMMIT;
END;
CREATE OR REPLACE DIRECTORY TEST_DIR AS '/home/oracle';
GRANT READ ON DIRECTORY TEST_DIR TO test;
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://www.gfai.de/Test',
SCHEMADOC => BFILENAME('TEST_DIR','Test.xsd'),
LOCAL => FALSE,
GENTYPES => TRUE,
GENTABLES => TRUE);
END;
After executing the test case i get the following results with sqlplus:
SQL> select dump(extractvalue(object_value,'/test')) from test_document;
DUMP(EXTRACTVALUE(OBJECT_VALUE,'/TEST'))
Typ=1 Len=12: 195,131,194,164,195,131,194,182,195,131,194,188
SQL>
The whole document is saved as
SQL> select xdburitype('/public/test/test.xml').getblob() from dual;
XDBURITYPE('/PUBLIC/TEST/TEST.XML').GETBLOB()
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C
7465737420786D6C6E733D22687474703A2F2F7777772E676661692E64652F546573742220786D6C
6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61
2D696E7374616E636522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777
772E676661692E64652F5465737420687474703A2F2F7777772E676661692E64652F54657374223E
C383C2A4C383C2B6C383C2BC3C2F746573743E0A
SQL>
The schema definition file is as follows:
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.gfai.de/Test"
targetNamespace="http://www.gfai.de/Test"
elementFormDefault="qualified"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:element name="test" xdb:defaultTableSchema="TEST"
xdb:defaultTable="TEST_DOCUMENT">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:Schema>
thanks again,
regards
Frank -
Memory Dump Error on Widnows 2000 Advanced Server.
Hi,
I have a serious problem with my Oracle Database Server ( Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production ) . It is running on Windows 2000 advanced server. After every 2 or 3 days I am getting a memory dump error on my server and I have to restart my server.
Twice my database got corrupted due to improper shutdown and one of the data blocks got corrupted in one of the oracle data file.
The Data server has 1572144 KB of RAM. and 2302 MB of Virtual Memory.
Can anyone give me any suggestions why this is happening and how to solve this?
Thank You,
Suman KumarDonald,
Thank You for your reply.
By Oracle Memory footprint do you mean Oracle SGA size?
I checked my SGA size:
SQL> select * from v$sga;
NAME VALUE
Fixed Size 75804
Variable Size 80416768
Database Buffers 157286400
Redo Buffers 77824
I have 2302 MB of Virtual Memory
I have 1,572,144 KB of RAM in my server.
I am using the default configuration of the Oracle Database created by Oracle Universal Installer.
I downloaded it from OTN. I have not applied any patches to my database. Should I go ahead and apply all the available pathces for Oracle 8.1.7.0.0?
I checked on Metalink for any pathes related to memory dump on windows 2000 advaned server, couldn't find any. The database version that I am using is Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production.
There is no screen saver on my server.
Please advice.
Thank You,
Suman -
CNTL_ERROR while calling a function module from Java webdynpro
I am calling a RFC function module from javawebdynpro app
which inturn calls a function module performing BDC on CAPP transaction. When I run this from SE37 of the same system or a different system everything works fine. But when called from Java webdynpro app, it raises a CNTL_ERROR exception and creates a short dump.
Any help on this is highly appreciatedGood catch, BI Learner. This was exactly it: when assigning the values from SOURCEFIELDS directly to the import/export parameters, you have to make sure that the types are EXACTLY the same, otherwise it will not work (the routine stops with an error when calling the FM, but there is no dump).
Therefore, to solve my problem, I created the declarations precisely as expected by the FM and assigned the values to these fields:
DATA:
SOURCEVAL TYPE /BIC/OIINVQTY,
SOURCEUOM TYPE /BIC/OIUSUOM,
USITM TYPE /BIC/OIUSITM,
TARGETUOM TYPE /BIC/OIUSUOM,
CONVERTED_COST TYPE /BIC/OIINVQTY.
DATA PRODUCTION_UOM TYPE /BIC/OIUSUOM.
" get the Production UOM
SELECT SINGLE I~/BIC/USPRDUOM
FROM /BIC/PUSITM AS I
INTO PRODUCTION_UOM
WHERE I~/BIC/USITM = SOURCE_FIELDS-/BIC/USITM AND I~OBJVERS = 'A'.
IF ( SY-SUBRC = 4 ). " no records found
"RAISE PARTNO_NOT_FOUND.
RAISE EXCEPTION TYPE CX_RSROUT_SKIP_RECORD.
ENDIF.
" load the parameters
SOURCEVAL = SOURCE_FIELDS-/BIC/USFRZMFC.
SOURCEUOM = SOURCE_FIELDS-BASE_UOM.
USITM = SOURCE_FIELDS-/BIC/USITM.
" then you can call the FM
CALL FUNCTION 'Z_CA_CONVERT_US_COST'
EXPORTING
PSOURCEVAL = SOURCEVAL
PSOURCEUOM = SOURCEUOM
PUSITM = USITM
PTARGETUOM = PRODUCTION_UOM
IMPORTING
PTARGETVAL = CONVERTED_COST
EXCEPTIONS
CONVERSION_NOT_MAINTAINED = 1
PARTNO_NOT_FOUND = 2
OTHERS = 3.
" ... [do the rest]
Thanks for your help,
Dennis -
Dear Friends,
I am getting below error during T-Code FBL3N Report. No roll storage space of length 1753104 available for internal storage.
Our Server' RAM size is 24 GB,and existing parameters are as below
ztta/roll_area: 6500000
ztta/roll_extension:2000683008
abap/heap_area_total:2000683008
abap/heap_area_dia: 5000000000
abap/heap_area_nondia: 2000683008
em/initial_size_MB: 4092
Please suggest Parameter to be change.
Details Dump log ST22
Runtime Errors TSV_TNEW_BLOCKS_NO_ROLL_MEMORY
Date and Time 04.03.2014 10:18:48
|Short Text |
| No roll storage space of length 1753104 available for internal storage. |
|What happened? |
| Each transaction requires some main memory space to process |
| application data. If the operating system cannot provide any more |
| space, the transaction is terminated. |
|What can you do? |
| |
| Try to find out (e.g. by targetted data selection) whether the |
| transaction will run with less main memory. |
| |
| If there is a temporary bottleneck, execute the transaction again. |
| - |
| |
| If the error persists, ask your system administrator to check the |
| following profile parameters: |
| |
| o ztta/roll_area (1.000.000 - 15.000.000) |
| Classic roll area per user and internal mode |
| usual amount of roll area per user and internal mode |
| o ztta/roll_extension (10.000.000 - 500.000.000) |
| Amount of memory per user in extended memory (EM) |
| o abap/heap_area_total (100.000.000 - 1.500.000.000) |
| Amount of memory (malloc) for all users of an application |
| server. If several background processes are running on |
| one server, temporary bottlenecks may occur. |
| Of course, the amount of memory (in bytes) must also be |
| available on the machine (main memory or file system swap). |
| Caution: |
| The operating system must be set up so that there is also |
| enough memory for each process. Usually, the maximum address |
| space is too small. |
| Ask your hardware manufacturer or your competence center |
| about this. |
| In this case, consult your hardware vendor |
| abap/heap_area_dia: (10.000.000 - 1.000.000.000) |
| Restriction of memory allocated to the heap with malloc |
| for each dialog process. |
| Parameters for background processes: |
| abap/heap_area_nondia: (10.000.000 - 1.000.000.000) |
| Restriction of memory allocated to the heap with malloc |
| for each background process. |
| Other memory-relevant parameters are: |
| em/initial_size_MB: (35-1200) |
| Extended memory area from which all users of an |
| application server can satisfy their memory requirement. |
| Note which actions and input led to the error. |
| |
| For further help in handling the problem, contact your SAP administrator |
| . |
| |
| You can use the ABAP dump analysis transaction ST22 to view and manage |
| termination messages, in particular for long term reference. |
| |
|Error analysis |
| The internal table "\CLASS=ZCL_IM__GTA_TAX_CODE\METHOD=IF_EX_FI_ITEMS_CH_DATA~C |
| HANGE_ITEMS\DATA=GT_BSIK" could not be enlarged further. |
| |
| Memory location: "Session memory" |
| |
| You attempted to extend the data structure for the management of the |
| memory blocks for table "\CLASS=ZCL_IM__GTA_TAX_CODE\METHOD=IF_EX_FI_ITEMS_CH_D |
| ATA~CHANGE_ITEMS\DATA=GT_BSIK". However, the 1753104 bytes required for |
| this were no longer available in the specified memory area. |
| |
| The amount of memory requested is no longer available. |
|How to correct the error |
| |
| Try to decide by analysis whether this request is |
| reasonable or whether there is a program error. You should pay |
| particular attention to the internal table entries listed below. |
| |
| |
| |
| |
| |
| |
| If the error occures in a non-modified SAP program, you may be able to |
| find an interim solution in an SAP Note. |
| If you have access to SAP Notes, carry out a search with the following |
| keywords: |
| |
| "TSV_TNEW_BLOCKS_NO_ROLL_MEMORY" " " |
| "ZCL_IM__GTA_TAX_CODE==========CP" or "ZCL_IM__GTA_TAX_CODE==========CM001" |
| "IF_EX_FI_ITEMS_CH_DATA~CHANGE_ITEMS" |
| |
| If you cannot solve the problem yourself and want to send an error |
| notification to SAP, include the following information: |
| |
| 1. The description of the current problem (short dump) |
| |
| To save the description, choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 2. Corresponding system log |
| |
| Display the system log by calling transaction SM21. |
| Restrict the time interval to 10 minutes before and five minutes |
| after the short dump. Then choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 3. If the problem occurs in a problem of your own or a modified SAP |
| program: The source code of the program |
| In the editor, choose "Utilities->More |
| Utilities->Upload/Download->Download". |
| |
| 4. Details about the conditions under which the error occurred or which |
| actions and input led to the error. |
| |
|System environment |
| SAP-Release 700 |
| |
| Application server... "NEWPRD1" |
| Network address...... "10.0.0.1" |
| Operating system..... "Windows NT" |
| Release.............. "6.0" |
| Hardware type........ "16x AMD64 Level" |
| Character length.... 16 Bits |
| Pointer length....... 64 Bits |
| Work process number.. 19 |
| Shortdump setting.... "full" |
| |
| Database server... "NEWPRD1" |
| Database type..... "ORACLE" |
| Database name..... "PRD" |
| Database user ID.. "SAPSR3" |
| |
| Terminal................. " " |
| |
| Char.set.... "C" |
| |
| SAP kernel....... 700 |
| created (date)... "Sep 17 2012 22:56:00" |
| create on........ "NT 5.2 3790 Service Pack 2 x86 MS VC++ 14.00" |
| Database version. "OCI_10201_SHARE (10.2.0.4.0) " |
| |
| Patch level. 353 |
| Patch text.. " " |
| |
| Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*" |
| SAP database version. 700 |
| Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows |
| NT 6.0, Windows NT 6.1, Windows NT 6.2" |
| |
| Memory consumption |
| Roll.... 16192 |
| EM...... 1826770240 |
| Heap.... 0 |
| Page.... 40960 |
| MM Used. 1815573536 |
| MM Free. 2717408 |
|User and Transaction |
| |
| Client.............. 500 |
| User................ 1651 |
| Language key........ "E" |
| Transaction......... " " |
| Transactions ID..... "ED4EA3E3AB0AF11DA318E61F131BC713" |
| |
| Program............. "ZCL_IM__GTA_TAX_CODE==========CP" |
| Screen.............. "SAPMSSY0 1000" |
| Screen line......... 6 |
|Information on where terminated |
| Termination occurred in the ABAP program "ZCL_IM__GTA_TAX_CODE==========CP" - |
| in "IF_EX_FI_ITEMS_CH_DATA~CHANGE_ITEMS". |
| The main program was "RFITEMGL ". |
| |
| In the source code you have the termination point in line 64 |
| of the (Include) program "ZCL_IM__GTA_TAX_CODE==========CM001". |
| The program "ZCL_IM__GTA_TAX_CODE==========CP" was started as a background job. |
| Job Name....... "RFITEMGL" |
| Job Initiator.. "BASIS" |
| Job Number..... 09115400 |
|Source Code Extract |
|Line |SourceCde |
| 34| MANDT TYPE BSEG-MANDT, |
| 35| BUKRS TYPE BSEG-BUKRS, |
| 36| BELNR TYPE BSEG-BELNR, |
| 37| GJAHR TYPE BSEG-GJAHR, |
| 38| BUZEI TYPE BSEG-BUZEI, |
| 39| QSSKZ TYPE BSEG-QSSKZ, |
| 40| KTOSL TYPE BSEG-KTOSL, |
| 41| HKONT TYPE BSEG-HKONT, |
| 42| END OF TY_BSEG, |
| 43| |
| 44| BEGIN OF TY_FINAL, |
| 45| BUKRS TYPE BSEG-BUKRS, |
| 46| BELNR TYPE BSEG-BELNR, |
| 47| GJAHR TYPE BSEG-GJAHR, |
| 48| END OF TY_FINAL. |
| 49| |
| 50| DATA: CW_ITEMS TYPE RFPOSXEXT, |
| 51| GT_BSIK TYPE STANDARD TABLE OF TY_BSIK, |
| 52| GW_BSIK TYPE TY_BSIK, |
| 53| GT_BSAK TYPE STANDARD TABLE OF TY_BSAK, |
| 54| GW_BSAK TYPE TY_BSAK, |
| 55| GT_BSEG TYPE STANDARD TABLE OF TY_BSEG, |
| 56| GW_BSEG TYPE TY_BSEG, &nbsap basis wrote:
|Information on where terminated |
| Termination occurred in the ABAP program "ZCL_IM__GTA_TAX_CODE==========CP" - |
| in "IF_EX_FI_ITEMS_CH_DATA~CHANGE_ITEMS". |
| The main program was "RFITEMGL ". |
| |
| In the source code you have the termination point in line 64 |
| of the (Include) program "ZCL_IM__GTA_TAX_CODE==========CM001". |
| The program "ZCL_IM__GTA_TAX_CODE==========CP" was started as a background job. |
| Job Name....... "RFITEMGL" |
| Job Initiator.. "BASIS" |
| Job Number..... 09115400 |
First of all try to optimize code. -
Problem while Calling a CGI pgm From Java with code sample
Hey guys,
I am calling a CGI program from java servlet, while calling cgi program I am passing encoded(Base64) content via post process,
My problem is the encoded data is not posted as expected, the encoded data is corrupting. But when I send encoded data in a text file, cgi program is perfectly decoding and working fine.
Here I am doing Base64 encoding as per requirement, I cannot avoid this encoding.
My doubt is about OutputStreamWriter constructor argument , In OutputStream Constructor I am passing one argument is OutputStream object and another argument is encoding type. I tried with ASCII, US-ASCII & UTF-8 .
My code is as follows, please help me to resolve this issue.
URL url = new URL("CGI server path");
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);
OutputStream os = urlConnection.getOutputStream();
BufferedOutputStream buffer = new BufferedOutputStream(os);
OutputStreamWriter writer = new
OutputStreamWriter(buffer, "US-ASCII");
writer.write(encodedPDF-Content);
writer.write("\r\n");
writer.flush();
writer.close();
here encodedPDF-Content is String and it's size is 9565 bytesWhenever you read something in java into string (with Reader implementation) it expects source to contain text in encoding you specified. It then decodes it and makes 16 bit unicode string from it. Whenever you store string using Writers it does reverse operation with specified encoding (may be different than this which you used to read source) and stores text as a sequence of bytes made of 16 bit unicode string. So, passing text back and forth between programs with the help of files or I/O you can make mistake at both reading and writing encoding. Check for it.
Now, when C programm or other application reads file it may take another assumptions about encoding or may even completly ignore it and read source as a binary file. Then, if you have a source text as a file and have to pass it to other application never do it using Reader/Writer. User raw InputStream/OutputStream instead what will preserve all information unchanged.
here encodedPDF-Content is String and it's size is 9565 byteHow id you get this info? String.length() gets you how many chars is in it, it will be half the number of bytes. If you see your input file beeing 9565 bytes long, see my above statements. -
Blue screen hard disk dump AND memory dump
I sent my toshiba satellite a215-s4767 to the repair depot for a screen replacement and since i got it back i have had 2 blue screen memory dumps and 1 hard disk dump blue screen(that was last night). I got it back on christmas eve so ive had it back for 2 weeks.
Please take a look at this document USB 3.0 Blue Screen Document. Verify your USB 3.0 chipset is the same as described in the document and if it is the same download the fix from Intel.
Best regards,
I am an HP employee -
Hello Everyone,
This is my first time posting in the forums so I hope that I have chosen the appropriate area and will do my best to be brief but informative.
Computer: HP Pavilion dv6000
Operating System: Windows Vista.
For the past 6-8 months it has been unable to perform Windows Update citing that the most likely reason was a virus. I have tried numerous trouble shooting options when it was recommended that I perform a chkdsk. After initiating a chkdsk in Command Prompt, my computer restarted and had a black screen with no cursor. After watching this for 2 hours and realizing that none of the usual chkdsk progress or text was coming up I made the decision to force shut down.
When I rebooted, I was told to enter system recovery which I did and completed a system recovery from the hard drive. After the system recovery finished and the laptop restarted, I experience a Blue Screen of Death due to a physical memory dump. The error codes are STOP: 0x000000F4 (0x0000000000000003, 0xFFFFFA8006671040, 0xFFFFFA8006671278, 0xFFFFF80001D01DA0).
I am not able to boot in safe mode. In the start up repair, I am able to enter command prompt from which I started chkdsk again. Both chkdsk f/ and chkdsk r/ passed with no errors. Additionally, the computer passed both UEFI Hard Drive and Memory tests. I have system recovery CDs for the computer but they fail at 78% completion.
Please let me know if you have any questions or require anymore information. I would appreciate any and all advice!
Thank you!
This question was solved.
View Solution.Hello @GraydonS,
Welcome to the HP Forums, I hope you enjoy your experience!
I have read your post on how there is an error message being displayed on your notebook, being a Blue Screen of Death (BSOD), and I would be happy to assist you in this matter!
Since you are having recovery issues with your system, I recommend following this document on Troubleshooting System Recovery Problems (Windows Vista). This should help you to successfully recover your Operating System.
If the issue persists, please call our technical support at 1-800-474-6836. If you live outside the US/Canada Region please click the link below to get the support number for your region.
http://www.hp.com/cgi-bin/hpsupport/index.pl
I hope this helps!
Regards
MechPilot
I work on behalf of HP
Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
Click the “Kudos, Thumbs Up" on the right to say “Thanks” for helping! -
Application Server Memory Requirements from 4.6C to ECC 6.0
The projected physical memory increase for the Application servers from 46C to ECC6 appears to between 45% - 66%. This is based on the delta notes 517085, 752532, 778774 and 901070. It also appears from a presentation from Christian Oehler called "Transition and Upgrade to SAP ERP" to be the case.
I cannot find anything in the above referenced SAP notes that indicates where this additional memory is consumed, so I'm concerned SAP is factoring in new functionality and/or JAVA stack in this. Furthermore we have upgraded our HR system from 46C to ECC6 sometime ago and included JAVA and saw around a 20% memory increase.
We are doing a strictly technical upgrade and are not turning on new functionality at this point (no JAVA stack), we are also not increasing user population. Our Test Systems, which have production data volumes do not reflect any growth in this area, but we are not stressing it with user load.
Does anyone have an idea of what we could/should see given the nature of our upgrade? We are preparing for a 25% increase in App server memory, but not for 50% plus. We are not doing a sizing exercise since this is just a technical upgrade and the GLFU service has yet to start.
If anyone has any insight into what should be expected or what they have seen for memory requirements from 4.6C to ECC 6.0 Application Server sit would be greatly appreciated.
ThanksHi Mark,
More memory is required because ECC 6.0 is much more huge system than 4.6C. If you are planning to increase server memory by 25% only, than you can see performance problems if system will be heavyly used. But it depends mainly on number of WP and active users. 25-50% more memory is required if you are not installing J2EE addin afterwards. If you are planning to convert the database to Unicode, than you will need an additional memory....
It's not easy to say 25% will be enought or 50% is required, but I would suggest to go to 50% at least.
Jiri -
Using ExecutorService class from java.util.concurrent package
Dear java programmers,
I have a question regarding the ExecutorService class from java.util.concurrent package.
I want to parse hundreds of files and for this purpose I'm implementing a thread pool. The way I use the ExecutorService class is summarized below:
ExecutorService executor = Executors.newFixedThreadPool(10);
for (int i = 0; i < 1000; i++){
System.out.println("Parsing file No "+i);
executor.submit(new Dock(i));
executor.shutdown();
try {
executor.awaitTermination(30, TimeUnit.SECONDS);
} catch (InterruptedException ex) {
ex.printStackTrace();
executor.shutdownNow();However, the code snippet above creates all the 1000 threads (Dock objects) at once and loads them to the executor, and thus I'm worrying about memory leak. I haven't tested it on 1000 files yet but just on 50 small ones, and even if the program prints out "Parsing file No "+i 50 times at once, it executes normally the threads in the background.
I guess the write way would be to keep the number of active/idle threads in the executor constant (lets say 20 if the thread pool's size is 10) and submit a new one whenever a thread has been finished or terminated. But for this to happen the program should be notified someway whenever a thread is done. Can anybody help me do that?
thanks in advance,
TomOk I found a feasible solution myself although I'm not sure if this is the optimum.
Here's what I did:
ExecutorService executor = Executors.newFixedThreadPool(10);
Future<String> future0, future1, future2, future3, future4, future5, future6, future7, future8, future9;
Future[] futureArray = {future0 = null, future1 = null, future2 = null, future3 = null, future4 = null, future5 = null,
future6 = null, future7 = null, future8 = null, future9 = null};
for (int i = 0; i < 10; i++){
futureArray[i] = executor.submit(new Dock(i));
}I created the ExecutorService object which encapsulates the thread pool and then created 10 Future objects (java.util.concurrent.Future) and added them into an Array.
For java.util.concurrent.Future and Callable Interface usage refer to:
[http://www.swingwiki.org/best:use_worker_thread_for_long_operations]
[http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter10/concurrencyTools.html]
I used a Future[] Array to make the code neater. So after that I submitted -and in this way filled up- the first 10 threads to the thread pool.
int i = 9;
while (i < 1000){
for (int j = 0; j < 10; j++){
if (futureArray[j].isDone() && i < 999){
try{
i++;
futureArray[j] = executor.submit(new Dock(i));
} catch (ExecutionException ex) {
ex.printStackTrace();
} catch (InterruptedException ex) {
ex.printStackTrace();
try {
Thread.sleep(100); // wait a while
} catch(InterruptedException iex) { /* ignore */ }
executor.shutdown();
try {
executor.awaitTermination(60, TimeUnit.SECONDS);
} catch (InterruptedException ex) {
ex.printStackTrace();
executor.shutdownNow();
}Each of the future[0-9] objects represents a thread in the thread pool. So essentially I'm check which of these 10 threads has been finished (using the java.util.concurrent.Future.isDone() method) and if yes I replenish that empty future[0-9] object with a new one.
Maybe you are looking for
-
Signing a PDF/A with a JPG image, invalidates the compliance
I am trying to sign a PDF/A document. I can't do it with Adobe Acrobat without invalidating the PDF/A compliance. So I am using our tool to sign the file. When I use a BMP as the graphical represenation of the signature, the file remains compliant, i
-
HELP!! Solaris 10 - Mount NFSv4 Share from Linux using Kerberos Security
Greetings all, my apologies if this post is in the wrong place... I have an issue getting Solaris 10 to mount an NFSv4 share from a SuSE Linux 10 machine using kerberos security. I am able to mount the NFSv4 share from another SuSE 10 machine. The ke
-
<p>Trying to create a report which would include the last logintime of each user. I can see that value is being stored somewherebecause when you select users in EAS it gives you a column 'LastLogin Time'.</p><p> </p><p>Is there any way to have that d
-
View Object is invalid due to SYSTEM.MODE is not recognized inside SQL
Hi All, I tried recreating a Oracle form 9i to ADF BC using Jheadstart 10.1.3.3.81, JHS converted the form(converted .xml) generating the Entity and View Objects. But among the generated View Objects few are invalid due to which the generated .jspx p
-
How to get the status of MessageBridge STATUS consistently?
Hi I am using Mbean to get the status of messaging Bridge. try { Iterator iterator = localHome.getMBeansByType("MessagingBridgeRuntime").iterator(); while (iterator.hasNext()) { MessagingBridgeRuntimeMBean bridgeInfo = (MessagingBridgeRuntimeMBean)it