Orbeon 3.9 NullPointerException with websphere 6.1

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
Hi,

I'm trying the last nightly build (Orbeon Forms 3.9.0.pre.201104120123 CE) on Websphere 6.1 :
Host Operating System is AIX, version 5.3
Java version = 1.5.0, Java Compiler = j9jit23, Java VM name = IBM J9 VM

I have got an NullPointerException (Deflater has been closed) see orbeon.log attached
orbeon.log
The same build works fine on Tomcat 6 and Java sun 1.6

I have tried the solution of this post (ie set the -XX:MaxPermSize=128m), but it didn't solve the problem.

Is there a solution ?

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 NullPointerException with websphere 6.1

Erik Bruchez
Administrator
Olivier,

This is an annoying one especially since we don't have the IBM JDK
installed at this point.

Do you have some Java knowledge? If so maybe you can have a look at
it. There may be a way to work around this here:

https://github.com/orbeon/orbeon-forms/blob/master/src/scala/org/orbeon/oxf/xforms/XFormsCompressor.scala

-Erik

On Tue, Apr 12, 2011 at 9:22 AM, Olivier Thery <[hidden email]> wrote:

> Hi,
>
> I'm trying the last nightly build (Orbeon Forms 3.9.0.pre.201104120123 CE)
> on Websphere 6.1 :
> Host Operating System is AIX, version 5.3
> Java version = 1.5.0, Java Compiler = j9jit23, Java VM name = IBM J9 VM
>
> I have got an NullPointerException (Deflater has been closed) see orbeon.log
> attached
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3445071/orbeon.log
> orbeon.log
> The same build works fine on Tomcat 6 and Java sun 1.6
>
> I have tried the solution of
> http://stackoverflow.com/questions/4887793/ce-nightly-build-does-not-work-out-of-the-box
> this post  (ie set the -XX:MaxPermSize=128m), but it didn't solve the
> problem.
>
> Is there a solution ?
>
> Thanks
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Orbeon-3-9-NullPointerException-with-websphere-6-1-tp3445071p3445071.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
Hi Erik,

I have investigated this problem and I have solved the NPE due to Deflater.
I attache a TestDeflater web application to explain the solution (see TestDeflater.zip and TestDeflater-Source.zip)

IBM JVM doesn't work like SUN JVM, especially about Deflater which has native functions.
The exception was throwned only with IBM JVM during the call of Deflater.reset() because strm ==0
***********************************
private void ensureOpen() {
    if (strm == 0)
         throw new NullPointerException ();
}
***********************************

The solution was to modify XFormsCompressor.scala by moving the call of Deflater.reset()  in activateObject  or passivateObject which reinitialize or unitialize the Deflater Object to be returned to or by the pool.
I don't know why but it works like that !

This solution implemented in TestDeflater works fine with Websphere 6.1 + IBM JVM and Tomcat 6 + Sun JVM.
I have also tested this solution with orbeon 3.9. There is no more NPE due to Deflater.reset(). The application is launched and I can display each form.
BUT, I have got now an "org.orbeon.oxf.common.OXFException: Session has expired. Unable to process incoming request." each time I click in a form (see orbeon.log)

Do you think that my "solution" is the cause of this new problem ?

Thanks.
TestDeflater-Source.zip
orbeon.logTestDeflater.zip
NB : TestDeflater file was to big, so I have deleted scala-library-2.8.1.jar and saxon-9-1-0-8_orbeon_20110215.jar from the lib directory, but you can add them from an orbeon distribution.
Reply | Threaded
Open this post in threaded view
|

Re: Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
In reply to this post by Erik Bruchez
The file missing in the previous post.
TestDeflater.zip
Reply | Threaded
Open this post in threaded view
|

Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Erik Bruchez
Administrator
In reply to this post by Olivier Thery
Olivier,

Excellent news, except of course for the session issue!

I can't rule out that this change could cause the issue although I
don't see why immediately.

But you should be able to check this easily by reverting the change, right?

-Erik

On Fri, Apr 22, 2011 at 8:12 AM, Olivier Thery <[hidden email]> wrote:

> Hi Erik,
>
> I have investigated this problem and I have solved the NPE due to Deflater.
> I attache a TestDeflater web application to explain the solution (see
> TestDeflater.zip and TestDeflater-Source.zip)
>
> IBM JVM doesn't work like SUN JVM, especially about Deflater which has
> native functions.
> The exception was throwned only with IBM JVM during the call of
> Deflater.reset() because strm ==0
> ***********************************
> private void ensureOpen() {
>    if (strm == 0)
>         throw new NullPointerException ();
> }
> ***********************************
>
> The solution was to modify XFormsCompressor.scala by moving the call of
> Deflater.reset()  in activateObject  or passivateObject which reinitialize
> or unitialize the Deflater Object to be returned to or by the pool.
> I don't know why but it works like that !
>
> This solution implemented in TestDeflater works fine with Websphere 6.1 +
> IBM JVM and Tomcat 6 + Sun JVM.
> I have also tested this solution with orbeon 3.9. There is no more NPE due
> to Deflater.reset(). The application is launched and I can display each
> form.
> BUT, I have got now an "org.orbeon.oxf.common.OXFException: Session has
> expired. Unable to process incoming request." each time I click in a form
> (see orbeon.log)
>
> Do you think that my "solution" is the cause of this new problem ?
>
> Thanks.
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3468139/TestDeflater-Source.zip
> TestDeflater-Source.zip
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3468139/orbeon.log
> orbeon.log
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3468139/TestDeflater.zip
> TestDeflater.zip
> NB : TestDeflater file was to big, so I have deleted scala-library-2.8.1.jar
> and saxon-9-1-0-8_orbeon_20110215.jar from the lib directory, but you can
> add them from an orbeon distribution.
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Orbeon-3-9-NullPointerException-with-websphere-6-1-tp3445071p3468139.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
Hi Erik,

all issues are now solved.

The session issue was about paramater to enable cookies in Websphere.
For the NPE due to Deflater, my solution exposed in previous post works fine.
Instead of calling Deflater.reset() in the Finally part of the compressBytes function (see XFormsCompressor.scala), call it in the passivateObject function, which is invoked on every instance when it is returned to the pool (as explained here)

To test my solution, you have to :
1) unzip orbeon.jar under WEB-INF\lib directory in a temp directory
2) delete XFormsCompressor classes (6 files)
3) zip the content of the temp directory in orbeon-modified.jar
4) add this new package XFormsCompressor.jar in WEB-INF\lib directory

As I said before, this solution works fine with Websphere 6.1 + IBM JVM and Tomcat 6 + Sun JVM.

Could you make this change in the XFormsCompressor.scala source file to integrate it in a nexet nigthly build ?

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Erik Bruchez
Administrator
Olivier,

Thanks!

Now I am wondering one thing: could it be then that the exception
still occurs, but that it occurs in passivateObject(), is swallowed,
and then causes the Deflater to be discarded? I am thinking that this
would make sense since all that is done is move the call to reset()
from outside to inside the pool.

If that's the case, this means the Deflater wouldn't be reused. In
which case, using a pool is a waste, even more so if an exception is
thrown (as those can be costly).

What do you think?

-Erik

On Thu, May 5, 2011 at 8:17 AM, Olivier Thery <[hidden email]> wrote:

> Hi Erik,
>
> all issues are now solved.
>
> The session issue was about paramater to enable cookies in Websphere.
> For the NPE due to Deflater, my solution exposed in previous post works
> fine.
> Instead of calling Deflater.reset() in the Finally part of the compressBytes
> function (see
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3498616/XFormsCompressor.scala
> XFormsCompressor.scala ), call it in the passivateObject function, which is
> invoked on every instance when it is returned to the pool (as explained
> http://commons.apache.org/pool/api-1.4/org/apache/commons/pool/PoolableObjectFactory.html
> here )
>
> To test my solution, you have to :
> 1) unzip orbeon.jar under WEB-INF\lib directory in a temp directory
> 2) delete XFormsCompressor classes (6 files)
> 3) zip the content of the temp directory in orbeon-modified.jar
> 4) add this new package
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3498616/XFormsCompressor.jar
> XFormsCompressor.jar  in WEB-INF\lib directory
>
> As I said before, this solution works fine with Websphere 6.1 + IBM JVM and
> Tomcat 6 + Sun JVM.
>
> Could you make this change in the XFormsCompressor.scala source file to
> integrate it in a nexet nigthly build ?
>
> Thanks.
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Orbeon-3-9-NullPointerException-with-websphere-6-1-tp3445071p3498616.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
Erik,

You were right, the exception is swallowed by the pool, as explain in the javadoc
I added some trace around defalter.reset() in passivateObject, and you can see below the differences between execution on SUN JVM and IBM JVM (see logs before change below).

I have investigated a bit more, and I have found posts which explain the problem as an implementation difference between sun and ibm's GZIPOutputStream classes :
  - with SUN implementation, DeflaterOutputStream.close called end() on the Deflater. So it appears that you had to make a new Deflater everytime we wanted to use one with DeflaterOutputStream. A fix has been delivered for this bug (see Bug ID:  4499542)
 - with IBM implementation, GZIPOutputStream class (looks like for performance reasons) calls the deflater's end method as part of GZIPOutputStream.finish(), so deflater's reset can't be called after (see this post)

Solution
Moving the call of deflater's reset in passivateObject was not a good solution.
Now, I think the best way is to be independent of this implementation difference between sun and ibm's GZIPOutputStream classes. So, as you have made for the deflater's method close, I have added a method finish to override the original deflater's method finish. This new method finish is the translation in Scala of the original sun's implementation (see SUN java source code). I am a newbie in Scala, so my code needs your validation !

Here is my new versions of XFormsCompressor.scala and XFormsCompressor.jar
XFormsCompressor.scala
XFormsCompressor.jar
I have tested them with Apache\Tomcat\Sun JVM and Websphere\IBM JVM : the deflater is now created just once and is reused (see logs after change below)

Logs before change
1) With IBM JVM : a new Deflater is created each time we need it
2011-05-11 11:32:15,643 DEBUG XFormsServer  - compressor - creating new Deflater
2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before returnObject : 0
2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before returnObject : 1
2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle before reset : 0
2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active before reset : 1
2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 0
2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0
2011-05-11 11:32:16,233 DEBUG XFormsServer  - compressor - creating new Deflater
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before returnObject : 0
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before returnObject : 1
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle before reset : 0
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active before reset : 1
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 0
2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0


2) With SUN JVM : it works fine : Deflater is created just once then reused
2011-05-11 11:43:47,984 DEBUG XFormsServer  - compressor - creating new Deflater
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before returnObject : 0
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before returnObject : 1
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle before reset : 0
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active before reset : 1
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle after reset : 0
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active after reset : 1
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 1
2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before returnObject : 0
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before returnObject : 1
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle before reset : 0
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active before reset : 1
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle after reset : 0
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active after reset : 1
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 1
2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0


Logs after change
1) With IBM JVM and SUN JVM : it works fine : Deflater is created just once then reused
2011-05-12 10:09:10,468 DEBUG XFormsServer  - compressor - creating new Deflater
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before reset and returnObject : 0
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before reset and returnObject : 1
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle after reset and before returnObject : 0
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active after reset and before returnObject : 1
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 1
2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes Deflater finished : true
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle before reset and returnObject : 0
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active before reset and returnObject : 1
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in passivateObject Number of instances idle after reset and before returnObject : 0
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in passivateObject Number of instances active after reset and before returnObject : 1
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes Number of instances idle after returnObject : 1
2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes Number of instances active after returnObject : 0


I hope this change can solve the problem and that you can integrate it soon in a nightly build.

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Erik Bruchez
Administrator
Olivier,

Thanks a lot! I have committed the changes:

https://github.com/orbeon/orbeon-forms/commit/9f262e4bba9c15a3eb01b60bcb92f8ccaa587aba

I did some minor adjustments to the Scala code, nothing major at all.

You don't need in general to place names within backticks in Scala:
here only `def` was needed because that would otherwise conflict with
Scala's "def" keyword.

I also nested the functions, although that's clearly not needed.

-Erik

On Thu, May 12, 2011 at 3:03 AM, Olivier Thery <[hidden email]> wrote:

> Erik,
>
> You were right, the exception is swallowed by the pool, as explain in the
> http://commons.apache.org/pool/apidocs/index.html?org/apache/commons/pool//class-usePoolableObjectFactory.html
> javadoc
> I added some trace around defalter.reset() in passivateObject, and you can
> see below the differences between execution on SUN JVM and IBM JVM (see logs
> before change below).
>
> I have investigated a bit more, and I have found posts which explain the
> problem as an implementation difference between sun and ibm's
> GZIPOutputStream classes :
>  - with SUN implementation, DeflaterOutputStream.close called end() on the
> Deflater. So it appears that you had to make a new Deflater everytime we
> wanted to use one with DeflaterOutputStream. A fix has been delivered for
> this bug (see  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4499542
> Bug ID:  4499542 )
>  - with IBM implementation, GZIPOutputStream class (looks like for
> performance reasons) calls the deflater's end method as part of
> GZIPOutputStream.finish(), so deflater's reset can't be called after (see
> http://www.velocityreviews.com/forums/t123932-deflater-and-ibm-jre.html this
> post )
>
> Solution
> Moving the call of deflater's reset in passivateObject was not a good
> solution.
> Now, I think the best way is to be independent of this implementation
> difference between sun and ibm's GZIPOutputStream classes. So, as you have
> made for the deflater's method close, I have added a method finish to
> override the original deflater's method finish. This new method finish is
> the translation in Scala of the original sun's implementation (see
> http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Core/Collections-Jar-Zip-Logging-regex/java/util/zip/GZIPOutputStream.java.htm
> SUN java source code ). I am a newbie in Scala, so my code needs your
> validation !
>
> Here is my new versions of XFormsCompressor.scala and XFormsCompressor.jar
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3516921/XFormsCompressor.scala
> XFormsCompressor.scala
> http://orbeon-forms-ops-users.24843.n4.nabble.com/file/n3516921/XFormsCompressor.jar
> XFormsCompressor.jar
> I have tested them with Apache\Tomcat\Sun JVM and Websphere\IBM JVM : the
> deflater is now created just once and is reused (see logs after change
> below)
>
> Logs before change
> 1) With IBM JVM : a new Deflater is created each time we need it
> 2011-05-11 11:32:15,643 DEBUG XFormsServer  - compressor - creating new
> Deflater
> 2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before returnObject : 0
> 2011-05-11 11:32:15,659 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before returnObject : 1
> 2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle before reset : 0
> 2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active before reset : 1
> 2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 0
> 2011-05-11 11:32:15,660 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
> 2011-05-11 11:32:16,233 DEBUG XFormsServer  - compressor - creating new
> Deflater
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before returnObject : 0
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before returnObject : 1
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle before reset : 0
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active before reset : 1
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 0
> 2011-05-11 11:32:16,242 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
>
> 2) With SUN JVM : it works fine : Deflater is created just once then reused
> 2011-05-11 11:43:47,984 DEBUG XFormsServer  - compressor - creating new
> Deflater
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before returnObject : 0
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before returnObject : 1
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle before reset : 0
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active before reset : 1
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle after reset : 0
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active after reset : 1
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 1
> 2011-05-11 11:43:48,000 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before returnObject : 0
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before returnObject : 1
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle before reset : 0
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active before reset : 1
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle after reset : 0
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active after reset : 1
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 1
> 2011-05-11 11:43:48,046 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
>
> Logs after change
> 1) With IBM JVM and SUN JVM : it works fine : Deflater is created just once
> then reused
> 2011-05-12 10:09:10,468 DEBUG XFormsServer  - compressor - creating new
> Deflater
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before reset and returnObject : 0
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before reset and returnObject : 1
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle after reset and before returnObject
> : 0
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active after reset and before
> returnObject : 1
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 1
> 2011-05-12 10:09:10,484 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes
> Deflater finished : true
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle before reset and returnObject : 0
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active before reset and returnObject : 1
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances idle after reset and before returnObject
> : 0
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in
> passivateObject Number of instances active after reset and before
> returnObject : 1
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances idle after returnObject : 1
> 2011-05-12 10:09:10,531 DEBUG XFormsServer  - compressor - in compressBytes
> Number of instances active after returnObject : 0
>
> I hope this change can solve the problem and that you can integrate it soon
> in a nightly build.
>
> Thanks
>
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Orbeon-3-9-NullPointerException-with-websphere-6-1-tp3445071p3516921.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Olivier Thery
Erik,

Thanks a lot. I have tested the changes on Websphere 6.1 / JVM IBM. It works fine.

Olivier
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Re: Orbeon 3.9 NullPointerException with websphere 6.1

Erik Bruchez
Administrator
Olivier,

Excellent, thanks for confirming.

-Erik

On Tue, May 17, 2011 at 12:43 AM, Olivier Thery <[hidden email]> wrote:

> Erik,
>
> Thanks a lot. I have tested the changes on Websphere 6.1 / JVM IBM. It works
> fine.
>
> Olivier
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Orbeon-3-9-NullPointerException-with-websphere-6-1-tp3445071p3528321.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws