Opened 7 years ago
Closed 6 years ago
#20851 closed defect (wontfix)
Potential infinite loop in src/sage/categories/coercion_methods.pyx
Reported by: | jdemeyer | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |
Component: | categories | Keywords: | |
Cc: | nthiery | Merged in: | |
Authors: | Reviewers: | Jeroen Demeyer | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
This code from src/sage/categories/coercion_methods.pyx
looks like a potential infinite loop:
if have_same_parent_c(self, right) and hasattr(self, "_add_"): return self._add_(right) return coercion_model.bin_op(self, right, operator.add)
The hasattr(self, "_add_")
clause is bad: if there is no _add_
, the coercion model will just call __add__
, which calls the coercion model, which calls __add__
...
Solution: remove the hasattr(self, "_add_")
.
Hopefully the whole module coercion_methods.pyx
can be removed in #20767 and then the problem will disappear by itself.
Change History (3)
comment:1 Changed 7 years ago by
Milestone: | sage-7.3 → sage-duplicate/invalid/wontfix |
---|---|
Reviewers: | → Jeroen Demeyer |
Status: | new → needs_review |
comment:2 Changed 7 years ago by
Status: | needs_review → positive_review |
---|
comment:3 Changed 6 years ago by
Resolution: | → wontfix |
---|---|
Status: | positive_review → closed |
Determined to be invalid/duplicate/wontfix (closing as "wontfix" as a catch-all resolution).
Note: See
TracTickets for help on using
tickets.
Fixed by #20767.