Quick PSA: LS2J Problems in 9.0.1 FP3

May 19, 2015 2:25 PM

Tags: java

While I'm at it, I realized that it may be useful to further spread information about the problem that led to me fiddling with the latest IFs and JVM patches in the first place: the LS2J problems in 9.0.1 FP3. Specifically, it's borked. The main way most people have encountered this is via an exception dialog when attempting to add new plugins to an Update Site NSF, since that uses LS2J to accomplish its task - it displays several layers of stack and the upshot is that there's a java.lang.InternalError about calling a constructor.

The fix is to install the JVM patch from here; Interim Fix 3, while also worth an install, doesn't cover this.

There's another caveat about that, though, for those who have both Notes and Domino installed on the same machine. Since the installer for the JVM patch is the same for both, it will pick one of the two and not give you a choice to choose the other. In the case of the 64-bit patch (I don't know why it picks the client in that case), Ulrich Krause posted workaround steps. In my case, both were 32-bit, it found Domino first and not Notes, and the same commands didn't work. My ugly workaround was to fireup regedit, browse to (if I recall correctly) HKEY_LOCAL_MACHINE\SOFTWARE\IBM and rename the "Domino" folder/key to something else, run the installer, and then rename the folder/key back.

Commenter Photo

Sean Cull - May 19, 2015 3:31 PM

The whole fix pack Vs Interim Fix is doing my head in at the minute.

Just building a dev server to the latest version and there are a lot of moving pieces. The IBM site is suggesting FP2 is needed but I am guessing it is FP3 + IF2

Confusingly the left hand filter shoes 9.0.1.4 as an installed option

http://www.ibm.com/support/fixcentral/swg/quickorder?parent=Collaboration%2BSolutions&product=ibm/Lotus/Lotus+Domino&release=9.0.1.0&platform=Linux&function=recommended&source=fc

Commenter Photo

Lars Berntrop-Bos - May 21, 2015 5:29 AM

What also tripped me up is that the JVM update needs to be reinstalled every time you update your client or server.

So now after every update I open a command prompt, navigate to the Notes and Domino JVM folders (<Notes or Domino program dir>\JVM\bin) and execute java -version. 

If all is well, should respond with:

java version "1.6.0"

Java(TM) SE Runtime Environment (build pwi3260sr16fp3ifix-20150325_01(SR16 FP3+IV70681+IV69513))

IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows 7 x86-32 jvmwi3260sr16-20150325_241329 (JIT enabled, AOT enabled)

J9VM - 20150325_241329

JIT  - r9_20140523_64469ifx3

GC   - GA24_Java6_SR16_20150325_0550_B241329)

JCL  - 20141216_01

if it has regressed, I reinstall the JVM update.

For a testmachine in which I run a 32-bit server and client, I also use Ullrichs fix. The command line adapted for 32 bit would become:

9.0.1.3_ClientServer_w32_JVM_Patch_20150327_080946.exe LAX_VM <Notes or Domino program dir>\jvm\bin\java.exe -D$USER_INSTALL_DIR$=<Notes or Domino program dir>

Note that you need to close any other console prompts which have the jvm directory open, or the jvm installer will fail. (got bitten by that one when I checked the java version and opened a new console to do the update while leaving the other one open to do a recheck after the update.) Also note that the jvm is not updated until you click 'Finish' in the final installer screen and the code that runs after that click is finished moving stuff around. Alse empty the trash after you have rechecked the java version, since the old files will be sitting there.

In case an update breaks stuff and you need to uninstall, I figured out that the uninstall also needs a helping hand if needed on a machine with both server and client:

The jvm uninstall line to use: <Notes or Domino Program dir>\uninst_jvmpatch\uninstall.exe -D$USER_INSTALL_DIR$=<Notes or Domino Program dir>

New Comment