Permalink
Browse files

Don't modify the breakpoints list in-place

The breakpoints list is used internally by bdb, and adding "fake" set_trace
breakpoints to it leads to an inconsistent state inside of bdb where two lists
of breakpoints are not equal to one another, causing it to crash.  Since
set_trace "breakpoints" are not real breakpoints, there is no need for bdb to
know about them.
  • Loading branch information...
1 parent 7eebc04 commit b979fc5909c8d731eb907fc25f4e97904fb7cbbd @asmeurer asmeurer committed Jan 7, 2015
Showing with 1 addition and 1 deletion.
  1. +1 −1 pudb/debugger.py
View
@@ -505,7 +505,7 @@ def get_lines(self, debugger_ui):
if self.file_name == "<string>":
return [SourceLine(self, self.file_name)]
- breakpoints = debugger_ui.debugger.get_file_breaks(self.file_name)
+ breakpoints = debugger_ui.debugger.get_file_breaks(self.file_name)[:]
breakpoints += [i for f, i in debugger_ui.debugger.set_traces if f
== self.file_name and debugger_ui.debugger.set_traces[f, i]]
try:

0 comments on commit b979fc5

Please sign in to comment.