Bug 184874

Summary: authn fails: could not convert ‘1.0000000000000001e-1’ from ‘double’ to ‘WTF::Seconds
Product: WebKit Reporter: Дилян Палаузов <dpa-webkit>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: bugs-noreply, jiewen_tan, mcatanzaro
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Unspecified   

Description Дилян Палаузов 2018-04-22 10:18:15 PDT
Using webkitgtk-2.20.1 with gcc 7.3.1 20180416;

[  0%] Built target WebKit-fake-api-headers
[  1%] Built target bmalloc
[ 10%] Built target WTFForwardingHeaders
[ 22%] Built target WTF
[ 23%] Built target stageSharedScripts
[ 23%] Built target LLIntOffsetsExtractor
[ 39%] Built target JavaScriptCoreForwardingHeaders
[ 46%] Built target JavaScriptCore
[ 47%] Built target xdgmime
[ 48%] Built target PAL
[ 51%] Built target ANGLESupport
[ 51%] Generate bindings (WebCoreBindings)
[ 51%] Built target WebCoreBindings
[ 51%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource142.cpp.o
In file included from /src/gnome/webkitgtk-2.20.1/build/DerivedSources/WebCore/unified-sources/UnifiedSource142.cpp:1:0:
/src/gnome/webkitgtk-2.20.1/Source/WebCore/Modules/webauthn/Authenticator.cpp: In member function ‘WebCore::ExceptionOr<WebCore::Authenticator::AssertionReturnBundle> WebCore::Authenticator::getAssertion(const WTF::String&, const WTF::Vector<unsigned char>&, const WTF::Vector<WebCore::PublicKeyCredentialDescriptor>&) const’:
/src/gnome/webkitgtk-2.20.1/Source/WebCore/Modules/webauthn/Authenticator.cpp:71:19: error: could not convert ‘1.0000000000000001e-1’ from ‘double’ to ‘WTF::Seconds’
     WTF::sleep(0.1);
                   ^
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/build.make:8657: Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource142.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:772: Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
Comment 1 Jiewen Tan 2018-04-23 12:07:40 PDT
The Authenticator class is deprecated. Please update your repo to the latest one, and try if the bug can be reproduced. Thanks!
Comment 2 Michael Catanzaro 2018-04-23 17:46:33 PDT
That's actually the latest release of WebKitGTK+. But it looks like you're trying to build with -DENABLE_WEB_AUTHN=ON. That's not supported in WebKitGTK+, sorry. You could either try to get it working and submit a patch, or else stick to the public options (in CMake terms, the non-advanced options).

Out of curiosity, what is this code for, is it Apple Pay?
Comment 3 Jiewen Tan 2018-04-23 19:49:32 PDT
(In reply to Michael Catanzaro from comment #2)
> That's actually the latest release of WebKitGTK+. But it looks like you're
> trying to build with -DENABLE_WEB_AUTHN=ON. That's not supported in
> WebKitGTK+, sorry. You could either try to get it working and submit a
> patch, or else stick to the public options (in CMake terms, the non-advanced
> options).
> 
> Out of curiosity, what is this code for, is it Apple Pay?

The code is for https://www.w3.org/TR/webauthn/.
Comment 4 Дилян Палаузов 2018-04-23 21:59:37 PDT
Where can I find a list of all compiler options, where for each option is described whether it works with WebkitGTK?
Comment 5 Michael Catanzaro 2018-04-24 05:58:42 PDT
(In reply to Дилян Палаузов from comment #4)
> Where can I find a list of all compiler options, where for each option is
> described whether it works with WebkitGTK?

'cmake -L' will show you all the supported options. Note that options are already by default set to the recommended values.

'cmake -LA' will additionally show advanced (unsupported) options (including ENABLE_WEB_AUTHN).
Comment 6 Дилян Палаузов 2018-04-25 08:03:49 PDT
I use 'ccmake' (with the 'T'oggle key) to see the available options.

I asked for a clarifications, which of those options, run with WebkitGTK, and which do not run with WebkitGTK.

Does 'Advnaced' mean 'Unsupported'?
Comment 7 Michael Catanzaro 2018-04-25 08:42:48 PDT
(In reply to Дилян Палаузов from comment #6)
> I use 'ccmake' (with the 'T'oggle key) to see the available options.
> 
> I asked for a clarifications, which of those options, run with WebkitGTK,
> and which do not run with WebkitGTK.
> 
> Does 'Advnaced' mean 'Unsupported'?

Yes. So just don't use 'T'.

There are also a couple options that should be advanced, but are not. BUILD_SHARED is definitely not going to work. LIBGCRYPTCONFIG_SCRIPT and the WEBP options should also be advanced. I'm not sure about USE_CUSTOM_LIBCXX and USE_LIBCXX.
Comment 8 Michael Catanzaro 2018-04-25 08:44:24 PDT
(In reply to Michael Catanzaro from comment #7)
> There are also a couple options that should be advanced, but are not.
> BUILD_SHARED is definitely not going to work. LIBGCRYPTCONFIG_SCRIPT and the
> WEBP options should also be advanced. I'm not sure about USE_CUSTOM_LIBCXX
> and USE_LIBCXX.

I reported bug #184972