Details
-
Bug
-
Resolution: Fixed
-
P3
-
11.0.2, 12, 13
-
b15
-
x86
-
windows_7
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8229991 | 11.0.6-oracle | Alexey Ivanov | P3 | Resolved | Fixed | b01 |
JDK-8224872 | 11.0.4 | Alexey Ivanov | P3 | Resolved | Fixed | b05 |
Description
A DESCRIPTION OF THE PROBLEM :
The JNICALL (__stdcall) declarations added to the splash screen native source in response to bug #8201226 cause the splash screen function names to be decorated in 32-bit Windows. This way they can't be loaded anymore with GetProcAddress and their simple names (that they still have in 64-bit Windows, because __stdcall is ignored there).
REGRESSION : Last worked in version 8u202
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call "dumpbin splashscreen.dll /EXPORTS"
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Should show
[...]
11 0 0001C86A SplashClose
12 1 0001D863 SplashGetScaledImageName
[...]
etc
ACTUAL -
Shows
[...]
11 A 0001C868 _SplashClose@0
12 B 0001D86B _SplashGetScaledImageName@20
[...]
etc
CUSTOMER SUBMITTED WORKAROUND :
Patch the source files, removing the JNICALL declarations in splashscreen_impl.h, splashscreen_impl.c and splashscreen_sys.c before building the JDK.
FREQUENCY : always
The JNICALL (__stdcall) declarations added to the splash screen native source in response to bug #8201226 cause the splash screen function names to be decorated in 32-bit Windows. This way they can't be loaded anymore with GetProcAddress and their simple names (that they still have in 64-bit Windows, because __stdcall is ignored there).
REGRESSION : Last worked in version 8u202
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call "dumpbin splashscreen.dll /EXPORTS"
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Should show
[...]
11 0 0001C86A SplashClose
12 1 0001D863 SplashGetScaledImageName
[...]
etc
ACTUAL -
Shows
[...]
11 A 0001C868 _SplashClose@0
12 B 0001D86B _SplashGetScaledImageName@20
[...]
etc
CUSTOMER SUBMITTED WORKAROUND :
Patch the source files, removing the JNICALL declarations in splashscreen_impl.h, splashscreen_impl.c and splashscreen_sys.c before building the JDK.
FREQUENCY : always
Attachments
Issue Links
- backported by
-
JDK-8224872 JNICALL declaration breaks Splash screen functions
- Resolved
-
JDK-8229991 JNICALL declaration breaks Splash screen functions
- Resolved
- relates to
-
JDK-8201226 missing JNIEXPORT / JNICALL at some places in function declarations/implementations
- Resolved
-
JDK-8200178 Remove mapfiles for JDK native libraries
- Resolved