It was noticed that all JNI library calls to "System.loadLibrary()" generally ignore exceptions --- the code should be changed to catch and at least print out a message as to why the specified library cannot be loaded.
Created attachment 366461 [details] Diffs for osutil
Created attachment 366462 [details] Diffs for symkey
attachment (id=366461) attachment (id=366462) +awnuk
This fix also "hard-coded" directory paths (on Linux and Solaris) to satisfy the Fedora packaging requirements of using the "System.load()" instead of the "System.loadLibrary()" Java method calls. # cd pki/base # svn status | grep -v ^$ | grep -v ^P | grep -v ^X | grep -v ^? M osutil/src/com/netscape/osutil/LibC.java M osutil/src/com/netscape/osutil/Signal.java M osutil/src/com/netscape/osutil/OSUtil.java M osutil/src/com/netscape/osutil/NTEventLogger.java M osutil/src/com/netscape/osutil/ResourceLimit.java M osutil/src/com/netscape/osutil/UserID.java M symkey/src/com/netscape/symkey/SessionKey.java # svn commit Sending base/osutil/src/com/netscape/osutil/LibC.java Sending base/osutil/src/com/netscape/osutil/NTEventLogger.java Sending base/osutil/src/com/netscape/osutil/OSUtil.java Sending base/osutil/src/com/netscape/osutil/ResourceLimit.java Sending base/osutil/src/com/netscape/osutil/Signal.java Sending base/osutil/src/com/netscape/osutil/UserID.java Sending base/symkey/src/com/netscape/symkey/SessionKey.java Transmitting file data ....... Committed revision 806.
Created attachment 367733 [details] osutil.diffs Remove Solaris condition.
Created attachment 367734 [details] symkey.diffs Remove Solaris condition.
attachment (id=367733) attachment (id=367734) +awnuk
# cd pki/base # svn status | grep -v ^$ | grep -v ^P | grep -v ^X | grep -v ^? M osutil/src/com/netscape/osutil/LibC.java M osutil/src/com/netscape/osutil/Signal.java M osutil/src/com/netscape/osutil/OSUtil.java M osutil/src/com/netscape/osutil/NTEventLogger.java M osutil/src/com/netscape/osutil/ResourceLimit.java M osutil/src/com/netscape/osutil/UserID.java M symkey/src/com/netscape/symkey/SessionKey.java # svn commit osutil symkey Sending osutil/src/com/netscape/osutil/LibC.java Sending osutil/src/com/netscape/osutil/NTEventLogger.java Sending osutil/src/com/netscape/osutil/OSUtil.java Sending osutil/src/com/netscape/osutil/ResourceLimit.java Sending osutil/src/com/netscape/osutil/Signal.java Sending osutil/src/com/netscape/osutil/UserID.java Sending symkey/src/com/netscape/symkey/SessionKey.java Transmitting file data ....... Committed revision 811.
Matt, can you please post info. on how QE can verify this?
This code change was required by Fedora (although it may have to be changed yet again to comply with 'Bugzilla Bug #665576 - "build-classpath swt" fails on 64bit'), and required using the System.load() java call which requires a 'hard-coded path' to a library rather than the System.loadLibrary() java call which I believe may depend upon the search order defined by something like a LD_LIBRARY_PATH environment variable (which is set from within the confines of the server/program using these JNI libraries). As this change was only on Fedora, and we know that this code works from numerous installations of both 32-bit and 64-bit Dogtag servers, the only thing which could/should be tested to verify it would be to attempt install/configure a 32-bit (i686) Dogtag server on a 64-bit (x86_64) host.