Open r1cc4rdo opened 2 years ago
thanks for the report. Can you please run it again with python -X dev
Here's the trace:
Fatal Python error: Segmentation fault
Thread 0x000070000ac70000 (most recent call first):
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/threading.py", line 324 in wait
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/threading.py", line 600 in wait
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/_monitor.py", line 60 in run
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/threading.py", line 966 in _bootstrap
Current thread 0x0000000119fa7600 (most recent call first):
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 240 in __call__
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 1458 in format_dict
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 1150 in __str__
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 1494 in display
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 1346 in refresh
File "/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/site-packages/tqdm/std.py", line 1109 in __init__
File "<stdin>", line 1 in <module>
Extension modules: pyjion._pyjion (total: 1)
[1] 71148 segmentation fault python -X dev
/Users/riccardo/opt/anaconda3/envs/stereo/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
Pyjion version is 1.2.6, installed via pip.
Hm., that function doesn't do anything exotic.
def __call__(self, x=None):
"""
Parameters
----------
x : float
New value to include in EMA.
"""
beta = 1 - self.alpha
if x is not None:
self.last = self.alpha * x + beta * self.last
self.calls += 1
return self.last / (1 - beta ** self.calls) if self.calls else self.last
I'll see if I can reproduce a smaller, isolated failure
I can't reproduce this on Python 3.10.4 and macOS.
What minor version of Python are you using and which version of tqdm is installed?
[riccardo:~]$ python -X dev
Python 3.10.0 (default, Nov 10 2021, 11:24:47) [Clang 12.0.0 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tqdm
>>> tqdm.__version__
'4.62.3'
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=10, micro=0, releaselevel='final', serial=0)
What are yours? So I can test with them as well.
Still happens with python 3.10.4, tqdm 4.64.0
(testtqdm) [riccardo:~]$ python -X dev
Python 3.10.4 (main, Mar 31 2022, 03:38:35) [Clang 12.0.0 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tqdm
>>> import pyjion
>>> pyjion.enable()
True
>>> print(f'{tqdm.__version__=}')
tqdm.__version__='4.64.0'
>>> for _ in tqdm.tqdm(range(10)):
... pass
...
Fatal Python error: Segmentation fault
Thread 0x0000700008339000 (most recent call first):
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/threading.py", line 324 in wait
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/threading.py", line 600 in wait
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/_monitor.py", line 60 in run
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/threading.py", line 1009 in _bootstrap_inner
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/threading.py", line 966 in _bootstrap
Current thread 0x00000001140c0600 (most recent call first):
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 240 in __call__
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 1473 in format_dict
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 1165 in __str__
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 1509 in display
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 1361 in refresh
File "/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/site-packages/tqdm/std.py", line 1109 in __init__
File "<stdin>", line 1 in <module>
Extension modules: pyjion._pyjion (total: 1)
[1] 77690 segmentation fault python -X dev
/Users/riccardo/opt/anaconda3/envs/testtqdm/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
This is odd. I've even added your sample as a unit test and submitted to CI/CD, it's passing on all platforms.
https://github.com/tonybaloney/Pyjion/pull/491
Can you try the following :
pyjion.config(level=0)
) before running the functionpyjion.config(pgc=False)
SIGSEGV goes away iff level=0.
I tried all three combinations.
tqdm is a drop-in progress bar for Python and the command line. The minimal non-working example below
terminates with:
on a Intel x64 Mac, .NET 6.0 LTS, Python 3.10