JDK-8164314 : [WebView] Debug build is no longer working after JDK-8089681
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
I will revert the change using new bug. Since this is still not marked as resolved, I will use the same bug id to push the new change with bug number.
I forgot to add bug id as part of hg commit log :(
I think we should have some hooks to catch these kinda bugs before pushing it.
"%p" format specifier should be used to print a pointer type, JLObject type(is an C++ non primitve) has been printed in the problematic case which is not allowed. Even though there is a operator overloaded to convert to jobject, which is not implicitly used by GCC family of compilers. Explicit typecasting to jobject converts the JLObject type to jobject which is a type of "typedef _jobject *jobject;".
Following error will be thrown without the proposed fix,
/Volumes/Works/openjfx-dev/rt/modules/javafx.web/src/main/native/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp:434:86: error: cannot pass non-trivial object of type 'JLObject' (aka 'JLocalRef<_jobject *>') to variadic function; expected type from format string was 'void *' [-Wnon-pod-varargs]
LOG_ERROR("Could not get javaInstance for %p in JavaInstance::defaultValue", jlinstance);
/Volumes/Works/openjfx-dev/rt/modules/javafx.web/src/main/native/Source/WTF/wtf/Assertions.h:341:80: note: expanded from macro 'LOG_ERROR'
#define LOG_ERROR(...) WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__)
1 error generated.
[~arajkumar] Can you add description like why debug build failed only on OSX? and why type casted to jobject..