Test Failure in Alpine Linux - 'Ensure adding witness outputs with uncompressed pubkeys fails' #20236

issue itoffshore opened this issue on October 25, 2020
  1. itoffshore commented at 11:16 AM on October 25, 2020: contributor

    <!-- This issue tracker is only for technical issues related to Bitcoin Core. General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

    <!-- Describe the issue -->

    Expected behavior

    Pass the test

    Actual behavior

    Failed the test

    To reproduce

    run make check:

     'Creates a new transaction with a single 2-of-3 multisig in a P2WSH output',
     'Creates a new transaction with a single 2-of-3 multisig in a P2WSH output (output in json)',
     'Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH',
     'Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)',
     'Uncompressed pubkeys should work just fine for non-witness outputs',
     'Ensure adding witness outputs with uncompressed pubkeys fails']
    make[3]: *** [Makefile:19028: check-local] Error 1
    make[3]: Leaving directory '/home/stuart/aports/community/bitcoin/src/bitcoin-0.20.1/src'
    make[2]: *** [Makefile:17578: check-am] Error 2
    make[2]: Leaving directory '/home/stuart/aports/community/bitcoin/src/bitcoin-0.20.1/src'
    make[1]: *** [Makefile:17263: check-recursive] Error 1
    make[1]: Leaving directory '/home/stuart/aports/community/bitcoin/src/bitcoin-0.20.1/src'
    make: *** [Makefile:781: check-recursive] Error 1
    >>> ERROR: bitcoin: check failed
    

    System information

    • Bitcoin 0.20.1
    • Alpine Linux Edge (3.12.1 currently) LXC container
  2. itoffshore added the label Bug on Oct 25, 2020
  3. theStack commented at 1:37 AM on October 26, 2020: member

    Hello @itoffshore,

    thanks for your report! I tried to reproduce the behaviour you described via Docker and came up with the following Dockerfile after some researching about Alpine Linux and its package system:

    FROM alpine:3.12.1
    RUN apk add alpine-sdk
    RUN adduser --disabled-password btc
    RUN addgroup btc abuild
    USER btc
    WORKDIR /home/btc
    RUN git clone git://git.alpinelinux.org/aports
    WORKDIR /home/btc/aports/community/bitcoin
    RUN abuild-keygen -a
    ENTRYPOINT abuild -r
    

    Building and running this container via

    $ docker build -t bitcoin_issue_20236 . && docker run -it bitcoin_issue_20236
    

    builds the source and runs the tests, which all pass on my system, which is a x86_64 architecture with 4.4.0 kernel. So I unfortunately couldn't reproduce your reported behaviour. Can you give more details on your system? Did you do any other steps than described in the Dockerfile (which is of course very minimal)? Does it make a difference if make check is called manually or via the abuild tool? Also it would be interesting on how it is possible to keep the source after building -- after abuild -r the src folder within aports/community/bitcoin/ seems to be gone.

  4. MarcoFalke commented at 7:06 AM on October 26, 2020: member

    Does make distclean help?

  5. itoffshore commented at 8:23 AM on October 26, 2020: contributor

    @theStack - if you edit /etc/abuild.conf the src folder is not cleaned up after a successful build:

    # what to clean up after a successful build
    #CLEANUP="srcdir pkgdir deps"
    CLEANUP="deps"
    
    • My system is Arch Linux with lxc-4.0.4-1 & an Alpine Linux Edge (latest currently 3.12.1) container
    • How I build bitcoin is here
    • Current Merge Request to fix bitcoin service for reference @MarcoFalke - if I run make distclean immediately before make clean the clean target is not found.
  6. MarcoFalke commented at 8:53 AM on October 26, 2020: member

    What is the full output of make check? What version of python are you using?

  7. itoffshore commented at 9:25 AM on October 28, 2020: contributor

    python3 (3.8.6-r0)

    if I run the tests now I get a different error due to changing the environment to C

    When the tests failed before there was never a full report - only as the issue above

  8. MarcoFalke commented at 9:30 AM on October 28, 2020: member

    Without the full output of make check or ./test/util/bitcoin-util-test.py we can't debug this

  9. MarcoFalke removed the label Bug on Oct 28, 2020
  10. MarcoFalke added the label Questions and Help on Oct 28, 2020
  11. theStack commented at 9:57 AM on October 29, 2020: member

    When the tests failed before there was never a full report - only as the issue above

    Could you just manually run the util test (looking at the output, I think it's most likely that the issue is there) with the verbose option and redirect all of its output to a file, e.g.:

    $ test/util/bitcoin-util-test.py -v > output.txt 2>&1
    

    and then post the content of the output file here.

  12. itoffshore commented at 12:38 AM on October 30, 2020: contributor

    I'm going to close this - the tests now pass successfully.

  13. itoffshore closed this on Oct 30, 2020

  14. MarcoFalke locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-26 06:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me