golden hour
/lib64/python2.7/Tools/scripts
⬆️ Go Up
Upload
File/Folder
Size
Actions
analyze_dxp.py
4.11 KB
Del
OK
analyze_dxp.pyc
4.64 KB
Del
OK
analyze_dxp.pyo
4.64 KB
Del
OK
byext.py
3.85 KB
Del
OK
byext.pyc
4.42 KB
Del
OK
byext.pyo
4.42 KB
Del
OK
byteyears.py
1.6 KB
Del
OK
byteyears.pyc
1.37 KB
Del
OK
byteyears.pyo
1.37 KB
Del
OK
checkappend.py
4.55 KB
Del
OK
checkappend.pyc
4.77 KB
Del
OK
checkappend.pyo
4.77 KB
Del
OK
checkpyc.py
1.96 KB
Del
OK
checkpyc.pyc
1.93 KB
Del
OK
checkpyc.pyo
1.93 KB
Del
OK
classfix.py
5.81 KB
Del
OK
classfix.pyc
4.09 KB
Del
OK
classfix.pyo
4.09 KB
Del
OK
cleanfuture.py
8.38 KB
Del
OK
cleanfuture.pyc
7.22 KB
Del
OK
cleanfuture.pyo
7.19 KB
Del
OK
combinerefs.py
4.28 KB
Del
OK
combinerefs.pyc
4.16 KB
Del
OK
combinerefs.pyo
4.12 KB
Del
OK
copytime.py
664 B
Del
OK
copytime.pyc
937 B
Del
OK
copytime.pyo
937 B
Del
OK
crlf.py
611 B
Del
OK
crlf.pyc
855 B
Del
OK
crlf.pyo
855 B
Del
OK
cvsfiles.py
1.75 KB
Del
OK
cvsfiles.pyc
2.11 KB
Del
OK
cvsfiles.pyo
2.11 KB
Del
OK
db2pickle.py
3.49 KB
Del
OK
db2pickle.pyc
3.42 KB
Del
OK
db2pickle.pyo
3.42 KB
Del
OK
diff.py
1.98 KB
Del
OK
diff.pyc
2.29 KB
Del
OK
diff.pyo
2.29 KB
Del
OK
dutree.py
1.58 KB
Del
OK
dutree.pyc
2.18 KB
Del
OK
dutree.pyo
2.18 KB
Del
OK
eptags.py
1.45 KB
Del
OK
eptags.pyc
1.83 KB
Del
OK
eptags.pyo
1.83 KB
Del
OK
find_recursionlimit.py
3.39 KB
Del
OK
find_recursionlimit.pyc
5.54 KB
Del
OK
find_recursionlimit.pyo
5.54 KB
Del
OK
finddiv.py
2.46 KB
Del
OK
finddiv.pyc
3.22 KB
Del
OK
finddiv.pyo
3.22 KB
Del
OK
findlinksto.py
1.04 KB
Del
OK
findlinksto.pyc
1.39 KB
Del
OK
findlinksto.pyo
1.39 KB
Del
OK
findnocoding.py
2.64 KB
Del
OK
findnocoding.pyc
3.03 KB
Del
OK
findnocoding.pyo
3.03 KB
Del
OK
fixcid.py
9.75 KB
Del
OK
fixcid.pyc
7.67 KB
Del
OK
fixcid.pyo
7.67 KB
Del
OK
fixdiv.py
13.57 KB
Del
OK
fixdiv.pyc
13.7 KB
Del
OK
fixdiv.pyo
13.62 KB
Del
OK
fixheader.py
1.16 KB
Del
OK
fixheader.pyc
1.44 KB
Del
OK
fixheader.pyo
1.44 KB
Del
OK
fixnotice.py
2.98 KB
Del
OK
fixnotice.pyc
3.42 KB
Del
OK
fixnotice.pyo
3.42 KB
Del
OK
fixps.py
894 B
Del
OK
fixps.pyc
969 B
Del
OK
fixps.pyo
969 B
Del
OK
ftpmirror.py
12.55 KB
Del
OK
ftpmirror.pyc
10.81 KB
Del
OK
ftpmirror.pyo
10.81 KB
Del
OK
google.py
520 B
Del
OK
google.pyc
792 B
Del
OK
google.pyo
792 B
Del
OK
gprof2html.py
2.12 KB
Del
OK
gprof2html.pyc
2.22 KB
Del
OK
gprof2html.pyo
2.22 KB
Del
OK
h2py.py
5.82 KB
Del
OK
h2py.pyc
4.3 KB
Del
OK
h2py.pyo
4.3 KB
Del
OK
hotshotmain.py
1.45 KB
Del
OK
hotshotmain.pyc
1.82 KB
Del
OK
hotshotmain.pyo
1.82 KB
Del
OK
ifdef.py
3.63 KB
Del
OK
ifdef.pyc
2.21 KB
Del
OK
ifdef.pyo
2.21 KB
Del
OK
lfcr.py
619 B
Del
OK
lfcr.pyc
880 B
Del
OK
lfcr.pyo
880 B
Del
OK
linktree.py
2.37 KB
Del
OK
linktree.pyc
1.98 KB
Del
OK
linktree.pyo
1.98 KB
Del
OK
lll.py
747 B
Del
OK
lll.pyc
947 B
Del
OK
lll.pyo
947 B
Del
OK
logmerge.py
5.45 KB
Del
OK
logmerge.pyc
4.96 KB
Del
OK
logmerge.pyo
4.96 KB
Del
OK
mailerdaemon.py
7.76 KB
Del
OK
mailerdaemon.pyc
7.19 KB
Del
OK
mailerdaemon.pyo
7.19 KB
Del
OK
md5sum.py
2.33 KB
Del
OK
md5sum.pyc
2.85 KB
Del
OK
md5sum.pyo
2.85 KB
Del
OK
methfix.py
5.33 KB
Del
OK
methfix.pyc
4.03 KB
Del
OK
methfix.pyo
4.03 KB
Del
OK
mkreal.py
1.59 KB
Del
OK
mkreal.pyc
1.93 KB
Del
OK
mkreal.pyo
1.93 KB
Del
OK
ndiff.py
3.72 KB
Del
OK
ndiff.pyc
3.77 KB
Del
OK
ndiff.pyo
3.77 KB
Del
OK
nm2def.py
2.39 KB
Del
OK
nm2def.pyc
2.89 KB
Del
OK
nm2def.pyo
2.89 KB
Del
OK
objgraph.py
5.88 KB
Del
OK
objgraph.pyc
4.82 KB
Del
OK
objgraph.pyo
4.82 KB
Del
OK
parseentities.py
1.68 KB
Del
OK
parseentities.pyc
2.03 KB
Del
OK
parseentities.pyo
2.03 KB
Del
OK
patchcheck.py
5.42 KB
Del
OK
patchcheck.pyc
7.24 KB
Del
OK
patchcheck.pyo
7.24 KB
Del
OK
pathfix.py
4.23 KB
Del
OK
pathfix.pyc
3.75 KB
Del
OK
pathfix.pyo
3.75 KB
Del
OK
pdeps.py
3.84 KB
Del
OK
pdeps.pyc
3.14 KB
Del
OK
pdeps.pyo
3.14 KB
Del
OK
pickle2db.py
3.85 KB
Del
OK
pickle2db.pyc
3.73 KB
Del
OK
pickle2db.pyo
3.73 KB
Del
OK
pindent.py
16.77 KB
Del
OK
pindent.pyc
11.3 KB
Del
OK
pindent.pyo
11.3 KB
Del
OK
ptags.py
1.2 KB
Del
OK
ptags.pyc
1.37 KB
Del
OK
ptags.pyo
1.37 KB
Del
OK
pysource.py
3.76 KB
Del
OK
pysource.pyc
3.92 KB
Del
OK
pysource.pyo
3.92 KB
Del
OK
redemo.py
5.66 KB
Del
OK
redemo.pyc
5.16 KB
Del
OK
redemo.pyo
5.16 KB
Del
OK
reindent-rst.py
278 B
Del
OK
reindent-rst.pyc
481 B
Del
OK
reindent-rst.pyo
481 B
Del
OK
reindent.py
10.58 KB
Del
OK
reindent.pyc
8.77 KB
Del
OK
reindent.pyo
8.74 KB
Del
OK
rgrep.py
1.46 KB
Del
OK
rgrep.pyc
1.84 KB
Del
OK
rgrep.pyo
1.84 KB
Del
OK
serve.py
1.12 KB
Del
OK
serve.pyc
1.56 KB
Del
OK
serve.pyo
1.56 KB
Del
OK
setup.py
421 B
Del
OK
setup.pyc
548 B
Del
OK
setup.pyo
548 B
Del
OK
suff.py
622 B
Del
OK
suff.pyc
904 B
Del
OK
suff.pyo
904 B
Del
OK
svneol.py
2.86 KB
Del
OK
svneol.pyc
2.83 KB
Del
OK
svneol.pyo
2.76 KB
Del
OK
texcheck.py
9.04 KB
Del
OK
texcheck.pyc
8.18 KB
Del
OK
texcheck.pyo
8.18 KB
Del
OK
texi2html.py
68.19 KB
Del
OK
texi2html.pyc
81.37 KB
Del
OK
texi2html.pyo
81.37 KB
Del
OK
treesync.py
5.65 KB
Del
OK
treesync.pyc
5.85 KB
Del
OK
treesync.pyo
5.85 KB
Del
OK
untabify.py
1.19 KB
Del
OK
untabify.pyc
1.55 KB
Del
OK
untabify.pyo
1.55 KB
Del
OK
which.py
1.59 KB
Del
OK
which.pyc
1.59 KB
Del
OK
which.pyo
1.59 KB
Del
OK
win_add2path.py
1.58 KB
Del
OK
win_add2path.pyc
2.02 KB
Del
OK
win_add2path.pyo
2.02 KB
Del
OK
xxci.py
2.73 KB
Del
OK
xxci.pyc
3.93 KB
Del
OK
xxci.pyo
3.93 KB
Del
OK
Edit: combinerefs.pyo
� ��ic @ sT d Z d d l Z d d l Z d � Z d � Z e d k rP e e j d � n d S( sL combinerefs path A helper for analyzing PYTHONDUMPREFS output. When the PYTHONDUMPREFS envar is set in a debug build, at Python shutdown time Py_Finalize() prints the list of all live objects twice: first it prints the repr() of each object while the interpreter is still fully intact. After cleaning up everything it can, it prints all remaining live objects again, but the second time just prints their addresses, refcounts, and type names (because the interpreter has been torn down, calling repr methods at this point can get into infinite loops or blow up). Save all this output into a file, then run this script passing the path to that file. The script finds both output chunks, combines them, then prints a line of output for each object still alive at the end: address refcnt typename repr address is the address of the object, in whatever format the platform C produces for a %p format code. refcnt is of the form "[" ref "]" when the object's refcount is the same in both PYTHONDUMPREFS output blocks, or "[" ref_before "->" ref_after "]" if the refcount changed. typename is object->ob_type->tp_name, extracted from the second PYTHONDUMPREFS output block. repr is repr(object), extracted from the first PYTHONDUMPREFS output block. CAUTION: If object is a container type, it may not actually contain all the objects shown in the repr: the repr was captured from the first output block, and some of the containees may have been released since then. For example, it's common for the line showing the dict of interned strings to display strings that no longer exist at the end of Py_Finalize; this can be recognized (albeit painfully) because such containees don't have a line of their own. The objects are listed in allocation order, with most-recently allocated printed first, and the first object allocated printed last. Simple examples: 00857060 [14] str '__len__' The str object '__len__' is alive at shutdown time, and both PYTHONDUMPREFS output blocks said there were 14 references to it. This is probably due to C modules that intern the string "__len__" and keep a reference to it in a file static. 00857038 [46->5] tuple () 46-5 = 41 references to the empty tuple were removed by the cleanup actions between the times PYTHONDUMPREFS produced output. 00858028 [1025->1456] str '<dummy key>' The string '<dummy key>', which is used in dictobject.c to overwrite a real key that gets deleted, grew several hundred references during cleanup. It suggests that stuff did get removed from dicts by cleanup, but that the dicts themselves are staying alive for some reason. i����Nc c s9 x2 | D]* } t | j | � � | k r0 | Vq Pq Wd S( N( t boolt match( t fileitert patt whilematcht line( ( s1 /usr/lib64/python2.7/Tools/scripts/combinerefs.pyt readQ s c C s� t | � } t | � } x# t | t j d � t � D] } q4 Wt j d � } i } i } d } xk t | t j d � t � D]N } | j | � } | r� | j � \ } | | <| | <| d 7} q{ d G| GHq{ Wd } x� t | | t � D]� } | d 7} | j | � } | j � \ } } } | | k r;d G| j � GHq� n | G| | | k rZd | Gn d | | | f G| G| | GHq� W| j � d | | f GHd S( Ns ^Remaining objects:$s ([a-zA-Z\d]+) \[(\d+)\] (.*)i s ^Remaining object addresses:$i s ??? skipped:s* ??? new object created while tearing down:s [%s]s [%s->%s]s %d objects before, %d after( t filet iterR t ret compilet FalseR t groupst Truet rstript close( t fnamet ft fiR t crackt addr2rct addr2gutst beforet mt addrt aftert rct guts( ( s1 /usr/lib64/python2.7/Tools/scripts/combinerefs.pyt combineX s: "" t __main__i ( t __doc__R t sysR R t __name__t argv( ( ( s1 /usr/lib64/python2.7/Tools/scripts/combinerefs.pyt <module>F s &
Save