Spaces:
Sleeping
Sleeping
Commit ·
6194b3e
1
Parent(s): 7faa506
DIAG: env diff + delayed listener re-dump
Browse files
app.py
CHANGED
|
@@ -69,22 +69,23 @@ def _dump_env(pid):
|
|
| 69 |
print(f"DIAGENV{pid} " + " ".join(f"{k}={v}" for k, v in picks.items()))
|
| 70 |
|
| 71 |
|
| 72 |
-
def
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
)
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
ino = _fmt_ino()
|
| 87 |
import socket as sk
|
|
|
|
| 88 |
for proto in ("/proc/net/tcp", "/proc/net/tcp6"):
|
| 89 |
try:
|
| 90 |
with open(proto) as f:
|
|
@@ -97,15 +98,41 @@ def _dump():
|
|
| 97 |
af = sk.AF_INET6 if proto.endswith("6") else sk.AF_INET
|
| 98 |
ip = sk.inet_ntop(af, bytes.fromhex(ip_hex))
|
| 99 |
port = int(port_hex, 16)
|
| 100 |
-
|
| 101 |
-
print(f"DIAGL {ip}:{port} pid={owner}")
|
| 102 |
except OSError:
|
| 103 |
continue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
|
| 106 |
demo.launch(server_name="0.0.0.0", prevent_thread_lock=True)
|
| 107 |
|
| 108 |
_dump()
|
|
|
|
| 109 |
|
| 110 |
import time
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
time.sleep(3600)
|
|
|
|
| 69 |
print(f"DIAGENV{pid} " + " ".join(f"{k}={v}" for k, v in picks.items()))
|
| 70 |
|
| 71 |
|
| 72 |
+
def _dump_env_diff():
|
| 73 |
+
try:
|
| 74 |
+
e1 = open("/proc/1/environ").read().replace("\x00", "\n").splitlines()
|
| 75 |
+
e2 = open("/proc/224/environ").read().replace("\x00", "\n").splitlines()
|
| 76 |
+
d1, d2 = dict(l.split("=", 1) for l in e1 if "=" in l), dict(l.split("=", 1) for l in e2 if "=" in l)
|
| 77 |
+
only1 = sorted(set(d1) - set(d2))
|
| 78 |
+
only2 = sorted(set(d2) - set(d1))
|
| 79 |
+
print("DIAGDIFF only1=" + ",".join(only1) if only1 else "DIAGDIFF only1=none")
|
| 80 |
+
print("DIAGDIFF only2=" + ",".join(only2) if only2 else "DIAGDIFF only2=none")
|
| 81 |
+
except OSError:
|
| 82 |
+
pass
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
def _listeners():
|
| 86 |
ino = _fmt_ino()
|
| 87 |
import socket as sk
|
| 88 |
+
out = []
|
| 89 |
for proto in ("/proc/net/tcp", "/proc/net/tcp6"):
|
| 90 |
try:
|
| 91 |
with open(proto) as f:
|
|
|
|
| 98 |
af = sk.AF_INET6 if proto.endswith("6") else sk.AF_INET
|
| 99 |
ip = sk.inet_ntop(af, bytes.fromhex(ip_hex))
|
| 100 |
port = int(port_hex, 16)
|
| 101 |
+
out.append((ip, port, ino.get(p[9], "?")))
|
|
|
|
| 102 |
except OSError:
|
| 103 |
continue
|
| 104 |
+
return out
|
| 105 |
+
|
| 106 |
+
|
| 107 |
+
def _dump():
|
| 108 |
+
print("DIAGENV " + " ".join(
|
| 109 |
+
f"{k}={os.environ.get(k)}" for k in (
|
| 110 |
+
"GRADIO_SSR_MODE", "PORT", "GRADIO_SERVER_PORT",
|
| 111 |
+
"GRADIO_SERVER_NAME", "GRADIO_NODE_PATH", "SPACES_ZERO_GPU",
|
| 112 |
+
"SPACES_ZERO_DEVICE_API_URL", "ZEROGPU_V2",
|
| 113 |
+
"GRADIO_NUM_WORKERS", "NODE_PATH", "HOME",
|
| 114 |
+
)
|
| 115 |
+
))
|
| 116 |
+
print("DIAGPROC " + " | ".join(x for x in (
|
| 117 |
+
_procinfo(p) for p in ("1", "2", "224", "239", "7860")
|
| 118 |
+
) if x))
|
| 119 |
+
_dump_env("1")
|
| 120 |
+
_dump_env("224")
|
| 121 |
+
print("DIAGL " + " | ".join(f"{ip}:{port}={owner}" for ip, port, owner in _listeners()))
|
| 122 |
|
| 123 |
|
| 124 |
demo.launch(server_name="0.0.0.0", prevent_thread_lock=True)
|
| 125 |
|
| 126 |
_dump()
|
| 127 |
+
_dump_env_diff()
|
| 128 |
|
| 129 |
import time
|
| 130 |
+
time.sleep(20)
|
| 131 |
+
print("DIAGL2 " + " | ".join(
|
| 132 |
+
f"{ip}:{port}={owner}" for ip, port, owner in _listeners()
|
| 133 |
+
))
|
| 134 |
+
if os.path.exists("/proc/224"):
|
| 135 |
+
print("DIAG224 alive after 20s")
|
| 136 |
+
else:
|
| 137 |
+
print("DIAG224 EXITED")
|
| 138 |
time.sleep(3600)
|