GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-99108: Import SHA2-384/512 from HACL* by msprotz · Pull Request #101707 · python/cpython

Conversation

@msprotz

@msprotz msprotz commented Feb 8, 2023 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Followup on #99108, and almost identical to #99109

  • Issue: Replace built-in hashlib with verified implementations from HACL* #99108

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

erlend-aasland reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@msprotz
msprotz requested review from corona10, erlend-aasland and tiran as code owners February 8, 2023 20:59
@bedevere-bot bedevere-bot added the awaiting review label Feb 8, 2023
@bedevere-bot bedevere-bot mentioned this pull request Feb 8, 2023
Replace built-in hashlib with verified implementations from HACL* #99108
Closed
@msprotz
Import SHA-384/512 from HACL*
2254200
@msprotz
msprotz force-pushed the sha2_hacl branch from 5234963 to 2254200 Compare February 8, 2023 21:00
@erlend-aasland
erlend-aasland requested a review from gpshead February 8, 2023 21:13
@gpshead gpshead self-assigned this Feb 8, 2023
@msprotz

msprotz commented Feb 8, 2023

Copy link
Copy Markdown
Contributor Author

(I pulled the wrong revision of HACL*, hence the build breakage -- I'll fix this shortly.)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@msprotz
Proper HACL* revision
051e0a4
@msprotz msprotz mentioned this pull request Feb 8, 2023
Cleanups for SHA2 in preparation of the next Python PR hacl-star/hacl-star#773
Merged
erlend-aasland
erlend-aasland approved these changes Feb 10, 2023
View reviewed changes

@erlend-aasland erlend-aasland left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build system changes look good to me.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting review labels Feb 10, 2023
@gpshead
add the new names to python_hacl_namespaces.h for mangling.
fe822bf
gpshead
gpshead approved these changes Feb 14, 2023
View reviewed changes
@gpshead
gpshead merged commit e5da9ab into python:main Feb 14, 2023
@bedevere-bot bedevere-bot removed the awaiting merge label Feb 14, 2023
@bedevere-bot

bedevere-bot commented Feb 14, 2023

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-emscripten browser (dynamic linking, no tests) 3.x has failed when building commit e5da9ab.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1051/builds/1357) and take a look at the build logs.
  4. Check if the failure is related to this commit (e5da9ab) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1051/builds/1357

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 49, done.        
remote: Counting objects:   2% (1/49)        
remote: Counting objects:   4% (2/49)        
remote: Counting objects:   6% (3/49)        
remote: Counting objects:   8% (4/49)        
remote: Counting objects:  10% (5/49)        
remote: Counting objects:  12% (6/49)        
remote: Counting objects:  14% (7/49)        
remote: Counting objects:  16% (8/49)        
remote: Counting objects:  18% (9/49)        
remote: Counting objects:  20% (10/49)        
remote: Counting objects:  22% (11/49)        
remote: Counting objects:  24% (12/49)        
remote: Counting objects:  26% (13/49)        
remote: Counting objects:  28% (14/49)        
remote: Counting objects:  30% (15/49)        
remote: Counting objects:  32% (16/49)        
remote: Counting objects:  34% (17/49)        
remote: Counting objects:  36% (18/49)        
remote: Counting objects:  38% (19/49)        
remote: Counting objects:  40% (20/49)        
remote: Counting objects:  42% (21/49)        
remote: Counting objects:  44% (22/49)        
remote: Counting objects:  46% (23/49)        
remote: Counting objects:  48% (24/49)        
remote: Counting objects:  51% (25/49)        
remote: Counting objects:  53% (26/49)        
remote: Counting objects:  55% (27/49)        
remote: Counting objects:  57% (28/49)        
remote: Counting objects:  59% (29/49)        
remote: Counting objects:  61% (30/49)        
remote: Counting objects:  63% (31/49)        
remote: Counting objects:  65% (32/49)        
remote: Counting objects:  67% (33/49)        
remote: Counting objects:  69% (34/49)        
remote: Counting objects:  71% (35/49)        
remote: Counting objects:  73% (36/49)        
remote: Counting objects:  75% (37/49)        
remote: Counting objects:  77% (38/49)        
remote: Counting objects:  79% (39/49)        
remote: Counting objects:  81% (40/49)        
remote: Counting objects:  83% (41/49)        
remote: Counting objects:  85% (42/49)        
remote: Counting objects:  87% (43/49)        
remote: Counting objects:  89% (44/49)        
remote: Counting objects:  91% (45/49)        
remote: Counting objects:  93% (46/49)        
remote: Counting objects:  95% (47/49)        
remote: Counting objects:  97% (48/49)        
remote: Counting objects: 100% (49/49)        
remote: Counting objects: 100% (49/49), done.        
remote: Compressing objects:   4% (1/24)        
remote: Compressing objects:   8% (2/24)        
remote: Compressing objects:  12% (3/24)        
remote: Compressing objects:  16% (4/24)        
remote: Compressing objects:  20% (5/24)        
remote: Compressing objects:  25% (6/24)        
remote: Compressing objects:  29% (7/24)        
remote: Compressing objects:  33% (8/24)        
remote: Compressing objects:  37% (9/24)        
remote: Compressing objects:  41% (10/24)        
remote: Compressing objects:  45% (11/24)        
remote: Compressing objects:  50% (12/24)        
remote: Compressing objects:  54% (13/24)        
remote: Compressing objects:  58% (14/24)        
remote: Compressing objects:  62% (15/24)        
remote: Compressing objects:  66% (16/24)        
remote: Compressing objects:  70% (17/24)        
remote: Compressing objects:  75% (18/24)        
remote: Compressing objects:  79% (19/24)        
remote: Compressing objects:  83% (20/24)        
remote: Compressing objects:  87% (21/24)        
remote: Compressing objects:  91% (22/24)        
remote: Compressing objects:  95% (23/24)        
remote: Compressing objects: 100% (24/24)        
remote: Compressing objects: 100% (24/24), done.        
remote: Total 27 (delta 18), reused 7 (delta 2), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to 'e5da9ab2c82c6b4e4f8ffa699a9a609ea1bea255'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at e5da9ab2c8 gh-99108: Import SHA2-384/512 from HACL* (#101707)
Switched to and reset branch 'main'

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Objects/obmalloc.c:776:1: warning: always_inline function might not be inlinable [-Wattributes]
  776 | arena_map_get(pymem_block *p, int create)
      | ^~~~~~~~~~~~~

configure: ../../configure --prefix $(PWD)/target/host --with-pydebug --without-pydebug --with-emscripten-target=browser --enable-wasm-dynamic-linking --disable-wasm-pthreads --build=x86_64-pc-linux-gnu --host=wasm32-unknown-emscripten --with-build-python=../build/python
configure: WARNING: using cross tools not prefixed with host triplet
mcc: error: no input files

make: make -j2 all
Makefile:2805: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2802: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Python/initconfig.c:2360:27: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~  ^~~~~~~~~~~~~
../../Python/initconfig.c:145:18: note: format string is defined here
"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
                 ^~~
                 %c
../../Python/initconfig.c:2360:42: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~                 ^~~~~~~~~~~~~
../../Python/initconfig.c:148:58: note: format string is defined here
"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
                                                         ^~~
                                                         %c
2 warnings generated.
../../Python/pystate.c:1148:1: warning: unused function 'tstate_is_alive' [-Wunused-function]
tstate_is_alive(PyThreadState *tstate)
^
../../Python/pystate.c:203:1: warning: unused function 'tstate_is_bound' [-Wunused-function]
tstate_is_bound(PyThreadState *tstate)
^
2 warnings generated.
../../Python/pytime.c:297:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(time_t, intpart)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:352:14: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
        if (!_Py_InIntegralTypeRange(time_t, intpart)) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:518:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(_PyTime_t, d)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
3 warnings generated.
../../Modules/sha256module.c:123:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/sha512module.c:114:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/socketmodule.c:4033:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4086:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4710:54: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
            cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../Modules/_sqlite/connection.c:2198:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
    if (data->len > 9223372036854775807) {  // (1 << 63) - 1
        ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
Created /opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-browser/build/build_oot/host/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-browser/build/build_oot/host/target/host/lib/python312.zip (2.9 MiB)
wasm-ld: error: duplicate symbol: Hacl_SHA2_Scalar32_sha512_init
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
mcc: error: '/opt/emsdk/upstream/bin/wasm-ld -o python.wasm --whole-archive Programs/python.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/ceval_gil.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/intrinsics.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/perf_trampoline.o Python/dynload_shlib.o Python/emscripten_signal.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_contextvarsmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_opcode.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_typingmodule.o Modules/_zoneinfo.o Modules/audioop.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_datetimemodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/zlibmodule.o Modules/md5module.o Modules/sha1module.o Modules/sha256module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/sha512module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/_sha3/sha3module.o Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/_cryptmodule.o Modules/mmapmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modul
s/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Python/deepfreeze/deepfreeze.o Modules/getpath.o Python/frozen.o Modules/_decimal/libmpdec/libmpdec.a Modules/expat/libexpat.a -L/opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libz.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libbz2.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libsqlite3.a -lGL -lal -lhtml5 -lstubs -lnoexit -lc -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-noexcept -lsockets --no-whole-archive -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --import-memory --strip-debug --export-dynamic --export-if-defined=main --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv --export-if-defined=__wasm_apply_data_relocs --export=setThrew --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=getTempRet0 --export=setTempRet0 --export=malloc --export=free --export=raise --export=fileno --export=memcpy --export=ntohs --export=htons --export=__dl_seterr --export=saveSetjmp --export=htonl --export=sleep --export=memcmp --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=emscripten_builtin_memalign --experimental-pic -pie -z stack-size=5242880 --initial-memory=20971520 --no-entry --max-memory=2147483648' failed (returned 1)
make: *** [Makefile:833: python.js] Error 1
mmake: error: 'make -j2 all' failed (returned 2)

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'

Makefile:2805: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2802: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot

bedevere-bot commented Feb 14, 2023

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-emscripten node (dynamic linking) 3.x has failed when building commit e5da9ab.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1056/builds/1363) and take a look at the build logs.
  4. Check if the failure is related to this commit (e5da9ab) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1056/builds/1363

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 49, done.        
remote: Counting objects:   2% (1/49)        
remote: Counting objects:   4% (2/49)        
remote: Counting objects:   6% (3/49)        
remote: Counting objects:   8% (4/49)        
remote: Counting objects:  10% (5/49)        
remote: Counting objects:  12% (6/49)        
remote: Counting objects:  14% (7/49)        
remote: Counting objects:  16% (8/49)        
remote: Counting objects:  18% (9/49)        
remote: Counting objects:  20% (10/49)        
remote: Counting objects:  22% (11/49)        
remote: Counting objects:  24% (12/49)        
remote: Counting objects:  26% (13/49)        
remote: Counting objects:  28% (14/49)        
remote: Counting objects:  30% (15/49)        
remote: Counting objects:  32% (16/49)        
remote: Counting objects:  34% (17/49)        
remote: Counting objects:  36% (18/49)        
remote: Counting objects:  38% (19/49)        
remote: Counting objects:  40% (20/49)        
remote: Counting objects:  42% (21/49)        
remote: Counting objects:  44% (22/49)        
remote: Counting objects:  46% (23/49)        
remote: Counting objects:  48% (24/49)        
remote: Counting objects:  51% (25/49)        
remote: Counting objects:  53% (26/49)        
remote: Counting objects:  55% (27/49)        
remote: Counting objects:  57% (28/49)        
remote: Counting objects:  59% (29/49)        
remote: Counting objects:  61% (30/49)        
remote: Counting objects:  63% (31/49)        
remote: Counting objects:  65% (32/49)        
remote: Counting objects:  67% (33/49)        
remote: Counting objects:  69% (34/49)        
remote: Counting objects:  71% (35/49)        
remote: Counting objects:  73% (36/49)        
remote: Counting objects:  75% (37/49)        
remote: Counting objects:  77% (38/49)        
remote: Counting objects:  79% (39/49)        
remote: Counting objects:  81% (40/49)        
remote: Counting objects:  83% (41/49)        
remote: Counting objects:  85% (42/49)        
remote: Counting objects:  87% (43/49)        
remote: Counting objects:  89% (44/49)        
remote: Counting objects:  91% (45/49)        
remote: Counting objects:  93% (46/49)        
remote: Counting objects:  95% (47/49)        
remote: Counting objects:  97% (48/49)        
remote: Counting objects: 100% (49/49)        
remote: Counting objects: 100% (49/49), done.        
remote: Compressing objects:   4% (1/24)        
remote: Compressing objects:   8% (2/24)        
remote: Compressing objects:  12% (3/24)        
remote: Compressing objects:  16% (4/24)        
remote: Compressing objects:  20% (5/24)        
remote: Compressing objects:  25% (6/24)        
remote: Compressing objects:  29% (7/24)        
remote: Compressing objects:  33% (8/24)        
remote: Compressing objects:  37% (9/24)        
remote: Compressing objects:  41% (10/24)        
remote: Compressing objects:  45% (11/24)        
remote: Compressing objects:  50% (12/24)        
remote: Compressing objects:  54% (13/24)        
remote: Compressing objects:  58% (14/24)        
remote: Compressing objects:  62% (15/24)        
remote: Compressing objects:  66% (16/24)        
remote: Compressing objects:  70% (17/24)        
remote: Compressing objects:  75% (18/24)        
remote: Compressing objects:  79% (19/24)        
remote: Compressing objects:  83% (20/24)        
remote: Compressing objects:  87% (21/24)        
remote: Compressing objects:  91% (22/24)        
remote: Compressing objects:  95% (23/24)        
remote: Compressing objects: 100% (24/24)        
remote: Compressing objects: 100% (24/24), done.        
remote: Total 27 (delta 18), reused 7 (delta 2), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to 'e5da9ab2c82c6b4e4f8ffa699a9a609ea1bea255'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at e5da9ab2c8 gh-99108: Import SHA2-384/512 from HACL* (#101707)
Switched to and reset branch 'main'

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Objects/obmalloc.c:776:1: warning: always_inline function might not be inlinable [-Wattributes]
  776 | arena_map_get(pymem_block *p, int create)
      | ^~~~~~~~~~~~~

configure: ../../configure --prefix $(PWD)/target/host --with-pydebug --without-pydebug --with-emscripten-target=node --enable-wasm-dynamic-linking --disable-wasm-pthreads --build=x86_64-pc-linux-gnu --host=wasm32-unknown-emscripten --with-build-python=../build/python
configure: WARNING: using cross tools not prefixed with host triplet
mcc: error: no input files

make: make -j2 all
Makefile:2805: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2802: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Python/initconfig.c:2360:27: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~  ^~~~~~~~~~~~~
../../Python/initconfig.c:145:18: note: format string is defined here
"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
                 ^~~
                 %c
../../Python/initconfig.c:2360:42: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~                 ^~~~~~~~~~~~~
../../Python/initconfig.c:148:58: note: format string is defined here
"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
                                                         ^~~
                                                         %c
2 warnings generated.
../../Python/pystate.c:1148:1: warning: unused function 'tstate_is_alive' [-Wunused-function]
tstate_is_alive(PyThreadState *tstate)
^
../../Python/pystate.c:203:1: warning: unused function 'tstate_is_bound' [-Wunused-function]
tstate_is_bound(PyThreadState *tstate)
^
2 warnings generated.
../../Python/pytime.c:297:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(time_t, intpart)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:352:14: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
        if (!_Py_InIntegralTypeRange(time_t, intpart)) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:518:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(_PyTime_t, d)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
3 warnings generated.
../../Modules/sha256module.c:123:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/sha512module.c:114:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/socketmodule.c:4033:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4086:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4710:54: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
            cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../Modules/_sqlite/connection.c:2198:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
    if (data->len > 9223372036854775807) {  // (1 << 63) - 1
        ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
wasm-ld: error: duplicate symbol: Hacl_SHA2_Scalar32_sha512_init
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
mcc: error: '/opt/emsdk/upstream/bin/wasm-ld -o python.wasm --whole-archive Programs/python.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/ceval_gil.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/intrinsics.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/perf_trampoline.o Python/dynload_shlib.o Python/emscripten_signal.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_contextvarsmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_opcode.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_typingmodule.o Modules/_zoneinfo.o Modules/audioop.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_datetimemodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/zlibmodule.o Modules/md5module.o Modules/sha1module.o Modules/sha256module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/sha512module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/_sha3/sha3module.o Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/_cryptmodule.o Modules/mmapmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/xxsubtype.o Modules/_xxtestfuzz/_xxtestfuzz.o Modules/_xxtestfuzz/fuzzer.o Modules/_testbuffer.o Modules/_testinternalcapi.o Modules/_testcapimodule.o Modules/_testcapi
vectorcall.o Modules/_testcapi/vectorcall_limited.o Modules/_testcapi/heaptype.o Modules/_testcapi/unicode.o Modules/_testcapi/getargs.o Modules/_testcapi/pytime.o Modules/_testcapi/datetime.o Modules/_testcapi/docstring.o Modules/_testcapi/mem.o Modules/_testcapi/watchers.o Modules/_testcapi/long.o Modules/_testcapi/float.o Modules/_testcapi/structmember.o Modules/_testclinic.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Python/deepfreeze/deepfreeze.o Modules/getpath.o Python/frozen.o Modules/_decimal/libmpdec/libmpdec.a Modules/expat/libexpat.a -L/opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libsqlite3.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libz.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libbz2.a -lGL -lal -lhtml5 -lstubs -lc -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-noexcept -lsockets --no-whole-archive -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --import-memory --strip-debug --export-dynamic --export-if-defined=main --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv --export-if-defined=__wasm_apply_data_relocs --export-if-defined=fflush --export=setThrew --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=getTempRet0 --export=setTempRet0 --export=__funcs_on_exit --export=malloc --export=free --export=raise --export=fileno --export=memcpy --export=ntohs --export=htons --export=__dl_seterr --export=saveSetjmp --export=htonl --export=sleep --export=memcmp --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=emscripten_builtin_memalign --experimental-pic -pie -z stack-size=5242880 --initial-memory=20971520 --no-entry --max-memory=2147483648' failed (returned 1)
make: *** [Makefile:833: python.js] Error 1
mmake: error: 'make -j2 all' failed (returned 2)

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'

Makefile:2805: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2802: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot

bedevere-bot commented Feb 14, 2023

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-wasi 3.x has failed when building commit e5da9ab.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1046/builds/1401) and take a look at the build logs.
  4. Check if the failure is related to this commit (e5da9ab) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1046/builds/1401

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 49, done.        
remote: Counting objects:   2% (1/49)        
remote: Counting objects:   4% (2/49)        
remote: Counting objects:   6% (3/49)        
remote: Counting objects:   8% (4/49)        
remote: Counting objects:  10% (5/49)        
remote: Counting objects:  12% (6/49)        
remote: Counting objects:  14% (7/49)        
remote: Counting objects:  16% (8/49)        
remote: Counting objects:  18% (9/49)        
remote: Counting objects:  20% (10/49)        
remote: Counting objects:  22% (11/49)        
remote: Counting objects:  24% (12/49)        
remote: Counting objects:  26% (13/49)        
remote: Counting objects:  28% (14/49)        
remote: Counting objects:  30% (15/49)        
remote: Counting objects:  32% (16/49)        
remote: Counting objects:  34% (17/49)        
remote: Counting objects:  36% (18/49)        
remote: Counting objects:  38% (19/49)        
remote: Counting objects:  40% (20/49)        
remote: Counting objects:  42% (21/49)        
remote: Counting objects:  44% (22/49)        
remote: Counting objects:  46% (23/49)        
remote: Counting objects:  48% (24/49)        
remote: Counting objects:  51% (25/49)        
remote: Counting objects:  53% (26/49)        
remote: Counting objects:  55% (27/49)        
remote: Counting objects:  57% (28/49)        
remote: Counting objects:  59% (29/49)        
remote: Counting objects:  61% (30/49)        
remote: Counting objects:  63% (31/49)        
remote: Counting objects:  65% (32/49)        
remote: Counting objects:  67% (33/49)        
remote: Counting objects:  69% (34/49)        
remote: Counting objects:  71% (35/49)        
remote: Counting objects:  73% (36/49)        
remote: Counting objects:  75% (37/49)        
remote: Counting objects:  77% (38/49)        
remote: Counting objects:  79% (39/49)        
remote: Counting objects:  81% (40/49)        
remote: Counting objects:  83% (41/49)        
remote: Counting objects:  85% (42/49)        
remote: Counting objects:  87% (43/49)        
remote: Counting objects:  89% (44/49)        
remote: Counting objects:  91% (45/49)        
remote: Counting objects:  93% (46/49)        
remote: Counting objects:  95% (47/49)        
remote: Counting objects:  97% (48/49)        
remote: Counting objects: 100% (49/49)        
remote: Counting objects: 100% (49/49), done.        
remote: Compressing objects:   4% (1/24)        
remote: Compressing objects:   8% (2/24)        
remote: Compressing objects:  12% (3/24)        
remote: Compressing objects:  16% (4/24)        
remote: Compressing objects:  20% (5/24)        
remote: Compressing objects:  25% (6/24)        
remote: Compressing objects:  29% (7/24)        
remote: Compressing objects:  33% (8/24)        
remote: Compressing objects:  37% (9/24)        
remote: Compressing objects:  41% (10/24)        
remote: Compressing objects:  45% (11/24)        
remote: Compressing objects:  50% (12/24)        
remote: Compressing objects:  54% (13/24)        
remote: Compressing objects:  58% (14/24)        
remote: Compressing objects:  62% (15/24)        
remote: Compressing objects:  66% (16/24)        
remote: Compressing objects:  70% (17/24)        
remote: Compressing objects:  75% (18/24)        
remote: Compressing objects:  79% (19/24)        
remote: Compressing objects:  83% (20/24)        
remote: Compressing objects:  87% (21/24)        
remote: Compressing objects:  91% (22/24)        
remote: Compressing objects:  95% (23/24)        
remote: Compressing objects: 100% (24/24)        
remote: Compressing objects: 100% (24/24), done.        
remote: Total 27 (delta 19), reused 6 (delta 2), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to 'e5da9ab2c82c6b4e4f8ffa699a9a609ea1bea255'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at e5da9ab2c8 gh-99108: Import SHA2-384/512 from HACL* (#101707)
Switched to and reset branch 'main'

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Objects/obmalloc.c:776:1: warning: always_inline function might not be inlinable [-Wattributes]
  776 | arena_map_get(pymem_block *p, int create)
      | ^~~~~~~~~~~~~

configure: WARNING: using cross tools not prefixed with host triplet

Makefile:2794: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2791: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Python/pystate.c:1148:1: warning: unused function 'tstate_is_alive' [-Wunused-function]
tstate_is_alive(PyThreadState *tstate)
^
../../Python/pystate.c:203:1: warning: unused function 'tstate_is_bound' [-Wunused-function]
tstate_is_bound(PyThreadState *tstate)
^
2 warnings generated.
../../Python/pytime.c:297:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(time_t, intpart)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:352:14: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
        if (!_Py_InIntegralTypeRange(time_t, intpart)) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:518:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(_PyTime_t, d)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
3 warnings generated.
../../Modules/sha256module.c:123:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/sha512module.c:114:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/posixmodule.c:7062:13: warning: unused function 'warn_about_fork_with_threads' [-Wunused-function]
static void warn_about_fork_with_threads(const char* name) {
            ^
1 warning generated.
cat: pybuilddir.txt: No such file or directory
wasm-ld: error: duplicate symbol: Hacl_SHA2_Scalar32_sha512_init
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:826: python.wasm] Error 1

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'

Makefile:2794: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2791: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot

bedevere-bot commented Feb 14, 2023

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-emscripten node (pthreads) 3.x has failed when building commit e5da9ab.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1050/builds/1360) and take a look at the build logs.
  4. Check if the failure is related to this commit (e5da9ab) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1050/builds/1360

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 49, done.        
remote: Counting objects:   2% (1/49)        
remote: Counting objects:   4% (2/49)        
remote: Counting objects:   6% (3/49)        
remote: Counting objects:   8% (4/49)        
remote: Counting objects:  10% (5/49)        
remote: Counting objects:  12% (6/49)        
remote: Counting objects:  14% (7/49)        
remote: Counting objects:  16% (8/49)        
remote: Counting objects:  18% (9/49)        
remote: Counting objects:  20% (10/49)        
remote: Counting objects:  22% (11/49)        
remote: Counting objects:  24% (12/49)        
remote: Counting objects:  26% (13/49)        
remote: Counting objects:  28% (14/49)        
remote: Counting objects:  30% (15/49)        
remote: Counting objects:  32% (16/49)        
remote: Counting objects:  34% (17/49)        
remote: Counting objects:  36% (18/49)        
remote: Counting objects:  38% (19/49)        
remote: Counting objects:  40% (20/49)        
remote: Counting objects:  42% (21/49)        
remote: Counting objects:  44% (22/49)        
remote: Counting objects:  46% (23/49)        
remote: Counting objects:  48% (24/49)        
remote: Counting objects:  51% (25/49)        
remote: Counting objects:  53% (26/49)        
remote: Counting objects:  55% (27/49)        
remote: Counting objects:  57% (28/49)        
remote: Counting objects:  59% (29/49)        
remote: Counting objects:  61% (30/49)        
remote: Counting objects:  63% (31/49)        
remote: Counting objects:  65% (32/49)        
remote: Counting objects:  67% (33/49)        
remote: Counting objects:  69% (34/49)        
remote: Counting objects:  71% (35/49)        
remote: Counting objects:  73% (36/49)        
remote: Counting objects:  75% (37/49)        
remote: Counting objects:  77% (38/49)        
remote: Counting objects:  79% (39/49)        
remote: Counting objects:  81% (40/49)        
remote: Counting objects:  83% (41/49)        
remote: Counting objects:  85% (42/49)        
remote: Counting objects:  87% (43/49)        
remote: Counting objects:  89% (44/49)        
remote: Counting objects:  91% (45/49)        
remote: Counting objects:  93% (46/49)        
remote: Counting objects:  95% (47/49)        
remote: Counting objects:  97% (48/49)        
remote: Counting objects: 100% (49/49)        
remote: Counting objects: 100% (49/49), done.        
remote: Compressing objects:   4% (1/24)        
remote: Compressing objects:   8% (2/24)        
remote: Compressing objects:  12% (3/24)        
remote: Compressing objects:  16% (4/24)        
remote: Compressing objects:  20% (5/24)        
remote: Compressing objects:  25% (6/24)        
remote: Compressing objects:  29% (7/24)        
remote: Compressing objects:  33% (8/24)        
remote: Compressing objects:  37% (9/24)        
remote: Compressing objects:  41% (10/24)        
remote: Compressing objects:  45% (11/24)        
remote: Compressing objects:  50% (12/24)        
remote: Compressing objects:  54% (13/24)        
remote: Compressing objects:  58% (14/24)        
remote: Compressing objects:  62% (15/24)        
remote: Compressing objects:  66% (16/24)        
remote: Compressing objects:  70% (17/24)        
remote: Compressing objects:  75% (18/24)        
remote: Compressing objects:  79% (19/24)        
remote: Compressing objects:  83% (20/24)        
remote: Compressing objects:  87% (21/24)        
remote: Compressing objects:  91% (22/24)        
remote: Compressing objects:  95% (23/24)        
remote: Compressing objects: 100% (24/24)        
remote: Compressing objects: 100% (24/24), done.        
remote: Total 27 (delta 19), reused 6 (delta 2), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to 'e5da9ab2c82c6b4e4f8ffa699a9a609ea1bea255'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at e5da9ab2c8 gh-99108: Import SHA2-384/512 from HACL* (#101707)
Switched to and reset branch 'main'

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Objects/obmalloc.c:776:1: warning: always_inline function might not be inlinable [-Wattributes]
  776 | arena_map_get(pymem_block *p, int create)
      | ^~~~~~~~~~~~~

configure: ../../configure --prefix $(PWD)/target/host --with-pydebug --without-pydebug --with-emscripten-target=node --disable-wasm-dynamic-linking --enable-wasm-pthreads --build=x86_64-pc-linux-gnu --host=wasm32-unknown-emscripten --with-build-python=../build/python
configure: WARNING: using cross tools not prefixed with host triplet
mcc: error: no input files

make: make -j2 all
Makefile:2804: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2801: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
../../Python/initconfig.c:2360:27: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~  ^~~~~~~~~~~~~
../../Python/initconfig.c:145:18: note: format string is defined here
"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
                 ^~~
                 %c
../../Python/initconfig.c:2360:42: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~                 ^~~~~~~~~~~~~
../../Python/initconfig.c:148:58: note: format string is defined here
"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
                                                         ^~~
                                                         %c
2 warnings generated.
../../Python/pystate.c:1148:1: warning: unused function 'tstate_is_alive' [-Wunused-function]
tstate_is_alive(PyThreadState *tstate)
^
../../Python/pystate.c:203:1: warning: unused function 'tstate_is_bound' [-Wunused-function]
tstate_is_bound(PyThreadState *tstate)
^
2 warnings generated.
../../Python/pytime.c:297:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(time_t, intpart)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:352:14: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
        if (!_Py_InIntegralTypeRange(time_t, intpart)) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../Python/pytime.c:518:10: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (!_Py_InIntegralTypeRange(_PyTime_t, d)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:72:45: note: expanded from macro '_Py_InIntegralTypeRange'
    (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
                                         ~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
../../Include/internal/pycore_pymath.h:61:88: note: expanded from macro '_Py_IntegralTypeMax'
    (_Py_IS_TYPE_SIGNED(type) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
3 warnings generated.
../../Modules/sha256module.c:123:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/sha512module.c:114:14: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned int' [-Wsign-compare]
  while (len > UINT32_MAX) {
         ~~~ ^ ~~~~~~~~~~
1 warning generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/socketmodule.c:4033:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4086:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4710:54: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
            cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../Modules/_sqlite/connection.c:2198:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
    if (data->len > 9223372036854775807) {  // (1 << 63) - 1
        ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
mcc: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
wasm-ld: error: duplicate symbol: Hacl_SHA2_Scalar32_sha512_init
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha256
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_sha224
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_create_in_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_copy_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_init_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_update_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_finish_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: duplicate symbol: python_hashlib_Hacl_Streaming_SHA2_free_512
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o
>>> defined in Modules/_hacl/Hacl_Streaming_SHA2.o

wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
mcc: error: '/opt/emsdk/upstream/bin/wasm-ld -o python.wasm Programs/python.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/ceval_gil.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/intrinsics.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/perf_trampoline.o Python/dynload_stub.o Python/emscripten_signal.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_contextvarsmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_opcode.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_typingmodule.o Modules/_zoneinfo.o Modules/audioop.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_datetimemodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/zlibmodule.o Modules/md5module.o Modules/sha1module.o Modules/sha256module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/sha512module.o Modules/_hacl/Hacl_Streaming_SHA2.o Modules/_sha3/sha3module.o Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/_cryptmodule.o Modules/mmapmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/xxsubtype.o Modules/_xxtestfuzz/_xxtestfuzz.o Modules/_xxtestfuzz/fuzzer.o Modules/_testbuffer.o Modules/_testinternalcapi.o Modules/_testcapimodule.o Modules/_testcapi/vectorcall.o Mod
les/_testcapi/vectorcall_limited.o Modules/_testcapi/heaptype.o Modules/_testcapi/unicode.o Modules/_testcapi/getargs.o Modules/_testcapi/pytime.o Modules/_testcapi/datetime.o Modules/_testcapi/docstring.o Modules/_testcapi/mem.o Modules/_testcapi/watchers.o Modules/_testcapi/long.o Modules/_testcapi/float.o Modules/_testcapi/structmember.o Modules/_testclinic.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Python/deepfreeze/deepfreeze.o Modules/getpath.o Python/frozen.o Modules/_decimal/libmpdec/libmpdec.a Modules/expat/libexpat.a -L/opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libsqlite3-mt.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libbz2.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libz.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/crtbegin.o /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/crt1_proxy_main.o -lGL-mt -lal -lhtml5 -lstubs -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --import-memory --shared-memory --strip-debug --export-if-defined=main --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=_emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv --export-if-defined=fflush --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=emscripten_dispatch_to_thread_ --export=_emscripten_thread_free_data --export=emscripten_main_browser_thread_id --export=emscripten_main_thread_process_queued_calls --export=emscripten_run_in_main_runtime_thread_js --export=emscripten_stack_set_limits --export=__funcs_on_exit --export=malloc --export=free --export=emscripten_builtin_memalign --export=ntohs --export=htons --export=htonl --export-table -z stack-size=5242880 --initial-memory=20971520 --entry=_emscripten_proxy_main --max-memory=2147483648 --global-base=1024' failed (returned 1)
make: *** [Makefile:832: python.js] Error 1
mmake: error: 'make -j2 all' failed (returned 2)

Makefile:2849: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2846: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'

Makefile:2804: warning: overriding recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
Makefile:2801: warning: ignoring old recipe for target 'Modules/_hacl/Hacl_Streaming_SHA2.o'
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@msprotz

msprotz commented Feb 14, 2023

Copy link
Copy Markdown
Contributor Author

Thanks for merging, @gpshead. It looks like this broke the wasm build because there are now duplicate symbols. If I had to guess, I would say that the use-case where two C files in Modules/ depend on the same C file did not show up before in the build.

Would it be enough to remove one of the two references to Hacl_Streaming_SHA2.c in Modules/Setup.stdlib.in?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gpshead

gpshead commented Feb 14, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

I doubt just removing one reference is enough? Looking at things I suspect what we want is for the _hacl/ stuff to be built into a single .a library and the sha256module.c and sha512module.c to both link against that. so that they pull only the symbols they use in, instead of what appears to be happening today where both extension module libraries wind up with all of the symbols from the Modules/_hacl/Hacl_Streaming_SHA2.c present and exported.

This should require some Makefile.pre.in work. similar to how _decimal uses libmpdec and expat uses libexpat.a.

I'm untangling this.

erlend-aasland and msprotz reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gpshead gpshead mentioned this pull request Feb 14, 2023
gh-99108: Build the hashlib HACL* code as a static library. (fix wasm builds) #101917
Merged
gpshead added a commit that referenced this pull request Feb 14, 2023
@gpshead
gh-99108: Build the hashlib HACL* code as a static library. (#101917)
d777790
This builds HACL* as a library in one place.

A followup to #101707 which broke some WASM builds. This fixes 2/4 of them, but the enscripten toolchain in the others don't deduplicate linker arguments and error out. A follow-on PR will address those.
@gpshead

gpshead commented Feb 15, 2023

Copy link
Copy Markdown
Member

That fixes 2/4 of the build bot failures. the remaining wasm32-enscripten dynamic failures are because that uses --whole-archive linking so the duplicates (duplicate as in the .a file is listed twice on the wasm-ld command line at this point) cause trouble. I'm going to follow up with a refactoring PR that merges _sha256 and _sha512 into a single _sha2 module. Those two don't need to be separate modules, that is a historical oddity.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gpshead gpshead mentioned this pull request Feb 15, 2023
gh-99108: Refactor _sha256 & _sha512 into _sha2. #101924
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gpshead gpshead gpshead approved these changes
@erlend-aasland erlend-aasland erlend-aasland approved these changes
@tiran tiran Awaiting requested review from tiran
@corona10 corona10 Awaiting requested review from corona10 corona10 is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@gpshead gpshead

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@msprotz @bedevere-bot @gpshead @erlend-aasland
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.