Skip to content

Conversation

@brandtbucher
Copy link
Member

@brandtbucherbrandtbucher commented Sep 3, 2021

$ forHASH_ALGORITHMin siphash24 fnv >do> ./configure --with-hash-algorithm=$HASH_ALGORITHM&> /dev/null > make -j &> /dev/null > ./python -c 'import sys; print(f"{sys.hash_info.algorithm = }")'> ./python -m test test_marshal >done
sys.hash_info.algorithm = 'siphash24' 0:00:00 load avg: 3.28 Run tests sequentially 0:00:00 load avg: 3.28 [1/1] test_marshal == Tests result: SUCCESS == 1 test OK. Total duration: 316 ms Tests result: SUCCESS 
sys.hash_info.algorithm = 'fnv' 0:00:00 load avg: 15.70 Run tests sequentially 0:00:00 load avg: 15.70 [1/1] test_marshal == Tests result: SUCCESS == 1 test OK. Total duration: 311 ms Tests result: SUCCESS 

https://bugs.python.org/issue37596

@brandtbucherbrandtbucher added tests Tests in the Lib/test dir skip news labels Sep 3, 2021
@brandtbucherbrandtbucher added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Sep 3, 2021
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @brandtbucher for commit e72a25b 🤖

If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again.

@bedevere-botbedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Sep 3, 2021
Copy link
Member

@gvanrossumgvanrossum left a comment

Choose a reason for hiding this comment

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

So did you just try different strings until you found one that hashes the same under fnv and siphash24?? That's amazing. (I didn't even know we had all this machinery -- all I know is that we have "hash randomization" and that you can force the seed by setting an env var. :-)

@brandtbucher
Copy link
MemberAuthor

So did you just try different strings until you found one that hashes the same under fnv and siphash24?? That's amazing.

No, I just needed to find one that hashes in such a way that sets containing them have different orders under PYTHONHASHSEED=0 and PYTHONHASHSEED=1 for each algorithm! It's a much easier task. 🙃

(I didn't even know we had all this machinery -- all I know is that we have "hash randomization" and that you can force the seed by setting an env var. :-)

Same, I learned a lot about this stuff today!

@brandtbucher
Copy link
MemberAuthor

That buildbot's been failing for a while with that same error. I'll open an issue for it.

@brandtbucherbrandtbucher merged commit 3beef86 into python:mainSep 4, 2021
@bedevere-bot
Copy link

@brandtbucher: Please replace # with GH- in the commit message next time. Thanks!

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 Fedora Stable LTO 3.x has failed when building commit 3beef86.

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/271/builds/562) and take a look at the build logs.
  4. Check if the failure is related to this commit (3beef86) 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/271/builds/562

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

== Tests result: ENV CHANGED ==

413 tests OK.

10 slowest tests:

  • test_peg_generator: 3 min 34 sec
  • test_concurrent_futures: 2 min 31 sec
  • test_gdb: 1 min 43 sec
  • test_nntplib: 1 min 20 sec
  • test_multiprocessing_spawn: 1 min 7 sec
  • test_multiprocessing_forkserver: 58.9 sec
  • test_asyncio: 56.2 sec
  • test_multiprocessing_fork: 53.0 sec
  • test_signal: 47.1 sec
  • test_io: 37.1 sec

1 test altered the execution environment:
test_ftplib

13 tests skipped:
test_devpoll test_ioctl test_kqueue test_msilib test_ossaudiodev
test_startfile test_tix test_tk test_ttk_guionly test_winconsoleio
test_winreg test_winsound test_zipfile64

Total duration: 4 min 43 sec

Click to see traceback logs
Traceback (most recent call last): File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/threading.py", line 1009, in _bootstrap_innerself.run() ^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_ftplib.py", line 297, in run asyncore.loop(timeout=0.1, count=1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncore.py", line 214, in loop poll_fun(timeout, map) ^^^^^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncore.py", line 157, in poll read(obj) ^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncore.py", line 94, in read obj.handle_error() ^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_ftplib.py", line 139, in handle_errorraiseException^^^^^^^^^^^^^^^ Exception Traceback (most recent call last): File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncore.py", line 90, in read obj.handle_read_event() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncore.py", line 427, in handle_read_eventself.handle_read() ^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asynchat.py", line 179, in handle_readself.found_terminator() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_ftplib.py", line 134, in found_terminator method(arg) ^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_ftplib.py", line 159, in cmd_pasv conn, addr = sock.accept() ^^^^^^^^^^^^^ File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/socket.py", line 293, in accept fd, addr =self._accept() ^^^^^^^^^^^^^^TimeoutError: timed out

@brandtbucherbrandtbucher deleted the fix-marshal-tests branch July 21, 2022 20:18
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip newstestsTests in the Lib/test dir

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@brandtbucher@bedevere-bot@gvanrossum@the-knights-who-say-ni