Skip to content

Commit 91fe071

Browse files
authored
fix: Dont crash on breadcrumb overflow (#70)
Fix #67
1 parent dad6c6e commit 91fe071

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

sentry_sdk/hub.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,8 @@ def add_breadcrumb(self, crumb=None, hint=None, **kwargs):
205205
scope._breadcrumbs.append(crumb)
206206
else:
207207
logger.info("before breadcrumb dropped breadcrumb (%s)", original_crumb)
208-
while len(scope._breadcrumbs) >= client.options["max_breadcrumbs"]:
209-
scope._breadcrumbs.popleft()
208+
while len(scope._breadcrumbs) > client.options["max_breadcrumbs"]:
209+
scope._breadcrumbs.pop(0)
210210

211211
def push_scope(self, callback=None):
212212
"""Pushes a new layer on the scope stack. Returns a context manager

tests/test_basics.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,20 @@ def test_push_scope_null_client(sentry_init, capture_events):
139139
capture_exception(e)
140140

141141
assert len(events) == 0
142+
143+
144+
def test_breadcrumbs_overflow(sentry_init, capture_events):
145+
sentry_init(max_breadcrumbs=10)
146+
147+
for i in range(20):
148+
add_breadcrumb(
149+
category="auth", message="Authenticated user %s" % i, level="info"
150+
)
151+
152+
events = capture_events()
153+
154+
capture_exception(ValueError())
155+
156+
event, = events
157+
158+
assert len(event["breadcrumbs"]) == 10

0 commit comments

Comments
 (0)