3x-ui/internal/xray
MHSanaei 760f428c41 fix(xray): capture whole core crash reports instead of the first pipe chunk
LogWriter inspected each pipe chunk on its own. The Go runtime writes
"panic: " with a separate write before the message and traceback, so the
crash report was written from that first chunk alone and the panel left
7-byte core_crash_*.log files holding only "panic: ". Any ordinary log
line mentioning panic/exception/stack trace was also treated as a crash
and dropped from the panel log.

The writer now splits output into lines, starts a crash only on a line
beginning with the Go runtime's "panic: " / "fatal error: " header, keeps
everything after it, and writes one report from Flush, which
waitForCommand calls after cmd.Wait has delivered all output. The header
line becomes LastLine so GetResult shows the cause.

The report filename format "_000000000" is not a Go fractional-seconds
layout and always produced literal zeros, so reports from the same second
overwrote each other; os.CreateTemp now gives every report a unique name.
2026-10-14 15:31:09 +02:00
..
dnsconf feat(sub): let the panel set the JSON subscription DNS servers (#6485) 2026-09-13 11:51:56 +02:00
geodata chore(build): bump Go toolchain to 1.27.0 2026-08-23 21:57:03 +02:00
api.go fix(node): apply a pushed inbound's client changes in place instead of rebuilding it 2026-10-12 16:22:30 +02:00
api_e2e_test.go feat(online): use xray online-stats API for onlines and access-log-free IP limit 2026-06-11 19:42:03 +02:00
api_masque_test.go style: trim MASQUE and XDRIVE comment blocks to two lines 2026-10-11 17:00:52 +02:00
api_reverse_test.go fix(clients): keep a vless reverse client's handler across a re-add (#6558) 2026-09-15 18:00:54 +03:00
api_routing_test.go feat(xray): update xray-core to v26.10.10 and adapt panel 2026-10-11 07:55:12 +02:00
api_shadowsocks_test.go fix(xray): stop the runtime user API from crashing xray-core 2026-07-28 13:52:10 +02:00
api_test.go Repo-wide self-correcting audit: 54 verified bug fixes (#5970) 2026-07-17 00:33:06 +02:00
api_traffic_test.go fix(xray): stop the runtime user API from crashing xray-core 2026-07-28 13:52:10 +02:00
api_users_e2e_test.go fix(node): apply a pushed inbound's client changes in place instead of rebuilding it 2026-10-12 16:22:30 +02:00
api_wireguard_test.go feat(wireguard): multi-client support 2026-06-28 00:44:38 +02:00
client_traffic.go feat(tuic): implement native in-process Go TUIC v5 server (#6577) 2026-10-03 02:56:02 +02:00
config.go feat(xray): update xray-core to v26.7.11 and adapt panel 2026-07-12 00:30:47 +02:00
config_test.go refactor: focused service files, leaf subpackages, and an internal/ layout (#5167) 2026-06-10 15:19:22 +02:00
hot_diff.go fix(xray): apply shadowsocks client changes in place instead of rebuilding 2026-10-14 14:16:48 +02:00
hot_diff_drops_users_test.go fix(xray): hot-apply Hysteria client changes without replacing the inbound (#6606) 2026-09-26 22:03:43 +02:00
hot_diff_test.go fix(xray): apply shadowsocks client changes in place instead of rebuilding 2026-10-14 14:16:48 +02:00
inbound.go refactor: focused service files, leaf subpackages, and an internal/ layout (#5167) 2026-06-10 15:19:22 +02:00
inbound_test.go refactor: focused service files, leaf subpackages, and an internal/ layout (#5167) 2026-06-10 15:19:22 +02:00
kernel_tun_linux.go fix(xray): fall back to the userspace TUN where kernel TUN cannot be set up 2026-10-12 17:52:45 +02:00
kernel_tun_other.go fix(xray): fall back to the userspace TUN where kernel TUN cannot be set up 2026-10-12 17:52:45 +02:00
log_writer.go fix(xray): capture whole core crash reports instead of the first pipe chunk 2026-10-14 15:31:09 +02:00
log_writer_race_test.go fix(xray): capture whole core crash reports instead of the first pipe chunk 2026-10-14 15:31:09 +02:00
mutation_audit_test.go fix(xray): capture whole core crash reports instead of the first pipe chunk 2026-10-14 15:31:09 +02:00
online_test.go feat(inbounds): improve multi-node online attribution (#6164) 2026-08-15 17:40:35 +02:00
outbound_validation_test.go feat(xray): update xray-core to v26.9.30 and adapt panel 2026-10-02 13:54:39 +02:00
pia_wireguard_outbound_test.go feat(pia): add PIA login-and-add WireGuard outbounds (#6272) 2026-08-22 23:11:06 +02:00
process.go fix(xray): capture whole core crash reports instead of the first pipe chunk 2026-10-14 15:31:09 +02:00
process_other.go refactor: focused service files, leaf subpackages, and an internal/ layout (#5167) 2026-06-10 15:19:22 +02:00
process_persist_test.go Write config.json after a hot apply (#6686) 2026-10-03 01:23:25 +02:00
process_race_test.go Repo-wide self-correcting audit: 54 verified bug fixes (#5970) 2026-07-17 00:33:06 +02:00
process_test.go style: adopt golangci-lint v2 and resolve all findings 2026-06-27 15:42:22 +02:00
process_version_test.go fix(xray): synchronize lifecycle state (#6138) 2026-07-29 21:00:29 +02:00
process_windows.go style: adopt golangci-lint v2 and resolve all findings 2026-06-27 15:42:22 +02:00
shadowsocks2022.go fix(inbounds): refuse 2022-blake3-chacha20-poly1305 on shadowsocks inbounds 2026-10-11 21:20:07 +02:00
traffic.go docs(api): align OpenAPI with runtime contracts (#6409) 2026-09-04 15:23:41 +02:00