Interesting Jar Signing Issue

I started out creating my key with:
keytool -genkey -keystore myKeystore -alias newKey
keytool -genkey -selfcert -alias newKey -keystore myKeystoreI then proceeded to successfully sign and verify 8 jar files using:
jarsigner -keystore myKeystore MyClass.jar newKey
jarsigner -verify MyClass.jarOn the 9th and 10th jar files the verify came back with this error:
jarsigner: java.io.IOException: invalid manifest formatOn the 9th jar file I un-jarred it and then re-jarred it again. I then signed it and verified it properly.
It is the 10th jar file that I cannot verify the signature for the life of me. I have gone though all of the above processes multiple times and have accomplished nothing besides losing a bit of hair! I do not understand this error because I am not modifying the manifest file whatsoever. It is just the plain jane vanilla manifest file that the jar command creates for you.
Basically I will sign the jar file and everything appears to be ok. When I verify I get the invalid manifest format error. If I try to sign the jar file again even with a different key I also get the invalid manifest error. It is almost as if jarsigner is trashing my manifest file. What should I do?!?
Help would be appreciated!
Phil

I was getting the IOException as you have mentioned above. I took the manifest from the signed jar and found that it didn't like the blank lines between some of the class and hash digital signature entries. These blank lines are not supposed to be there but it was jarsigner putting them there. The way I found out about these lines was by using my own modified Java VM and print out line numbers from the manifest file. Anyway, I couldn't put the corrected file back into the Jar as it would mean I wouldn't be able to verify the jar as it would now be deemed tampered with.
I solved my problem by using a different developer's machine and jdk. I was using JDK 1.3.0 c and the other developer's version was JDK 1.3.1. His environment made it all work first time. I suggest you try a different environment (ideally JDK 1.3.1 properly installed and without any other JDKs installed) just as a check.
I hope this helps.

Similar Messages

  • Java Signing issues when loading web start app

    Hey, not sure if this is the correct place for this - but couldn't think where else to put it...
    I'm a bit stuck at the moment and i wondered if anyone could shed some light on my problem, and where I might go from here.
    We've developed a EJB3 application that has a web start UI for users to start... The application is developed in Eclipse and compiled and deployed with ant build scripts... When we deploy the application from within Eclipse everything runs smoothly and users are able to start the web start app without any problems... However I've recently tried setting up a Continuous Integration server (Hudson) for us to test new deploys on and for this our build scripts need to be run outside of Eclipse...
    This appears to run without a problem, however each time the system is deployed from here the web start application fails to start because web start cannot verify the signing in the client jar
    Could not verify signing in resource: http://10.39.216.5:8080/mist2/lib/mist2-client.jarAs far as I can tell from the output of the build everything goes according to plan and there is little difference between the output if the build had been started in eclipse... The only big difference is that when building in Eclipse the build only packs up the compiled code, because Eclipse auto build the application, whereas in Hudson the code is clean built using the ant scripts (which are created by Eclipse)... and if I turn autobuild off eclipse and build the project from scratch using only the build scripts then the same problem arises...
    I'm not really an expert on jar signing so I can't really guess at what might cause the verification to fail... any hints would be much appreciated. It feels like there is something that the Eclipse compiler does that is missing from the scripts but I can't think what this might be as the scripts are created in Eclipse
    Thanks
    Alex

    Alex,
    I believe your problem might be similar to one I had. According to one forum response (of course I can't find it now), if you have third-party JARs in your application (which in your case would be any eclipse jars), they might already be signed by their originators (as are eclipse jars), which may cause some really strange errors.
    The solution for me was to package my third-party (that is, eclipse) jars into their own feature, separate from my application's feature. So, my main jnlp file has an extension to my application's feature jnlp, and that feature's jnlp file has an extension to yet another jnlp file containing the list of third-party (eclipse) jars. Of course, your jar list will probably be different than mine.
    Here's all three files. Hope this helps!!
    Calvin.jnlp (the main jnlp file):
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp
    spec="1.0+"
    codebase="http://bet/ERS"
    href="calvin.jnlp">
    <information>
    <title>ERS</title>
    <vendor>NIAT</vendor>
    <homepage href="http://niat.net"/>
    <description>Electronic Record System</description>
    <icon href="icon.jpg"/>
    <icon kind="splash" href="splash.jpg"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.6+" max-heap-size="256m"/>
    <jar href="org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar" main="true"/>
    <extension
    name="Calvin Feature"
    href="features/net.niat.calvin.feature.jnlp"/>
    <property
    name="osgi.instance.area"
    value="@user.home/Application Data/calvin"/>
    <property
    name="osgi.configuration.area"
    value="@user.home/Application Data/calvin"/>
    <property
    name="eclipse.product"
    value="net.niat.calvin.product"/>
    </resources>
    <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
    <argument>-nosplash</argument>
    </application-desc>
    </jnlp>
    net.niat.calvin.feature.jnlp (the extension's jnlp):
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="http://bet/ERS">
    <information>
    <title>ERS</title>
    <vendor>NIAT</vendor>
    </information>
    <resources>
    <jar href="../plugins/net.niat.calvin_@[email protected]"/>
    <extension name="RCP" href="org.eclipse.rcp_3.4.1.jnlp"/>
    </resources>
    <component-desc></component-desc>
    </jnlp>
    org.eclipse.rcp_3.4.1.jnlp (the repackaged eclipse files jar feature):
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="$$codebase">
    <information>
    <title>Eclipse</title>
    <vendor>eclipse.org</vendor>
    </information>
    <resources>
    <jar href="../plugins/org.eclipse.core.commands_3.4.0.I20080509-2000.jar"/>
    <jar href="../plugins/net.niat.calvin_2.6.2.11.jar"/>
    <jar href="../plugins/org.eclipse.core.commands_3.4.0.I20080509-2000.jar"/>
    <jar href="../plugins/org.eclipse.core.contenttype_3.3.0.v20080604-1400.jar"/>
    <jar href="../plugins/org.eclipse.core.databinding_1.1.1.M20080827-0800b.jar"/>
    <jar href="../plugins/org.eclipse.core.expressions_3.4.0.v20080603-2000.jar"/>
    <jar href="../plugins/org.eclipse.core.jobs_3.4.0.v20080512.jar"/>
    <jar href="../plugins/org.eclipse.core.runtime.compatibility_3.2.0.v20071008.jar"/>
    <jar href="../plugins/org.eclipse.core.runtime_3.4.0.v20080512.jar"/>
    <jar href="../plugins/org.eclipse.equinox.app_1.1.0.v20080421-2006.jar"/>
    <jar href="../plugins/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar"/>
    <jar href="../plugins/org.eclipse.equinox.preferences_3.2.201.R34x_v20080709.jar"/>
    <jar href="../plugins/org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar"/>
    <jar href="../plugins/org.eclipse.help_3.3.101.v20080702_34x.jar"/>
    <jar href="../plugins/org.eclipse.jface.databinding_1.2.1.M20080827-0800a.jar"/>
    <jar href="../plugins/org.eclipse.jface_3.4.1.M20080827-2000.jar"/>
    <jar href="../plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar"/>
    <jar href="../plugins/org.eclipse.swt.win32.win32.x86.source_3.4.1.v3449c.jar"/>
    <jar href="../plugins/org.eclipse.swt_3.4.1.v3449c.jar"/>
    <jar href="../plugins/org.eclipse.ui.forms_3.3.101.v20080708_34x.jar"/>
    <jar href="../plugins/org.eclipse.ui.workbench_3.4.1.M20080827-0800a.jar"/>
    <jar href="../plugins/org.eclipse.ui_3.4.1.M20080910-0800.jar"/>
    <jar href="../plugins/runtime_registry_compatibility.jar"/>
    </resources>
    <component-desc></component-desc>
    </jnlp>

  • Very interesting and quizzical issue in JNI COding.

    HI All,
    i've been facing a really frustrating, interesting and mindwrenching issue in my native code. Here is a background.
    1. I was given a thirdparty ACtiveX OCX file that needed to be called through JAva.
    2. I wrote a C++ JNI wrapper to call the methods of the activex object.
    3. I first initialize the object, set the relevant parameters (sent from java) and then call the method I need.
    4. For every record, I need to perform step 3. NOw, I am ryuning batch loads. THE code works fine for 9500 records. BUt, once the record count reaches 9885, I get a pop-up error from the activeX OCX control. I've not coded that pop-up. It comes out of the blue.
    I initially thought that it could be a memory issue, but even after doubling my VM Memory allocation, I get the error. Its not a data issue, because the reocrd that causes the issue, if I run the code just for that single record, it works fine.
    Below is the implemetnation of the C++ code. LEt me know if I'm doign somethign wrong or if someone has seen something like this happen before. WHAt is baffling is that it works smoothly for less records. When the pop up appears, no exception is caught on the native side also.!!!
    Does java set aside some memory specfic for native libs and that is exhausted after 9885?
    I'm running on windows, so is it possible to trace the internal malloc and release within the dLL?
    ANy thoughts and ideas will help. I've been struggling for about three days now. ALso, do you know of a good C++ forum that i could post this question?
    #include "stdafx.h"
    #include "jni.h"
    #import "thirdparty.ocx" raw_native_types
    JNIEXPORT jstring JNICALL Java_org_nik_integration_test_Exporter_saveAsImage
      (JNIEnv * env, jobject obj, jint height, jint width , jstring fileName, jstring encryptionKey, jshort encryptionAlgorithm, jstring encryptedImage, jshort imageType)
         const char* fName = NULL;
         const char* encryptionKeyc = NULL;
         const char* encImgc = NULL;
         ThirdPartyLib::_DTPPtr tpptr = 0;
         HRESULT hres = 0;
         try
              hres =  ::CoCreateInstance(__uuidof(ThirdPartyLib::TP),NULL,CLSCTX_ALL, __uuidof(ThirdPartyLib::_DTP), (void**)&tpptr);
              //Retrieve values sent from Java     
              fName = env->GetStringUTFChars(fileName,0);
              encryptionKeyc = env->GetStringUTFChars(encryptionKey,0);
              encImgc = env->GetStringUTFChars(encryptedImage,0);
                         tpptr->Key = _com_util::ConvertStringToBSTR(encryptionKeyc);
              tpptr->Algorithm = encryptionAlgorithm;
              tpptr->Img = _com_util::ConvertStringToBSTR(encImgc);
              tpptr->SaveUnencrypted(width, height,_com_util::ConvertStringToBSTR(fName) , 1);
         catch(_com_error &e)
              _bstr_t bstrSource(e.Source());
             _bstr_t bstrDescription(e.Description());
             printf( "Exception thrown for classes generated by #import" );
             printf( "\tCode = %08lx\n",      e.Error());
             printf( "\tCode meaning = %s\n", e.ErrorMessage());
             printf( "\tSource = %s\n",       (LPCTSTR) bstrSource);
             printf( "\tDescription = %s\n",  (LPCTSTR) bstrDescription);
             // Errors Collection may not always be populated.
             if( FAILED( hres ) )
                printf( "*** HRESULT ***" );
              return NULL;
         __finally
              tpptr->Release();
              tpptr = NULL;
              //Release memory - java specific
              env->ReleaseStringUTFChars(encryptionKey, encryptionKeyc);
              env->ReleaseStringUTFChars(ink, inkc);
              env->ReleaseStringUTFChars(fileName, fName);
         }

    Well you have now demonstrated conclusively that it has nothing to do with JNI.
    It is either a bug with that component and/or you are using it incorrectly. Solutions to either of those would come from the source of that component, which would be somewhere besides here.
    If it was a bug then you might find a way around it by doing one of the following
    1. Try variations of use (options, parameters, whatever.)
    2. Determine if you can solve your problem by only processing 5000 entries at a time (where 5000 chosen just to be significantly lower than the limit you have already found.) If that works then you can solve the problem by using a restartable executable that wraps the component.

  • Applets, Policy Files, jar signing, JNI, etc

    Hi,
    I need an Applet to be able to connect to sockets and use some JNI. Hence, as far as I can tell, I need to use a Policy File. In a standalone application, I have written my policy file tried it out by switching on the security manager. However I am not sure how I do this with an applet.
    I have read many examples of Jar signing, yet every example uses appletviewer and the -J-Djava.security.policy to show the security policy in action.
    However I want this to work through a normal browser, so how do I achieve this?
    Do I specify a URL to the java.security.file in the embed/object/applet tags in the HTML?
    Do I put the policy file in the jar and reference it via the Manifest?
    Any ideas much appreciated,
    John B

    The standard AccessControlException:
    java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
    at java.security.AccessController.checkPermission(AccessController.java:401)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
    at java.lang.ClassLoader.getParent(ClassLoader.java:701)
    Or something like that.
    That's what I'm trying to solve, I wish to use the Java Security Policy system to allow my applet access to various resources, such as writing files. Now I've seen that signing an applet will give it full access (in my view, this is rather insecure, but anyway), however following the steps to sign an applet two or three times has still presented me with the same problem. The signing is ignored, and the exception is thrown.
    Applet signing aside, I fail to see any documentation stating how the policy file is used by the VM when running on a browser. I assumed it might be an entry in the Jar's manifest file, but again, I can find no documentation.
    It's all very annoying, and Sun have done quite a bad job at documenting this. For example, their example talkes about -D-Jjava.security.policy=.... being passed to appletviewer. Who on earth uses appletviewer! If policies only work with that, then they are useless. I want them to work with whatever browser the applet is being run within.
    Surely this isn't too much to ask? :)

  • Need some advices on jar signing

    Hi, our's company project will have an app server and some desktop apps.
    App server - tomcat, desktop - are just some application.jar.
    The question is how server may know if the data is from our application.jar or from any thirdparties? May jar signing solve this or there is another way.
    P.S. There will be no Java Web Start
    Thanks in advance.

    1) If you can mount those disks on your database server then YES you can store the RMAN backups of those. You must NFS Mount the disks on your DB server so that RMAN can see them put the bakcups on them. Or you can directly write to the tapes.
    2) No, Flash recovery area is only one parameter pointing to one mounted space and you can't spread it over multiple volumes. What is the size of your database?
    Daljit Singh

  • JApplet jar signing

    Hi,
    My requirement is to bring a set of files from the server to the client thru JApplet..
    (Japplet,jdk1.3,weblogic,jre1.3) is the environment.
    I know that the jar file has to signed etc.. but is there any way by which i can accomplish this
    without jar signing..
    If it is not possible, is there any way to test the jar signing (any trial version etc).I just want to
    test it before buying the Verisign etc..
    Could any one help me on this...
    Thanks

    Can we customize sign_webutil.bat to do this?Yes, you can. Only be careful to webutil password

  • PJC jar sign

    hi,
    i want to use some jar file as :
    http://forms.pjc.bean.over-blog.com/article-1830062.html
    but need to sign and i don't know how to sign .
    plz help for sign .

    Thanks for the response. I looked over getting JAR signing to work, but this applet is being hosted on the local machine and that process required an online URL. Knowing that my command line argument was wrong helped a lot though, I eventually loaded up the policytool program and got the syntax I needed for the policy file.
    grant codeBase "file:/C:/WINDOWS/java/classes/Client_2.0/classes/Client/*" {
    permission java.security.AllPermission;
    };

  • Jars signed with revoked certificate

    Hello,
    I have a situation here where i have jars and wars which were signed using jarsigner. The certificate used to sign the jars is now revoked.
    When java runtime loads these jars, it does not throw any errors/exceptions. Is it the right behavior ?
    Is there any way by which I can configure java runtime to contact the CRL and to throw an error while the jar is loaded. The certificate has information
    about CRL distribution point and also has authorityinfo access details. I tried configuring OCSP in java.security file. But still no luck.
    Any information on this will be helpful.
    Thanks in advance

    Hello EJP,
    Thanks for replying.
    Yes the certificate was valid when the jar was signed. Please note that, there was no timestamp put in the signature.
    So now after the certificate has been revoked, if Java runtime tries to load that jar, isn't it the responsibility of Java runtime to make use of the CRL/OCSP information
    of the public key certificate (present in the jar put by the jarsigner when signing) and validate it for revocation ? (Also, in this scenario, what happens if OCSP is enabled in java.security ?) -OR--- Is it the responsibility of the code that makes use of the jar, to verify whether the certificate used for jar signing has been revoked or not ?
    PS:- I have enabled the security settings in java control panel for certificate revocation checking.
    Please let me know if I am wrong or if I am missing something.
    Also i noticed something with jarsigner. In a signed jar, If i delete a few files and then verify its signature using jarsigner, "jar verified" is returned as result. Isn't the jar tampered when I delete a few files from it ? and hence the Hash of its data changes ? and hence verification should fail ?
    One more question, in case of signed applets, if the certificate is revoked, as soon as the browser tries loading the applet, it throws an error saying certificate that was used for signing has been revoked. (provided browser settings and java control panel settings are all properly set). Is this check initiated by the browser OR Java runtime ?
    Thanks a lot

  • Jar Sign up issue

    hi!
    when i try to sign my jar file it is giving me following error.
    keytool error: java.lang.Exception: Keystore file does not exist: C:\Documents and Settings\Administrator\.keystore
    command i am using to sign my jar file is
    D:\j2sdk1.4.2_11\bin\jarsigner Myjar.jar mycert
    mycert-> is the keystore name
    There is no .keystore file in my machine
    I am using verisign to get the certificate the link i am following is
    http://www.verisign.com/support/code-signing-support/code-signing/digital-id.html
    I think somthing is missing at java end as verisign end looks fine to me
    Thanks
    Dhruv

    I get caught in a loop signing up also;
    At step 3 {join creative cloud}: adding payment card and all required fields, when i hit continue .. get straight back tostep 3 again.
    - all field with red stars are filled in
    - country is preset to australia but not an editable field for me (not box around it)
    One weird thing is each time i try and get past step 3,  its adds another {change} link at the end of step 2? {have 7 in a row now}
    There is no feedback to which part its not liking.
    Is there an issue with the special offer?

  • JCE KeyGenerator issue (or JAR signing)

    I have a function add a JCE provider for an AES algorithm, but the JCE fails every time I attempt to launch it.
    Provider jceProvider = new com.x.jce.provider.JCEProvider;
    Security.addProvider (jceProvider);
    Provider [] currentProviders = Security.getProviders();
    // ... code to print the array removed
    SecureRandom rand = SecureRandom.getInstance("SHA1PRNG", "JceProvider");
    //psuedo random number generator
    KeyGenerator aesKeyGen = KeyGenerator.getInstance("AES","JceProvider");
    The SecureRandom getInstance function works fine, but the KeyGenerator getInstance function fails with the following error:
    [java] java.security.NoSuchProviderException: JCE cannot authenticate the provider JceProvider
    [java] at javax.crypto.SunJCE_b.a(DashoA6275)
    [java] at javax.crypto.SunJCE_b.a(DashoA6275)
    [java] at javax.crypto.KeyGenerator.getInstance(DashoA6275)
    [java] at com.x.jce.AES.go(Unknown Source)
    [java] at com.x.jce.AES.main(Unknown Source)
    [java] Caused by: java.util.jar.JarException: file:/jceProvider.jar is not signed by a trusted signer.
    [java] at javax.crypto.SunJCE_d.b(DashoA6275)
    [java] at javax.crypto.SunJCE_d.a(DashoA6275)
    [java] at javax.crypto.SunJCE_d.a(DashoA6275)
    [java] at javax.crypto.SunJCE_b.b(DashoA6275)
    [java] ... 5 more
    Any ideas why the KeyGenerator would fail but the SecureRandom (which looks for the same exact provider) fails? I've attempted to sign the jars with self-signed certificates. Verifying the signatures always returns true. I am completely stumped.
    -matt

    As you might have noticed it is a matter of authentication of the provider by JCE.
    The point is, JCE does not do the authentication for providers with implementations of cryptographic services defined in both J2SE and JCE 1.2.2 (including your SecureRandom provider) but for those cryptographic services related to JCE 1.2.2 only; that check itself will first be done during the instantiation of an implementation of such a service (Your AES keygenerator included).
    In order to read more about it:
    http://java.sun.com/products/jce/doc/guide/HowToImplAProvider.html#JCEAuth
    To see how to get a SUN certificate if you need one you should check:
    http://java.sun.com/products/jce/doc/guide/HowToImplAProvider.html#Step%205a

  • Signing JARs & Ant issues

    I need to sign my JARs because of WebStart. I use Ant's signjar to do that and works fine: my JARs are signed.
    The build process goes like this: compile, pack, sign & deploy. However, when I run my build file again, even if nothing was updated, Ant packs all my JARs again. Which in turn loses the signing, so they all are signed again.
    Is there a way to avoid this?
    Also, my library JARs are all signed everytime. I added the attribute lazy="true" to signjar that doesn't seem to work.
    N.

    Yes It has to do with swing.
    I used the following command in ant.
    <target name="signjar" depends="cpappletjars">      
         <signjar jar="${dir.webapp}/fileupload/*.jar" alias="me" storepass="applet" keystore="${dir.webapp}/fileupload/myKeyStore"/>
         <delete file="${dir.webapp}/fileupload/myKeyStore"/>
    </target>
    It worked fine for windows but for linux it gives error as "unble to open file *.jar "
    Can u please let me know where I am gone wrong ?
    similar sort of problem seen at http://forum.java.sun.com/thread.jspa?threadID=5301675&messageID=10278840 But no solution.

  • Javakey jar signing question

    When I sign jars using the javakey installed with JInitiator I get a message
    Security properties not found - using defaults
    Where does it get these defaults? What are the defaults and how may they be changed?
    I'm having touble when running another applet from the original forms applet. I haven't been able to get the second applet to be trusted. Is this possible? Does the second applet rely on entries that should be made using the standard Sun javakey.exe?
    Any ideas?
    Mick

    1) you don't need to specify the validity.
    2) the user will just have a warning/confirm dialog that shows up and tells that the certificate expired.
    If interested in an appli that helps in signing process, you may download XLRSecTool for free at:
    . Windows:
    http://www.xlreader.com/download/stl10ea/InstData/Windows/NoVM/istl10ea.exe
    . Unix and Linux:
    http://www.xlreader.com/download/stl10ea/InstData/Unix/Others/istl10ea.bin
    . Other Java-enabled OS
    http://www.xlreader.com/download/stl10ea/InstData/Java/install.zip
    Requires Java VM 1.3.1
    Screenshot:
    http://www.xlreader.com/images/sshot_s673x548.gif
    -- Robert
    =====
    [email protected]
    XL-Reader Project - Secured online documentation solutions
    www.xlreader.com
    =====

  • Applet and dependency jars signing

    Hi applet gurus,
    I hope to receive help from you with the following issues:
    1) I'm trying to sign an applet application which has dependency jars. So my first question is: Do I have to sign also the dependency jars? If yes, can I sign them with the same certificate?
    2) As I want to suppress warning messages from the applet which might scare ordinary users, I'm putting Permissions and Caller-Allowable-Codebase attribute in the manifest. If I have to sign also the dependency jars, do I have to also put these attributes into their manifest files? If yes, how?

    I'm not a guru, but the answer to question 1) is yes. I know this because I've seen plenty of historical problems in this forum relating to exactly this, especially in combination with Bouncy Castle which seems to already be signed with its own certificate. You should sign them with the same certificate as your application I believe, but that would require experimentation to confirm.
    I don't know anything about 2). The only thing I know is that it is likely impossible to completely remove the popup, a user will have to accept it at least once even when you have a valid signed certificate. I mean I have seen Microsoft software ask if I trust Microsoft
    Final note: be sure you are actually allowed to legally modify and distribute the jars in such a way! Probably yes, but it would be very unfortunate if you get slapped with a lawsuit because you broke the usage terms of a particular commercially oriented third party jar that you failed to notice.

  • Interested by performance issue ?  Read this !  If you can explain, you're a master Jedi !

    This is the question we will try to answer...
    What si the bottle neck (hardware) of Adobe Premiere Pro CS6
    I used PPBM5 as a benchmark testing template.
    All the data and log as been collected using performance counter
    First of all, describe my computer...
    Operating System
    Microsoft Windows 8 Pro 64-bit
    CPU
    Intel Xeon E5 2687W @ 3.10GHz
    Sandy Bridge-EP/EX 32nm Technology
    RAM
    Corsair Dominator Platinum 64.0 GB DDR3
    Motherboard
    EVGA Corporation Classified SR-X
    Graphics
    PNY Nvidia Quadro 6000
    EVGA Nvidia GTX 680   // Yes, I created bench stats for both card
    Hard Drives
    16.0GB Romex RAMDISK (RAID)
    556GB LSI MegaRAID 9260-8i SATA3 6GB/s 5 disks with Fastpath Chip Installed (RAID 0)
    I have other RAID installed, but not relevant for the present post...
    PSU
    Cosair 1000 Watts
    After many days of tests, I wanna share my results with community and comment them.
    CPU Introduction
    I tested my cpu and pushed it at maximum speed to understand where is the limit, can I reach this limit and I've logged precisely all result in graph (See pictures 1).
    Intro : I tested my E5-XEON 2687W (8 Cores Hyperthread - 16 threads) to know if programs can use the maximum of it.  I used Prime 95 to get the result.  // I know this seem to be ordinary, but you will understand soon...
    The result : Yes, I can get 100% of my CPU with 1 program using 20 threads in parallel.  The CPU gives everything it can !
    Comment : I put 3 IO (cpu, disk, ram) on the graph of my computer during the test...
    (picture 1)
    Disk Introduction
    I tested my disk and pushed it at maximum speed to understand where is the limit and I've logged precisely all result in graph (See pictures 2).
    Intro : I tested my RAID 0 556GB (LSI MegaRAID 9260-8i SATA3 6GB/s 5 disks with Fastpath Chip Installed) to know if I can reach the maximum % disk usage (0% idle Time)
    The result : As you can see in picture 2, yes, I can get the max of my drive at ~ 1.2 Gb/sec read/write steady !
    Comment : I put 3 IO (cpu, disk, ram) on the graph of my computer during the test to see the impact of transfering many Go of data during ~10 sec...
    (picture 2)
    Now, I know my limits !  It's time to enter deeper in the subject !
    PPBM5 (H.264) Result
    I rendered the sequence (H.264) using Adobe Media Encoder.
    The result :
    My CPU is not used at 100%, the turn around 50%
    My Disk is totally idle !
    All the process usage are idle except process of (Adobe Media Encoder)
    The transfert rate seem to be a wave (up and down).  Probably caused by (Encrypt time....  write.... Encrypt time.... write...)  // It's ok, ~5Mb/sec during transfert rate !
    CPU Power management give 100% of clock to CPU during the encoding process (it's ok, the clock is stable during process).
    RAM, more than enough !  39 Go RAM free after the test !  // Excellent
    ~65 thread opened by Adobe Media Encoder (Good, thread is the sign that program try to using many cores !)
    GPU Load on card seem to be a wave also ! (up and down)  ~40% usage of GPU during the process of encoding.
    GPU Ram get 1.2Go of RAM (But with GTX 680, no problem and Quadro 6000 with 6 GB RAM, no problem !)
    Comment/Question : CPU is free (50%), disks are free (99%), GPU is free (60%), RAM is free (62%), my computer is not pushed at limit during the encoding process.  Why ????  Is there some time delay in the encoding process ?
    Other : Quadro 6000 & GTX 680 gives the same result !
    (picture 3)
    PPBM5 (Disk Test) Result (RAID LSI)
    I rendered the sequence (Disk Test) using Adobe Media Encoder on my RAID 0 LSI disk.
    The result :
    My CPU is not used at 100%
    My Disk wave and wave again, but far far from the limit !
    All the process usage are idle except process of (Adobe Media Encoder)
    The transfert rate wave and wave again (up and down).  Probably caused by (Buffering time....  write.... Buffering time.... write...)  // It's ok, ~375Mb/sec peak during transfert rate !  Easy !
    CPU Power management give 100% of clock to CPU during the encoding process (it's ok, the clock is stable during process).
    RAM, more than enough !  40.5 Go RAM free after the test !  // Excellent
    ~48 thread opened by Adobe Media Encoder (Good, thread is the sign that program try to using many cores !)
    GPU Load on card = 0 (This kind of encoding is GPU irrelevant)
    GPU Ram get 400Mb of RAM (No usage for encoding)
    Comment/Question : CPU is free (65%), disks are free (60%), GPU is free (100%), RAM is free (63%), my computer is not pushed at limit during the encoding process.  Why ????  Is there some time delay in the encoding process ?
    (picture 4)
    PPBM5 (Disk Test) Result (Direct in RAMDrive)
    I rendered the same sequence (Disk Test) using Adobe Media Encoder directly in my RamDrive
    Comment/Question : Look at the transfert rate under (picture 5).  It's exactly the same speed than with my RAID 0 LSI controller.  Impossible !  Look in the same picture the transfert rate I can reach with the ramdrive (> 3.0 Gb/sec steady) and I don't go under 30% of disk usage.  CPU is idle (70%), Disk is idle (100%), GPU is idle (100%) and RAM is free (63%).  // This kind of results let me REALLY confused.  It's smell bug and big problem with hardware and IO usage in CS6 !
    (picture 5)
    PPBM5 (MPEG-DVD) Result
    I rendered the sequence (MPEG-DVD) using Adobe Media Encoder.
    The result :
    My CPU is not used at 100%
    My Disk is totally idle !
    All the process usage are idle except process of (Adobe Media Encoder)
    The transfert rate wave and wave again (up and down).  Probably caused by (Encoding time....  write.... Encoding time.... write...)  // It's ok, ~2Mb/sec during transfert rate !  Real Joke !
    CPU Power management give 100% of clock to CPU during the encoding process (it's ok, the clock is stable during process).
    RAM, more than enough !  40 Go RAM free after the test !  // Excellent
    ~80 thread opened by Adobe Media Encoder (Lot of thread, but it's ok in multi-thread apps!)
    GPU Load on card = 100 (This use the maximum of my GPU)
    GPU Ram get 1Gb of RAM
    Comment/Question : CPU is free (70%), disks are free (98%), GPU is loaded (MAX), RAM is free (63%), my computer is pushed at limit during the encoding process for GPU only.  Now, for this kind of encoding, the speed limit is affected by the slower IO (Video Card GPU)
    Other : Quadro 6000 is slower than GTX 680 for this kind of encoding (~20 s slower than GTX).
    (picture 6)
    Encoding single clip FULL HD AVCHD to H.264 Result (Premiere Pro CS6)
    You can look the result in the picture.
    Comment/Question : CPU is free (55%), disks are free (99%), GPU is free (90%), RAM is free (65%), my computer is not pushed at limit during the encoding process.  Why ????   Adobe Premiere seem to have some bug with thread management.  My hardware is idle !  I understand AVCHD can be very difficult to decode, but where is the waste ?  My computer want, but the software not !
    (picture 7)
    Render composition using 3D Raytracer in After Effects CS6
    You can look the result in the picture.
    Comment : GPU seems to be the bottle neck when using After Effects.  CPU is free (99%), Disks are free (98%), Memory is free (60%) and it depend of the setting and type of project.
    Other : Quadro 6000 & GTX 680 gives the same result in time for rendering the composition.
    (picture 8)
    Conclusion
    There is nothing you can do (I thing) with CS6 to get better performance actually.  GTX 680 is the best (Consumer grade card) and the Quadro 6000 is the best (Profressional card).  Both of card give really similar result (I will probably return my GTX 680 since I not really get any better performance).  I not used Tesla card with my Quadro, but actually, both, Premiere Pro & After Effects doesn't use multi GPU.  I tried to used both card together (GTX & Quadro), but After Effects gives priority to the slower card (In this case, the GTX 680)
    Premiere Pro, I'm speechless !  Premiere Pro is not able to get max performance of my computer.  Not just 10% or 20%, but average 60%.  I'm a programmor, multi-threadling apps are difficult to manage and I can understand Adobe's programmor.  But actually, if anybody have comment about this post, tricks or any kind of solution, you can comment this post.  It's seem to be a bug...
    Thank you.

    Patrick,
    I can't explain everything, but let me give you some background as I understand it.
    The first issue is that CS6 has a far less efficient internal buffering or caching system than CS5/5.5. That is why the MPEG encoding in CS6 is roughly 2-3 times slower than the same test with CS5. There is some 'under-the-hood' processing going on that causes this significant performance loss.
    The second issue is that AME does not handle regular memory and inter-process memory very well. I have described this here: Latest News
    As to your test results, there are some other noteworthy things to mention. 3D Ray tracing in AE is not very good in using all CUDA cores. In fact it is lousy, it only uses very few cores and the threading is pretty bad and does not use the video card's capabilities effectively. Whether that is a driver issue with nVidia or an Adobe issue, I don't know, but whichever way you turn it, the end result is disappointing.
    The overhead AME carries in our tests is something we are looking into and the next test will only use direct export and no longer the AME queue, to avoid some of the problems you saw. That entails other problems for us, since we lose the capability to check encoding logs, but a solution is in the works.
    You see very low GPU usage during the H.264 test, since there are only very few accelerated parts in the timeline, in contrast to the MPEG2-DVD test, where there is rescaling going on and that is CUDA accelerated. The disk I/O test suffers from the problems mentioned above and is the reason that my own Disk I/O results are only 33 seconds with the current test, but when I extend the duration of that timeline to 3 hours, the direct export method gives me 22 seconds, although the amount of data to be written, 37,092 MB has increased threefold. An effective write speed of 1,686 MB/s.
    There are a number of performance issues with CS6 that Adobe is aware of, but whether they can be solved and in what time, I haven't the faintest idea.
    Just my $ 0.02

  • Form 11g and Jar file issue

    I have migrated all the forms from 10g to 11g. When i run the form 11g using my config i get the below error
    USING Java Plug-in 1.6.0_23 i get the below error
    java.lang.SecurityException: class "oracle.forms.demos.enhancedItems.InfoButton"'s signer information does not match signer information of other classes in the same package
         at java.lang.ClassLoader.checkCerts(Unknown Source)
         at java.lang.ClassLoader.preDefineClass(Unknown Source)
         at java.lang.ClassLoader.defineClassCond(Unknown Source)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.access$000(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.ButtonItem.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    I tried using the Java Plug-in 1.6.0_12
    Loaded image: jar:http://130.1.3.171:9001/forms/java/frmall.jar!/oracle/forms/icons/bgnd.gif
    Forms Session ID is formsapp.9
    The proxy host is null, and the proxy port is 0.
    Native HTTP implementation is being used for the connection.
    The connection mode is HTTP.
    Forms Applet version is 11.1.1.4
    Loaded image: jar:http://130.1.3.171:9001/forms/java/frmall.jar!/oracle/forms/icons/frame.gif
    Exception "java.lang.IllegalArgumentException: failed to parse:"while constructing DataFlavor for:
    Exception "java.lang.IllegalArgumentException: failed to parse:"while constructing DataFlavor for:
    java.lang.ClassNotFoundException: oracle.forms.demos.enhancedItems.InfoButton
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.ButtonItem.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:http://130.1.3.171:9001/forms/java/oracle/forms/demos/enhancedItems/InfoButton.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 35 more
    My config section is
    [form11g]
    jpi_download_page=http://java.sun.com/products/archive/j2se/6u12/index.html
    jpi_classid=clsid:CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA
    jpi_codebase=http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab#Version=1,6,0,12
    jpi_mimetype=application/x-java-applet;jpi-version=1.6.0_12
    archive=frmall.jar,modcursor.jar,Images.jar,keyfilter.jar,ticker.jar,rolloverbutton.jar,activation.jar,javamailintegration.jar,mail.jar,uploadserver.jar,uploadclient.jar,infobutton.jar,hyperlink.jar,colorpicker.jar
    form=login.fmx
    pageTitle=Oracle Application
    splashScreen=No
    Previously i used to use jinitiator for 10g. Is there any configuration need to be done or should i sign the jar files.

    You might want to use google:
    http://www.google.com/#q=signer+information+does+not+match+signer+information+of+other+classes+in+the+same+package
    cheers

Maybe you are looking for

  • Updated Apps Will Not Sync  From iTunes To iPhone

    When I update Apps on my iMac in iTunes, they show that they are syncing over to my iPhone, but hey don't actually sync. Instead, I have tho also updat

  • Do i have to use JavaScript to solve this relation Problem?

    Hi everybody, i have bounded the DataSource: Node Customer (0..n) - Attribute: Name - Attribute: CustomerNo -Node Orders (in Node Customer) also (0..n)   Attribute: CustomerNo   Attribute: OrderName I have different Customers and every Customer have

  • IOS 8.1 iPhone update problem

    I've just updated my iPhone 4 to iOS 8.1 and have lost over 15 GB of storage to "Other".  I've done resets, powered down, etc etc but can't seem to clear the "Other" from the storage thus severely limiting the music, books, etc. that the phone should

  • FM for extracting data

    Hi Friends, Can any body tell me is there any FM avilable to extract the data from any datbase table? Or shall we have to create a new FM..? Thanks in Advance.

  • LDAP 5.1 - id2entry get error 5 / next_search_entry db err 5

    Hi folks, We are running IDS 5.1 and the log error is showing the follwing messages : [24/Mar/2004:14:37:34 -0300] - next_search_entry db err 5 [24/Mar/2004:14:37:34 -0300] - id2entry error 5 [24/Mar/2004:14:37:34 -0300] - id2entry get error 5 [24/Ma