Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


dencorso

Newest Adobe Flash and Shockwave, and Java, too!

Recommended Posts

Posted (edited)
23 minutes ago, dencorso said:

Yes. And I was about to do it when I read your original post about the issue. Now, ATM, even with the covid-19 crisis, we here are in the period of reporting our income, in the hopes of getting some return on the already collected income tax, and the software provided by the governament uses java. So I've decided to postpone updating until I have that done with, because my routine became much more hectic due to the covid-19 crisis. So, I regret to say, this once I'll probably be the last to chime in and it fell to you to be the 1st one to take the plunge! :angel Sorry!

Ah thanks Den, understood!
Maybe I'm the only one here who's actually done this update then!

Of course, very stupidly, I got rid of the files for the previous version without having checked first that this one was working, and overwrote the backup too, so if I have to roll back I might be coming begging. It had always been fine before so I had no reason to think that it wouldn't be OK this time (famous last words of course!)

I hope things are OK with you and yours in Brazil.
Cheers, Dave.
:)
 

Edited by Dave-H
Quote added as reply appeared on a new page

Share this post


Link to post
Share on other sites

No Dice, on this "fresh" machine either, as far as the web-plugins go. Seems like maybe we have beat the Java 8 horse all that we can.

Share this post


Link to post
Share on other sites

Oh dear, it does sound like perhaps Update 241 may be the last that works properly on XP.
I will roll back to that and if that works I think we have to assume that is the case.
:(

Share this post


Link to post
Share on other sites

Does there happen to be a xx2 matching u251? (u252)
If there is, I'd be interested in trying that.

 

Share this post


Link to post
Share on other sites

OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!
What is actually wrong with the file I'm not sure, according to CFF Explorer it's still superficially XP compatible, but perhaps someone with more knowledge about this sort of thing could analyse it more deeply and tell us!
Cheers, Dave.
:)

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, Dave-H said:

OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!
What is actually wrong with the file I'm not sure, according to CFF Explorer it's still superficially XP compatible, but perhaps someone with more knowledge about this sort of thing could analyse it more deeply and tell us!
Cheers, Dave.
:)

The difference between 241 and 251's sunmscapi.dlls is that the latter relies on ncrypt.dll, which doesn't exist in NT 5.x. One-Core-API has a wrapper for it.

Edited by win32
  • Like 1

Share this post


Link to post
Share on other sites

Thank you, so a creeping incompatibility with XP is obviously now being gradually slipped in!
I can only assume that more and more files in the new Java installations will start to have this sort of problem as time goes on, until it will get to the point where you'll have to replace so many files for it to work that you might as well just stick with the previous version anyway!
:(

Share this post


Link to post
Share on other sites
2 hours ago, Dave-H said:

OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!

What version does the java test site say you have when using the 241 "sunmscapi.dll"?

Share this post


Link to post
Share on other sites

It says I'm using 251, and am up to date!
:yes:

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

I finally had time to look at this as well and I can confirm that it doesn't work on my computer either and I know why.

2 hours ago, win32 said:

sunmscapi.dlls relies on ncrypt.dll, which doesn't exist in NT 5.x. One-Core-API has a wrapper for it.

Precisely.

We did backport ncrypt.dll but it also relies on a series of dlls, two of which don't exist in XP either: NTEXT.DLL and BCRYPT.DLL. Although bcrypt.dll has been backported as well, there's no current implementation of NTEXT and the following APIs in our modified version of XP:

RtlDeleteResource
RtlInitializeResource
NtClose
RtlInitializeSRWLock
RtlReleaseSRWLockExclusive
RtlAcquireSRWLockExclusive
RtlFreeSid
RtlAllocateHeap
RtlSizeHeap
NtOpenKey
RtlNtStatusToDosError
NtQueryValueKey
RtlCompareUnicodeString
NtQueryInformationProcess
NtOpenFile
NtDeviceIoControlFile
RtlImageNtHeader
RtlReleaseResource
RtlAcquireResourceExclusive
RtlAcquireResourceShared
LdrDisableThreadCalloutsForDll
RtlAllocateAndInitializeSid
RtlInitUnicodeString
RtlFreeUnicodeString
RtlAnsiStringToUnicodeString
RtlInitAnsiString
RtlFreeAnsiString
RtlUnicodeStringToAnsiString
RtlFreeHeap
RtlReleaseRelativeName
NtCreateFile
RtlDosPathNameToRelativeNtPathName_U
RtlAbsoluteToSelfRelativeSD
RtlGetControlSecurityDescriptor
RtlNtStatusToDosErrorNoTeb
NtOpenProcess
RtlInitializeCriticalSection
RtlDeleteCriticalSection
RtlLeaveCriticalSection
RtlEnterCriticalSection
RtlAppendUnicodeToString
 

And... sure, you could just replace that DLL (sunmscapi.dll) and use an older one to make Java work:

oa5SEQp.png

However the future doesn't look bright 'cause this time we've been lucky and it was a trivial component, next time we might not be as lucky... :(

(I'm tagging you just for an heads up: @Dibya, @neverseen, @Skulltrail)

Shall we try to report it to Oracle and pray that they'll revert to the former implementation of sunmscapi?

EDIT: I reported it to Oracle

Name of the Applet or Application: 

Java 8 Update 251

 

Provide clear and detailed description of the problem you are experiencing, including error messages:

As we rolled out the new update to our Windows Embedded POSReady 2009 tills we noticed that sunmscapi.dll was changed and is now calling ncrypt.dll which represents a problem as those APIs don't exist in our Embedded version of Windows. After we rolled out the update, we replaced sunmscapi.dll with the former one. This way, we managed to get Java 8 Update 251 work. It's a shame to break Embedded products compatibility just for a silly call to the APIs like this one. You can see that it works on this test machine running Windows Embedded POSReady 2009 x86 in Virtual Machine: (screenshot).

 

Your Operating System:

Windows Embedded POSReady 2009 x86

 

Java Software Version:

8 Update 251

 

Which Java version(s) did this work with before this issue?

8 Update 241


Thank you for taking the time to write. We will reply as soon as possible, Oracle.

Edited by FranceBB

Share this post


Link to post
Share on other sites

Just as a matter of interest, is that file security critical?
:dubbio:

Share this post


Link to post
Share on other sites
Posted (edited)
8 minutes ago, Dave-H said:

Just as a matter of interest, is that file security critical?
:dubbio:

Well... SunMSCAPI it's part of security.cpp in src/windows/native/sun/security/ and these APIs are used by desktop applications for things like to access smartcard certificates for TLS connections and other stuff, so I can't tell you that it's safe to ignore the update, however I don't have enough knowledge of Java to tell you that it's critical either.

Edited by FranceBB

Share this post


Link to post
Share on other sites
Posted (edited)

OK, well I don't think I'll be losing any sleep about using one out of date file!

One other thing I've noticed, which probably isn't related but you never know, is that when you do the Java test page, it puts up a warning for you to accept or cancel, and there is an option to not show it again. I never bother to tick that, but it's now acting as if I have, and after the first time the warning never appears again unless and until I do the "Restore Security Prompts" option on the security tab of the Java control panel. Not a problem of course, but strange! I don't know where the setting to not show the prompt again is stored, and I haven't been able to find out. Anyone know?
:dubbio:

Edited by Dave-H
Typo

Share this post


Link to post
Share on other sites

Just tested in Internet Explorer 11 on Windows 10 :ph34r: and the behaviour is exactly the same!
I guess this has been changed, and the warning now only appears once even if you don't check the "do not show again" option.
:dubbio:

  • Like 1

Share this post


Link to post
Share on other sites

Thank you, @Dave-H! :worship:
Replacing the DLL worked!
image.png.f61a5a3145991c1f5e13700af733b921.png

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...