some extra v2-transport debug logging

This commit is contained in:
Eric 2024-06-26 11:28:24 -07:00
parent de85edbce6
commit 93b1de30af
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
6 changed files with 86 additions and 55 deletions

88
.efrocachemap generated
View File

@ -4038,50 +4038,50 @@
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "dc369671ed8cf359dc975fb374228e72",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "e68906c43196a9d1155a4123011100b0",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "c8d9ff095234fed4a7fd53c38b32d373",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "f74e32bce84c8adec701f73d95ab4aa0",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "3469fce4b1822fbaac3259e4f4093813",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "102e124c031cd2fbb0d8f07b011a6570",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "aa9c9d30698c6e4ffe6cf2ea6b8abccf",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "e851caab7095c8fb4e86371a07fe1ef3",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "1e7d3dd4ee831e1b4fef02dac2cdf2c0",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "c6f5942cd35a6f209d22a304475ecc94",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "5dcc548316208f72622bd8bbdd2a766e",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "39d8555b9519033ff29619cd5753b1ae",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "83be5f800c1b705bb14df420547dd6ec",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "ccc1fd541825bf5a0efadef750e915ee",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "2e33f242beb0d9b586ca5af2e1e5f41c",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "37f2931b93009be12f2d0d4b4009324c",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "c8a99fc6e23280073703e707507a35d3",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "5d48cdcb174073091faafbd8d24fd909",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "afe045e68caca489e2573b60580c42e3",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "b769836453e5e027b1608e7da7d3dad7",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "c471e06d03862e91a2a949806803efbd",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "4f7b8eed54eb4c7d2b6400aaa4dfa37c",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "c471e06d03862e91a2a949806803efbd",
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "4f7b8eed54eb4c7d2b6400aaa4dfa37c",
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "ec5f39fe33f753cace45ecda7b78e376",
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "5ca18c2abecb1b369ddd7ff43880baa0",
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "ec5f39fe33f753cace45ecda7b78e376",
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "5ca18c2abecb1b369ddd7ff43880baa0",
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "789b8d5e80d66c74af1ff0b978301704",
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "4fa185d99e799027b324704de3925aca",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "789b8d5e80d66c74af1ff0b978301704",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "4fa185d99e799027b324704de3925aca",
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "3b9db190dc436e7bfd4521b94d9b5974",
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "cd5c91eecddb1da4e8204e3496466a07",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "9adc2dc1c5c3cdc1ca6fc98fc76644c5",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "cd5c91eecddb1da4e8204e3496466a07",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "f129bbdc61d24d31cea6105b6cf45461",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "289d0bc2a5e77eef85b681967c0b8988",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "58f826bab8e8cde386a92426f68acd4a",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "d1f4ce60d3f02ea0e6ae4397ea7d08f6",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "b05c5926eda50c9c31452824da8544cd",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "5cb7beea136bd1aa9873e8b3397f52e2",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "4071322052a81a5f4ed13bf51523829b",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "e4db16386e09a1bbf3103919a2e653af",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "d9afde0c1cc61b1fa27aed723afd9ede",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "42fc71b128260196094cc517deba76db",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "764f0b4661e0c92d5c376356f5fa8825",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "a6ae3a8df85d6b245a944164c437471b",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "b5a068b26fc52668bbb4f79eba5c047d",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "b3636e3fb8e268ced15daa2a2256ee44",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "d5b503fe1aa2681724581e02ea049f73",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "d465f04ba2c8fa98624db8cf38e9177e",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "d0b8c22e04f83f712b0033b427282eea",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "03e09fdffcbcb6a0ea967e81c3b0c7c9",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "932a3acd7abd13074eebfc03e0e7d56c",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "bbe5aa04abb57add770af26fc101d488",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "3c33079f35aff14e62117f30f297b2c5",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "36567f3012c97261d54ddff9d682e4da",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "5c30ad4693e19c3f4261711e38b6b5a5",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "ec40d7abbe4d0ad4cc35667fb9685784",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "cb685b901201a75b094c1f5ac655155c",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "0d2c6f859dc14ee5eb5267e06128e090",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "df7849c6f6bee1c20ce74cb46fa591b2",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "069841aea1eb622b693c98eed7482a35",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "f231b10895bdcb542de87b887ca181fd",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "ae936a119668ede7b36f38c8672f4bf8",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "f231b10895bdcb542de87b887ca181fd",
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "ae936a119668ede7b36f38c8672f4bf8",
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "419b7edff05748a74370f29945bca90c",
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "1e75c6c1f0b0aae130bacfb8b65507cc",
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "419b7edff05748a74370f29945bca90c",
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "1e75c6c1f0b0aae130bacfb8b65507cc",
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "d965aa38a18627966633308f5a4e61b9",
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "5d12b05022f064c2aaf096c466da687c",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "d965aa38a18627966633308f5a4e61b9",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "5d12b05022f064c2aaf096c466da687c",
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "ff5b18144bf249558517bff7c97dc84f",
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "efffc4f330e77530accd9a9f82840a6c",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "c20363fe2af3d54e666b1c8ee67f6b76",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "efffc4f330e77530accd9a9f82840a6c",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "a75854a744d9f2abe9027fe03ea4d458",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "4581a1ce0934b7b3ea5bf8a46823a761",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "99ee35add584cbdeead0d845a637ad18",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "83ec9375d7c1bc790cc3e784488960b0",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "7838f2899be0eedeb352a9f31bd9f860",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "c27c37020a0c0b29792435f05a8c19b6",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "40326b4848a648ece17d2f2f50e2cc27",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "281f67c8179e1f5d7fd1445ed4069699",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "5548f407d97e380069f6c596c4e36cd7",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "efa61468cf098f77cc6a234461d8b86d",

View File

@ -1,4 +1,4 @@
### 1.7.36 (build 21894, api 8, 2024-06-22)
### 1.7.36 (build 21895, api 8, 2024-06-26)
### 1.7.35 (build 21889, api 8, 2024-06-20)
- Fixed an issue where the engine would block at exit on some version of Linux

View File

@ -2,11 +2,11 @@ cpplint==1.6.1
dmgbuild==1.6.1
filelock==3.15.4
furo==2024.5.6
mypy==1.10.0
pbxproj==4.1.0
pdoc==14.5.0
mypy==1.10.1
pbxproj==4.2.0
pdoc==14.5.1
pur==7.3.2
pylint==3.2.3
pylint==3.2.4
pylsp-mypy==0.6.8
pytest==8.2.2
python-daemon==3.0.1

View File

@ -52,7 +52,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
TARGET_BALLISTICA_BUILD = 21894
TARGET_BALLISTICA_BUILD = 21895
TARGET_BALLISTICA_VERSION = '1.7.36'

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica {
// These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 21894;
const int kEngineBuildNumber = 21895;
const char* kEngineVersion = "1.7.36";
const int kEngineApiVersion = 8;

View File

@ -399,8 +399,8 @@ class DeadlockWatcher:
Use the enable_deadlock_watchers() to enable this system.
Next, create these in contexts where they will be torn down after
some operation completes. If any is not torn down within the
Next, use these wrapped in a with statement around some operation
that may deadlock. If the with statement does not complete within the
timeout period, a traceback of all threads will be dumped.
Note that the checker thread runs a cycle every ~5 seconds, so
@ -442,10 +442,39 @@ class DeadlockWatcher:
if curthread.ident is None
else hex(curthread.ident).removeprefix('0x')
)
self.active = False
with cls.watchers_lock:
cls.watchers.append(weakref.ref(self))
# Support the with statement.
def __enter__(self) -> Any:
self.active = True
return self
def __exit__(self, exc_type: Any, exc_value: Any, exc_tb: Any) -> None:
self.active = False
# Print if we lived past our deadline. This is just an extra
# data point. The watcher thread should be doing the actual
# stack dumps/etc.
if self.logger is None or self.logextra is None:
return
duration = time.monotonic() - self.create_time
if duration > self.timeout:
self.logger.error(
'DeadlockWatcher %s at %s in thread %s lived %.2fs,'
' past timeout %.2fs. This should have triggered'
' a deadlock dump.',
id(self),
self.caller_source_loc,
self.thread_id,
duration,
self.timeout,
extra=self.logextra,
)
@classmethod
def enable_deadlock_watchers(cls) -> None:
"""Spins up deadlock-watcher functionality.
@ -486,7 +515,7 @@ class DeadlockWatcher:
found_fresh_expired = False
# If any watcher is still alive but expired, sleep past the
# If any watcher is still active and expired, sleep past the
# timeout to force the dumper to do its thing.
with cls.watchers_lock:
@ -496,14 +525,16 @@ class DeadlockWatcher:
w is not None
and now - w.create_time > w.timeout
and not w.noted_expire
and w.active
):
# If they supplied a logger, let them know they
# should check stderr for a dump.
if w.logger is not None:
w.logger.error(
'DeadlockWatcher at %s in thread %s'
'DeadlockWatcher %s at %s in thread %s'
' with time %.2f expired;'
' check stderr for stack traces.',
id(w),
w.caller_source_loc,
w.thread_id,
w.timeout,