You are viewing a plain text version of this content. The canonical link for it is here.
Posted to savan-dev@ws.apache.org by "Prakash C Rao (JIRA)" <ax...@ws.apache.org> on 2010/05/31 12:10:39 UTC
[jira] Commented: (AXIS-2698) SAX2EventRecorder causes Out of
memory during Deserialization
[ https://issues.apache.org/jira/browse/AXIS-2698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12873608#action_12873608 ]
Prakash C Rao commented on AXIS-2698:
-------------------------------------
Unfortunately we have chosen Axis 1.4 for our production system and we get out of memory every now & then. I analyzed 6-7 heap dumps and it is all pointing to SAX2EventRecorder.objArrayVector. I see multiple references to objArray of size 1024000. These objects in total are consuming about 400-650 MB of memory and it is causing out of memory.
The SAX2EventRecorder.objArrayVector gets called for every character parsing & in our case we call the service SOAP API in a loop and after few hours we get out of memory. Is there a way to fix this? Why these objects are not being collected by FULL GC after receiving response and it's being processed for one request. I see clear API in SAX2EventRecorder which assigns a new objArrayVector to events object but don't see getting called anywhere. Isn't objArrayVector to be nullified after response is processed so that it becomes eligible for GC?
> SAX2EventRecorder causes Out of memory during Deserialization
> -------------------------------------------------------------
>
> Key: AXIS-2698
> URL: https://issues.apache.org/jira/browse/AXIS-2698
> Project: Axis
> Issue Type: Bug
> Components: Serialization/Deserialization
> Affects Versions: 1.2
> Environment: IBM AIX 5.2., Client: java 1.4.2 Server: PERL, SOAPLite
> Reporter: Jens Rottgardt
> Priority: Critical
>
> After undetermined time (3 or 4 days) the java client crashes with an out of memeory exception. Analyzing the head dump showes that during the deserialization the SAX2EventRecorder$objArrayVector.add produces a huge amount of MessageElemets. The returned message is a 3times nested array containg in the inner arry just a strings [ [ [ key~value, ..., key~value ] ] ]. Here a snippit of the array
> [
> [
> [
> 'range.type~INTEGER',
> 'range.mode~LASTCHANGE',
> 'attribute.state~error',
> 'lower-limit.value~2',
> 'lower-limit.isIncluded~FALSE',
> 'type.id~fhkh00',
> 'attribute.id~timestamp.last-change-physical',
> 'fhkh00.host~lwfis24',
> 'fhkh00.id~DVD337SF',
> 'fhkh00.instance~A11F2411'
> ],
> [
> 'range.type~INTEGER',
> 'range.mode~LASTCHANGE',
> 'attribute.state~error',
> 'upper-limit.value~0',
> 'upper-limit.isIncluded~FALSE',
> 'type.id~fhkh00',
> 'attribute.id~timestamp.last-change-physical',
> 'fhkh00.host~lwfis24',
> 'fhkh00.id~DVD337SF',
> 'fhkh00.instance~A11F2411'
> ],
> [
> 'range.type~INTEGER',
> 'range.mode~LASTCHANGE',
> 'attribute.state~ok',
> 'lower-limit.value~0',
> 'lower-limit.isIncluded~TRUE',
> 'upper-limit.value~2',
> 'upper-limit.isIncluded~TRUE',
> 'type.id~fhkh00',
> 'attribute.id~timestamp.last-change-physical',
> 'fhkh00.host~lwfis24',
> 'fhkh00.id~DVD337SF',
> 'fhkh00.instance~A11F2411'
> ]
> ]
> ]
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org