﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
19456	SimpleLazyObject raises RuntimeError if __class__  accessed while tracing execution	rouyrre+django@…	nobody	"I found the issue while trying to profile a django application with pycallgraph. The issue is referenced there: https://github.com/gak/pycallgraph/issues/92

The issue is reproduced with the following code:


{{{
import sys
from django.utils.functional import SimpleLazyObject

def tracer(frame, event, arg):
    frame.f_locals['self'].__class__

sys.settrace(tracer)
SimpleLazyObject(lambda x: x)
sys.settrace(None)
}}}

I wrote a failing test in tests/regressiontests/utils/functional.py. The issue is solved by defining _wrapped=None in the LazyObject class in django/utils/functional.py and this does not seems to break anything, all tests still pass.

Do you prefer one commit for test + fix as it's a small issue or separate commits? Is the test written in the right place?

I can make a pull request once this ticket is created (as the commit guidelines specify I need a ticket number in the first place to commit & reference my code). Thanks for any comment about the issue or how to proceed.
"	Bug	closed	Utilities	dev	Normal	fixed			Ready for checkin	1	0	0	0	0	0
