Repository navigation
[Bug] stability_digest_payload_from_ce_payload fails with AttributeError: 'dict' object has no attribute 'split' #260
Description
Activity
Hi @itartisan . Thanks for reporting this issue! We've received your issue and will provide updates as soon as we have them.
- added and removed
on Mar 16, 2026 Unable to reproduce. MRE
Does this issue still occur for you?
Closing as issue is stale with no ability to reproduce.
If you have this issue at any point in the future, feel free to open a fresh issue!
@CorieW same here, got this today and last week, it's a daily event, right? emulator is not reproductive
AttributeError: 'dict' object has no attribute 'split'
at .get_precision_timestamp ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/util.py:396 )
at .timestamp_conversion ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/util.py:413 )
at .stability_digest_payload_from_ce_payload ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/_alerts_fn.py:126 )
at .firebase_alert_data_from_ce ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/_alerts_fn.py:165 )
at .event_from_ce_helper ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/_alerts_fn.py:199 )
at .crashlytics_event_from_ce ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/private/_alerts_fn.py:233 )
at .crashlytics_decorator_wrapped ( /layers/google.python.pip/pip/lib/python3.12/site-packages/firebase_functions/alerts/crashlytics_fn.py:296 )
at .view_func ( /layers/google.python.pip/pip/lib/python3.12/site-packages/functions_framework/init.py:188 )
at .wrapper ( /layers/google.python.pip/pip/lib/python3.12/site-packages/functions_framework/execution_id.py:157 )
at .dispatch_request ( /layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py:902 )
at .full_dispatch_request ( /layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py:917 )
at .full_dispatch_request ( /layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py:919 )
at .wsgi_app ( /layers/google.python.pip/pip/lib/python3.12/site-packages/flask/app.py:1511 )
@brunogabriel thanks for notifying me of this.
What version of firebase-functions are you using?
0.5 and 0.4, maybe buff sent data in different format, but I'll try on my side to do different, is there another way?
Bug Description
When using @crashlytics_fn.on_stability_digest_published(), the function fails with an AttributeError because digestDate is received as a dictionary (Firebase Timestamp object) instead of a string, but the SDK attempts to call .split() on it.
Error Message
AttributeError: 'dict' object has no attribute 'split'
Full Stack Trace
Exception on / [POST]
Traceback (most recent call last):
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/functions_framework/execution_id.py", line 157, in wrapper
result = view_function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/functions_framework/init.py", line 188, in view_func
function(event)
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/alerts/crashlytics_fn.py", line 293, in crashlytics_decorator_wrapped
func(crashlytics_event_from_ce(raw))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/_alerts_fn.py", line 243, in crashlytics_event_from_ce
return event_from_ce_helper(raw, CrashlyticsEvent)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/_alerts_fn.py", line 209, in event_from_ce_helper
"data": firebase_alert_data_from_ce(event_dict),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/_alerts_fn.py", line 175, in firebase_alert_data_from_ce
alert_payload = stability_digest_payload_from_ce_payload(alert_payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/_alerts_fn.py", line 136, in stability_digest_payload_from_ce_payload
digest_date=_util.timestamp_conversion(payload["digestDate"]),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/util.py", line 407, in timestamp_conversion
precision_timestamp = get_precision_timestamp(time)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/layers/google.python.pip/pip/lib/python3.11/site-packages/firebase_functions/private/util.py", line 391, in get_precision_timestamp
_, s_fraction = time.split(".")
^^^^^^^^^^
AttributeError: 'dict' object has no attribute 'split'
Environment
firebase-functions version: 0.5.0 (also happens in 0.4.x)
firebase-admin version:7.1.0
Python version: 3.11
Deployment environment: Google Cloud Functions (2nd gen)