Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Aug 10, 2022

Building the macOS M1 bitcoin-qt binary at a optimisation level higher than -O1 causes reproducibility issues when building on different architectures.

Proposing somewhat of a hammer.

This would fix 1 of the 2 remaining HOSTS in #21194.

Guix Build (x86_64):

1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz

Guix Build (arm64):

1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz

@hebasto
Copy link
Member

hebasto commented Aug 10, 2022

Proposing somewhat of a hammer.

Indeed 😄

@achow101
Copy link
Member

x86_64 build:

a6c5bc5af6992935ad4a547f471e18dbf5419b3284f95a78e65fc3a0c491cfe4  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.dmg
bf4f3cbb5ea2559251c6cca95205599456b6e597f32ccdf2a1d93a4384a932e0  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.tar.gz
f5118d115371a361c24d42af3b4be97d1fe340f0f19300290b74805106048a8a  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin.tar.gz
29ae09d6b2d52f814bead74dc1a51a5d4944af29a38fa97acde3ca68ad83ecc9  guix-build-849a1f5c7b77/output/dist-archive/bitcoin-849a1f5c7b77.tar.gz
e86da978c62ac1ad5fe0df8a61c98e86203dbf4fd7ec7619d07af2ad957b9ef4  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/SHA256SUMS.part
d6433cf54052308bd632c2f093260d355c51386e6751977a5a25a60cad14365e  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.dmg
d94dc7e2c4da8b45a36c39b35dda48b960e7c05a59834825215eb64daf5dcf06  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.tar.gz
ccda72b619d9bf88c0baca11875ea94091080befc1e19e4031778919ce5f5be1  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin.tar.gz

arm64 build:

b6b7395fd0d67c32894b520ef6300d467b3c5ddc52733efd81243079e45c9184  guix-build-849a1f5c7b77/output/arm64-apple-darwin/SHA256SUMS.part
a6c5bc5af6992935ad4a547f471e18dbf5419b3284f95a78e65fc3a0c491cfe4  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.dmg
bf4f3cbb5ea2559251c6cca95205599456b6e597f32ccdf2a1d93a4384a932e0  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.tar.gz
f5118d115371a361c24d42af3b4be97d1fe340f0f19300290b74805106048a8a  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin.tar.gz
29ae09d6b2d52f814bead74dc1a51a5d4944af29a38fa97acde3ca68ad83ecc9  guix-build-849a1f5c7b77/output/dist-archive/bitcoin-849a1f5c7b77.tar.gz
e86da978c62ac1ad5fe0df8a61c98e86203dbf4fd7ec7619d07af2ad957b9ef4  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/SHA256SUMS.part
d6433cf54052308bd632c2f093260d355c51386e6751977a5a25a60cad14365e  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.dmg
d94dc7e2c4da8b45a36c39b35dda48b960e7c05a59834825215eb64daf5dcf06  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.tar.gz
ccda72b619d9bf88c0baca11875ea94091080befc1e19e4031778919ce5f5be1  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin.tar.gz

@jarolrod
Copy link
Member

jarolrod commented Aug 10, 2022

guix hashes

x86:

1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz

arm64:

1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz

@fanquake fanquake marked this pull request as ready for review August 12, 2022 09:28
@hebasto
Copy link
Member

hebasto commented Aug 12, 2022

For the reference, currently, in the master branch, the corelib and gui libraries are being compiled with QMAKE_CFLAGS_OPTIMIZE_FULL = -O3.

Other libraries (network, widgets, plugins and testlib) are being compiled with QMAKE_CFLAGS_OPTIMIZE = -O2.

@hebasto
Copy link
Member

hebasto commented Aug 12, 2022

Guix builds on arm64:

b6b7395fd0d67c32894b520ef6300d467b3c5ddc52733efd81243079e45c9184  guix-build-849a1f5c7b77/output/arm64-apple-darwin/SHA256SUMS.part
a6c5bc5af6992935ad4a547f471e18dbf5419b3284f95a78e65fc3a0c491cfe4  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.dmg
bf4f3cbb5ea2559251c6cca95205599456b6e597f32ccdf2a1d93a4384a932e0  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin-unsigned.tar.gz
f5118d115371a361c24d42af3b4be97d1fe340f0f19300290b74805106048a8a  guix-build-849a1f5c7b77/output/arm64-apple-darwin/bitcoin-849a1f5c7b77-arm64-apple-darwin.tar.gz
29ae09d6b2d52f814bead74dc1a51a5d4944af29a38fa97acde3ca68ad83ecc9  guix-build-849a1f5c7b77/output/dist-archive/bitcoin-849a1f5c7b77.tar.gz
e86da978c62ac1ad5fe0df8a61c98e86203dbf4fd7ec7619d07af2ad957b9ef4  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/SHA256SUMS.part
d6433cf54052308bd632c2f093260d355c51386e6751977a5a25a60cad14365e  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.dmg
d94dc7e2c4da8b45a36c39b35dda48b960e7c05a59834825215eb64daf5dcf06  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin-unsigned.tar.gz
ccda72b619d9bf88c0baca11875ea94091080befc1e19e4031778919ce5f5be1  guix-build-849a1f5c7b77/output/x86_64-apple-darwin/bitcoin-849a1f5c7b77-x86_64-apple-darwin.tar.gz

Building at higher optimisation levels causes reproducibility issues
when building on different architectures.
@fanquake fanquake force-pushed the m1_arm_nondeterminism branch from 849a1f5 to 08bd338 Compare August 12, 2022 15:38
Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

ACK 08bd338

Copy link
Member

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

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

ACK 08bd338

tested the resulting binary

@DrahtBot
Copy link
Contributor

Guix builds

File commit 89b2194
(master)
commit ddff431
(master and this pull)
SHA256SUMS.part e3a9452b1e8044fd... 052fc422c29a8d08...
*-aarch64-linux-gnu-debug.tar.gz 2d3114b420076280... d281c93a2ff7abe0...
*-aarch64-linux-gnu.tar.gz 19feba687e1615d4... 6154f60793d52b02...
*-arm-linux-gnueabihf-debug.tar.gz 405177f244490763... 611e4f02f63d0365...
*-arm-linux-gnueabihf.tar.gz b876ab5d28d1fabb... b193d57b46f26066...
*-arm64-apple-darwin-unsigned.dmg 23c21420974ba4ae... 2f99420618f475ae...
*-arm64-apple-darwin-unsigned.tar.gz 5d19cd1f2df1e62d... c613cb09f839c201...
*-arm64-apple-darwin.tar.gz 5481ee4cbe397156... 2107a881e1e3aa71...
*-powerpc64-linux-gnu-debug.tar.gz b6d5dc0a1df19ea9... 2d58d9844791c5ed...
*-powerpc64-linux-gnu.tar.gz 9b8e7f8835e1c467... 386849055992d2ea...
*-powerpc64le-linux-gnu-debug.tar.gz 893f7d601e0f0b4e... f9236f7739927d72...
*-powerpc64le-linux-gnu.tar.gz 982f5c709f807f18... 3e189f8d2d71da95...
*-riscv64-linux-gnu-debug.tar.gz 7f409bfda60cb875... e2db9522de0998a9...
*-riscv64-linux-gnu.tar.gz 78215a6a3307a63d... 0b56b5f0401934d3...
*-win64-debug.zip 4411980cbcb50310... 23c46747d8746bd0...
*-win64-setup-unsigned.exe d89532536e471983... 0fbdd462cb81dff2...
*-win64-unsigned.tar.gz dc7a7cced23fb64e... a42ef1d9a28992f6...
*-win64.zip 5beaeb4d5583c4c1... 2d806be66c6fdbd2...
*-x86_64-apple-darwin-unsigned.dmg 41300344fb6ed262... 0ed3f6fb4975996a...
*-x86_64-apple-darwin-unsigned.tar.gz f760bae7a0eca54e... 3e4b2b5d022fa1c6...
*-x86_64-apple-darwin.tar.gz 3364e5e37527db8d... 1ba257585386028e...
*-x86_64-linux-gnu-debug.tar.gz 7a72829c6c7bcd41... 433243ab584b0b53...
*-x86_64-linux-gnu.tar.gz f03c2b7f60e0c8b8... 0a174ec0bb806edb...
*.tar.gz 67ec6747ac147ea4... 685414022edbc972...
guix_build.log dc856d7a7f48a905... d855535de7ded8fd...
guix_build.log.diff 3e5e07c6c0e181a2...

@bitcoin bitcoin deleted a comment Aug 13, 2022
@fanquake fanquake merged commit aca0200 into bitcoin:master Aug 13, 2022
@fanquake fanquake deleted the m1_arm_nondeterminism branch August 13, 2022 12:41
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Aug 15, 2022
…lity

08bd338 build: optimise arm64 darwin qt build using -O1 (fanquake)

Pull request description:

  Building the macOS M1 bitcoin-qt binary at a optimisation level higher than `-O1` causes reproducibility issues when building on different architectures.

  Proposing somewhat of a hammer.

  This would fix 1 of the 2 remaining HOSTS in bitcoin#21194.

  Guix Build (x86_64):
  ```bash
  1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
  0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
  1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
  641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
  9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
  e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
  dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
  85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
  ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
  ```

  Guix Build (arm64):
  ```bash
  1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
  0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
  1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
  641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
  9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
  e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
  dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
  85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
  ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK 08bd338
  jarolrod:
    ACK 08bd338

Tree-SHA512: 48da4acb1799c3153cdaf674f287c81c3da230a3476183616b74f318baa595af45b313136eb228ba13c63e0b8206a78064734f9fd0488e1e839c9e4e1d92ba25
@fanquake fanquake added this to the 24.0 milestone Sep 15, 2022
@bitcoin bitcoin locked and limited conversation to collaborators Sep 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants