This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Intermittent AttributeError when using time.strptime in threads
Type: crash Stage:
Components: None Versions: Python 2.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: time.strptime not thread safe
View: 7980
Assigned To: Nosy List: amaury.forgeotdarc, ccorbacho, flox
Priority: normal Keywords:

Created on 2011-02-03 21:08 by ccorbacho, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
test_time.py ccorbacho, 2011-02-03 21:08 Threading code example
Messages (2)
msg127822 - (view) Author: Carlos Corbacho (ccorbacho) Date: 2011-02-03 21:08
time.strptime() intermittently (and I mean _really_ intermittently) throws an AttributeError.

Steps to reproduce:

Run the attached script (you may have to do this quite a lot of times; in an evening of trying, I could only trigger this bug once...) - this just starts lots of threads so that we have lots of time.strptime()'s running in parallel.

Expected:

It just keeps running every time.

Actual:

On one run, the script bailed out almost immediately -

ccorbacho@valkyrie:~/chroots/trunk/home/ccorbacho/scratch/ccorbacho$ python test_time.py
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "test_time.py", line 13, in run
    time.strptime("30 Nov 00", "%d %b %y")
AttributeError: _strptime_time

---
This is with Python 2.6.6. However, at work we have been seeing this very intermittently with Python 2.5 in threaded code doing time.strptime() as well (though we just get AttributeError: strptime, but I don't have any code I can provide to reproduce on 2.5), hence I'm raising the bug.
msg127839 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2011-02-04 00:27
It's a duplicate of issue7980.
One workaround is to call strptime() once in the main thread.
History
Date User Action Args
2022-04-11 14:57:12adminsetgithub: 55317
2012-01-19 07:23:42floxsetnosy: + flox
2011-02-04 00:27:14amaury.forgeotdarcsetstatus: open -> closed

nosy: + amaury.forgeotdarc
messages: + msg127839

superseder: time.strptime not thread safe
resolution: duplicate
2011-02-03 21:08:06ccorbachocreate