Фатальная ошибка Python: объект GC уже отслеживается при вызовах конструктора SETPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Фатальная ошибка Python: объект GC уже отслеживается при вызовах конструктора SET

Сообщение Anonymous »

Я имею следующую функцию Python2 в большом проекте Python-Cython (печатные операторы, добавленные для отладки): < /p>

Код: Выделить всё

import gc
def e_closure (startstate):
"""Return all states reachable from startstates on epsilon transitions.
"""
print('eclos1', startstate)
print(len(gc.get_objects()))
sys.stdout.flush()
work   = [startstate]
set()
print('eclos2')
print(len(gc.get_objects()))
sys.stdout.flush()
result = set()
print('eclos3')
sys.stdout.flush()
while work:
s = work.pop()
result.add(s)
for n in s.get_transitions(state.EPSILON):
if n not in result:
work.append(n)
x = sorted(result, key=lambda s: s.name)
return x
Это сбоя с ошибкой Fatal Python Error: GC объект уже отслеживается , когда set () Constructor вызывается. Это тоже не первый вызов, а вместо этого точно на 10 -м вызове. Если я добавлю дополнительный set () вызов в предыдущих строках, он там сбои. Но это не сбоя, если я добавляю dict () или list () вызовы.

Код: Выделить всё

('eclos1', start)
6961
eclos2
6962
eclos3
('eclos1', d0)
6962
eclos2
6963
eclos3
('eclos1', d2)
6963
eclos2
6964
eclos3
('eclos1', d3)
6964
eclos2
6965
eclos3
('eclos1', d4)
6965
eclos2
6966
eclos3
('eclos1', d1)
6966
eclos2
6967
eclos3
('eclos1', c0)
6967
eclos2
6968
eclos3
('eclos1', c2)
6968
eclos2
6969
eclos3
('eclos1', c3)
6969
eclos2
6970
eclos3
('eclos1', c4)
6970
Во всей этой функции только get_transitions является функцией цинтона. Кроме того, он работал раньше и вызывает проблемы только после цитонизации. Но я не могу понять, в чем проблема и как ее отладить.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... onstructor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»