1
Vote

AV: waffle.windows.auth.WindowsAuthProviderLoadTests

description

There's a problem somewhere in an object that gets garbage collected. It's intermittent (rare), probably in one of the JNA's Win32 API implementations.

An unexpected error has been detected by Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x100035e0, pid=4920, tid=4472

Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86)

Problematic frame:

C 0x100035e0

An error report file with more information is saved as:

C:\Users\dblock\Source\CodePlex\waffle\trunk\Source\JNAWindowsAuthProvider\hs_err_pid4920.log

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

file attachments

comments

marfilc wrote Apr 18, 2012 at 7:18 AM

Hi All,
I noticed the exact same problem on my application using WAFFLE.
My settings are:
  • Windows 7 Professional 64 Bits
  • JDK 1.6.0_05 64 Bits
  • WAFFLE 1.4
    The crash happens when I do the following on a local Tomcat 6.0.29:
    // CML: Checking WAFFLE available Domains
    logger.info(">>>>>>> WAFFLE available domains for authentication");
    IWindowsAuthProvider prov = new WindowsAuthProviderImpl();
    IWindowsDomain[] domains = prov.getDomains();
    for(IWindowsDomain domain : domains) {
        logger.info(domain.getFqn() + ": " + domain.getTrustDirectionString());
    }
    
This is the only call to WAFFLE on my localhost as, if I understand correctly, Tomcat has to be started as a Service for Waffle to work correctly, which is not the case on my localhost (development environment).
I'll test as a Service and post additional comments later on.
Find attached the log file generated when JVM crashes.

At your disposal if you need additional information

marfilc wrote Apr 18, 2012 at 7:24 AM

Starting Tomcat as a Service doesn't help.
In the exact same conditions than above, the Service stops on its own and I can't find any log file this time.
If you need further detail, please let me know.

Best Regards
Cédric

dblock wrote Apr 18, 2012 at 12:29 PM

This one is known. It's something about how JNA destroys objects that I wasn't able to fix. Happens only in tests.

dblock wrote Apr 18, 2012 at 12:29 PM

It's related to JUnit + JNA.

marfilc wrote Apr 18, 2012 at 1:16 PM

Hi dblock (Nathan ?),
The problem is that I don't use JUnit, but really a simple call to know from Waffle which are the known ActiveDirectory on the Network. We have some trusted domains and I wanted to know if I could authenticate users against these.
Apparently, they are not listed in output of the previous calls.
But you're right, it only appears under tests as the same call inside my INTegration server (not my local machine anymore), makes it work as expected. I can see the list of ADs.
The difference between my machine and the server is that I didn't include the Waffle Valve and Realm in my machine's application context file in Tomcat. Could this, please, be the reason ?

Best Regards
Cédric