这两年半每每我成长一点或者大模型成长一点,我都会回看当时我怎么都无法定位 root cause 的 issue 今天终于借助 gemini 3 定位到了
(有一半是我这些时候不断的探索和学习的 context) 脱离 viztracer 的最小复现。 Google 还是大爷。
import torch._ops
class VulnerablePacket(torch._ops.OpOverloadPacket):
def __init__(self):
try:
print(f"Accessing __qualname__: {self.__qualname__}")
except AttributeError:
print("Caught expected AttributeError for __qualname__")
except RecursionError:
print("Caught RecursionError!")
raise
def dummy(): pass
super().__init__("aten::dummy", "dummy", dummy, [])
try:
v = VulnerablePacket()
except RecursionError:
print("\nSUCCESS: RecursionError reproduced using inheritance!")
except Exception as e:
print(f"\nFAILED: Caught {type(e).__name__}: {e}")
https://github.com/gaogaotiantian/viztracer/issues/338
(有一半是我这些时候不断的探索和学习的 context) 脱离 viztracer 的最小复现。 Google 还是大爷。
import torch._ops
class VulnerablePacket(torch._ops.OpOverloadPacket):
def __init__(self):
try:
print(f"Accessing __qualname__: {self.__qualname__}")
except AttributeError:
print("Caught expected AttributeError for __qualname__")
except RecursionError:
print("Caught RecursionError!")
raise
def dummy(): pass
super().__init__("aten::dummy", "dummy", dummy, [])
try:
v = VulnerablePacket()
except RecursionError:
print("\nSUCCESS: RecursionError reproduced using inheritance!")
except Exception as e:
print(f"\nFAILED: Caught {type(e).__name__}: {e}")
https://github.com/gaogaotiantian/viztracer/issues/338