Skip to content

Error handling old datetimes (ADA_LOVELACE_BIRTHDAY) #115

@ronpandolfi

Description

@ronpandolfi

I'm receiving the following error. Qt is able to recover from this normally, however (as a side effect) this causes a hard crash in certain debugging modes.

 Traceback (most recent call last):
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_live\event.py", line 514, in _invoke_callback
    cb(event)
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_widgets\qt\_search_input.py", line 207, in on_since_model_changed
    qdatetime = as_qdatetime(event.date)
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_widgets\qt\_search_input.py", line 22, in as_qdatetime
    int(secs_since_epoch(datetime) - datetime.utcoffset() / timedelta(seconds=1))
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\dateutil\tz\tz.py", line 222, in utcoffset
    if self._isdst(dt):
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\dateutil\tz\tz.py", line 291, in _isdst
    dstval = self._naive_is_dst(dt)
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\dateutil\tz\tz.py", line 260, in _naive_is_dst
    return time.localtime(timestamp + time.timezone).tm_isdst
 OSError: [Errno 22] Invalid argument
 
The above exception was the direct cause of the following exception:

 Traceback (most recent call last):
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_widgets\qt\_search_input.py", line 253, in on_toggle_all
    self.model.since = ADA_LOVELACE_BIRTHDAY
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_widgets\models\search.py", line 349, in since
    self.events.since(date=since)
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_live\event.py", line 499, in __call__
    self._invoke_callback(cb, event)
   File "C:\Users\LBL\.virtualenvs\xi-cam\lib\site-packages\bluesky_live\event.py", line 522, in _invoke_callback
    raise CallbackException(message) from err
 bluesky_live.event.CallbackException: Encountered exception while processing Event <Event blocked=False handled=False native=None source=<SearchInput {}> sources=[<SearchInput {}>] type=since> from <SearchInput {}> with callback <bound method QtSearchInput.on_since_model_changed of <bluesky_widgets.qt._search_input.QtSearchInput object at 0x0000021EAC3B1670>>

I've confirmed that datetime.utcoffset() is failing because timestamp is a negative value. Is ADA_LOVELACE_BIRTHDAY too far back? Here is a glimpse at the contents of the datetime var:
image

@ihumphrey

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions