On 28 August 2015 at 18:41, Gary Gregory <[email protected]> wrote: > On Fri, Aug 28, 2015 at 10:33 AM, Oleg Kalnichevski <[email protected]> > wrote: > >> On Fri, 2015-08-28 at 17:05 +0000, Alexander Bernstein wrote: >> > JNA people suggested I report this against Http Client. What should I >> do? Can you tell me where the defects should be submitted? >> > Thanks , Oleg >> > >> >> Really? What can we possibly do about GPF caused by native code in JNA? >> If we do something stupid on our end JNA should throw a meaningful >> exception telling us that we attempted to do something stupid.
Exactly; it should not be possible to crash the JVM from Java code. [Though if one plays with the "unsafe" package that might not be true] >> > > But how could JNA know that a pointer passed to any API is bogus? JNA needs to check everything sent to it and throw a suitable exception if there are problems. Native code must be ultra-defensive. Most of the pointer manipulation is going to be in JNA anyway. Java does not deal in pointers directly, that is the JVM's job. > I could > see that JNA's Win32 coverage of these APIs might be faulty though... We > need better unit tests perhaps. Not our problem, though of course if we can reliably crash the JVM the JNA developers ought to be happy that we have found a good test case. > Gary > > >> >> Oleg >> >> > From: Oleg Kalnichevski <[email protected]> >> > To: Alexander Bernstein <[email protected]> >> > Cc: "[email protected]" <[email protected]> >> > Sent: Thursday, August 27, 2015 4:18 AM >> > Subject: Re: GPF in WindowsNegotiateScheme.dispose() >> > >> > On Wed, 2015-08-26 at 20:07 +0000, Alexander Bernstein wrote: >> > >> > >> > > Hello, >> > > I am new here, please pardon if this is not the right place for this >> kind of question. >> > > I am using httpclient-win-4.5 from httpClient 4.5 and >> jna-4.1.0/jna-platform-4.1.0 JNA libraries to authenticate to Kerberos >> server from Eclipse-based application. >> > > I create my client from WinHttpClients.custom(). The authentication is >> successful, but sooner or later, when JVM calls >> WindowsNegotiateScheme.dispose() my Eclipse crashes with GPF. >> > > I noticed that WindowsNegotiateSchemeFactory.create() is called twice, >> for some reason. Not sure if this is a normal flow and/or is relevant to >> the problem. >> > > >> > > 1XMCURTHDINFO Current thread >> > > NULL ---------------------- >> > > 3XMTHREADINFO "Finalizer thread" J9VMThread:0x0000000003FD1B00, >> j9thread_t:0x00000000050C1F10, java/lang/Thread:0x000007FFDE5E2800, >> state:R, prio=5 >> > > 3XMJAVALTHREAD (java/lang/Thread getId:0x15, isDaemon:true) >> > > 3XMTHREADINFO1 (native thread ID:0xCBC, native >> priority:0x5, native policy:UNKNOWN, vmstate:R, vm thread flags:0x00000000) >> > > 3XMTHREADINFO3 Java callstack: >> > > 4XESTACKTRACE at com/sun/jna/Native.setPointer(Native >> Method) >> > > 4XESTACKTRACE at >> com/sun/jna/Pointer.setPointer(Pointer.java:1195) >> > > 4XESTACKTRACE at >> com/sun/jna/Memory.setPointer(Memory.java:658) >> > > 4XESTACKTRACE at >> com/sun/jna/Pointer.setValue(Pointer.java:937) >> > > 4XESTACKTRACE at >> com/sun/jna/Structure.writeField(Structure.java:800) >> > > 4XESTACKTRACE at >> com/sun/jna/Structure.write(Structure.java:718(Compiled Code)) >> > > 4XESTACKTRACE at >> com/sun/jna/Structure.autoWrite(Structure.java:1923(Compiled Code)) >> > > 4XESTACKTRACE at >> com/sun/jna/Function.convertArgument(Function.java:505(Compiled Code)) >> > > 4XESTACKTRACE at >> com/sun/jna/Function.invoke(Function.java:297(Compiled Code)) >> > > 4XESTACKTRACE at >> com/sun/jna/Library$Handler.invoke(Library.java:212) >> > > 4XESTACKTRACE at >> com/sun/proxy/$Proxy13.FreeCredentialsHandle(Bytecode PC:18) >> > > 4XESTACKTRACE at >> org/apache/http/impl/auth/win/WindowsNegotiateScheme.dispose(WindowsNegotiateScheme.java:99) >> > > 4XESTACKTRACE at >> org/apache/http/impl/auth/win/WindowsNegotiateScheme.finalize(WindowsNegotiateScheme.java:117) >> > > 4XESTACKTRACE at >> java/lang/J9VMInternals.runFinalize(J9VMInternals.java:436) >> > > 3XMTHREADINFO3 No native callstack available on this platform >> > > NULL >> > > Appreciate any help and suggestions.Thank you >> > > Alex Bernstein >> > >> > No matter what we might be doing wrong on our end this still looks like >> > something that should not be happening. >> > >> > You probably should report the issue to JNA developers. >> > >> > https://github.com/java-native-access >> > >> > Oleg >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected] >> > For additional commands, e-mail: [email protected] >> > >> > >> > >> > >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > > -- > E-Mail: [email protected] | [email protected] > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
