Xray-core icon indicating copy to clipboard operation
Xray-core copied to clipboard

XRay 经常崩溃

Open 7ith1um opened this issue 3 years ago • 4 comments

在配置未做改动的情况下,XRay 开始出现崩溃现象。 每次崩溃的日志都一样,只是 slice bounds out of range [1158:0] 中的数字有所不同。

Sep 05 11:30:42 xray[824]: panic: runtime error: slice bounds out of range [1158:0]
Sep 05 11:30:42 xray[824]: goroutine 1328675 [running]:
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.(*Buffer).Read(...)
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/buffer.go:253
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.SplitBytes({0xc000ca8568, 0x1, 0x1}, {0xc000418486?, 0xc0005e7650?, 0xc001728148?})
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/multi_buffer.go:105 +0x290
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.(*BufferedReader).Read(0xc0005e7830, {0xc000418486?, 0xc0006e4ba0?, 0x0?})
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/reader.go:68 +0x92
Sep 05 11:30:42 xray[824]: io.ReadAtLeast({0x555a5f4302a0, 0xc0005e7830}, {0xc000418000, 0x4e2, 0x2000}, 0x4e2)
Sep 05 11:30:42 xray[824]:         io/io.go:332 +0x9a
Sep 05 11:30:42 xray[824]: io.ReadFull(...)
Sep 05 11:30:42 xray[824]:         io/io.go:351
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.(*Buffer).ReadFullFrom(0xc0006e4ba0?, {0x555a5f4302a0?, 0xc0005e7830?}, 0x2?)
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/buffer.go:276 +0x85
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/proxy/vless/encoding.(*LengthPacketReader).ReadMultiBuffer(0xc0006e4b70)
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/proxy/vless/encoding/addons.go:180 +0x205
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.copyInternal({0x555a5f4310a0, 0xc0006e4b70}, {0x555a5f42f5e0, 0xc001467820}, 0xc0007c7458)
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/copy.go:81 +0x69
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/buf.Copy({0x555a5f4310a0, 0xc0006e4b70}, {0x555a5f42f5e0, 0xc001467820}, {0xc0004fcf20, 0x1, 0xbe?})
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/buf/copy.go:104 +0xa5
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/proxy/vless/inbound.(*Handler).Process.func4()
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/proxy/vless/inbound/inbound.go:514 +0x1f9
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/task.OnSuccess.func1()
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/task/task.go:12 +0x25
Sep 05 11:30:42 xray[824]: github.com/xtls/xray-core/common/task.Run.func1(0xc001c791a0?)
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/task/task.go:28 +0x2e
Sep 05 11:30:42 xray[824]: created by github.com/xtls/xray-core/common/task.Run
Sep 05 11:30:42 xray[824]:         github.com/xtls/xray-core/common/task/task.go:27 +0xde
Sep 05 11:30:43 systemd[1]: xray.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Sep 05 11:30:43 systemd[1]: xray.service: Failed with result 'exit-code'.
Aug 12 15:05:36 xray[1043]: panic: runtime error: slice bounds out of range [2:0]
Aug 14 14:43:42 xray[6002]: panic: runtime error: slice bounds out of range [28:0]
Aug 17 00:20:41 xray[329]: panic: runtime error: slice bounds out of range [28:0]
Aug 21 10:31:19 xray[330]: panic: runtime error: slice bounds out of range [2:0]
Aug 23 13:07:48 xray[329]: panic: runtime error: slice bounds out of range [2:0]
Aug 24 13:47:00 xray[4918]: panic: runtime error: slice bounds out of range [2:0]
Aug 25 13:37:57 xray[330]: panic: runtime error: slice bounds out of range [2:0]
Aug 27 21:54:06 xray[329]: panic: runtime error: slice bounds out of range [28:0]
Aug 30 17:20:19 xray[329]: panic: runtime error: slice bounds out of range [2:0]
Sep 04 08:36:39 xray[324]: panic: runtime error: slice bounds out of range [28:0]
Sep 04 14:10:43 xray[330]: panic: runtime error: slice bounds out of range [2:0]
Sep 05 11:30:42 xray[824]: panic: runtime error: slice bounds out of range [1158:0]

7ith1um avatar Sep 05 '22 07:09 7ith1um

减少 bufferSize

xqzr avatar Sep 05 '22 10:09 xqzr

我此前并未设置 bufferSize, 现尝试将 bufferSize 设为 256. 这是由于服务端内存不足导致的吗? 我是否应该考虑为服务器设置 swap?

7ith1um avatar Sep 05 '22 12:09 7ith1um

可能是 buffer 多线程的问题 贴一下配置看看?

yuhan6665 avatar Sep 06 '22 02:09 yuhan6665

配置如下

log:
  loglevel: warning

api:
  tag: api
  services:
    - HandlerService
    - LoggerService
    - StatsService

inbounds:
  - tag: api
    port: 8080
    listen: 127.0.0.1
    protocol: dokodemo-door
    settings:
      address: 127.0.0.1

stats: {}
policy:
  system:
    statsInboundUplink: true
    statsInboundDownlink: true
    statsOutboundUplink: true
    statsOutboundDownlink: true
  levels:
    0:
      statsUserUplink: true
      statsUserDownlink: true
      bufferSize: 128
inbounds:
  - tag: tcp-xtls-vless-inbound
    port: 443
    protocol: vless
    settings:
      decryption: none
      clients:
        - id: <uuid>
          flow: xtls-rprx-direct
      fallbacks:
        - dest: /run/nginx-h2.sock
          alpn: h2
          xver: 1
        - dest: /run/nginx.sock
          xver: 1
    streamSettings:
      security: xtls
      xtlsSettings:
        alpn:
          - h2
          - http/1.1
        minVersion: '1.2'
        maxVersion: '1.3'
        certificates:
          - certificateFile: fullchain.pem
            keyFile: privkey.pem
            ocspStapling: 3600
inbounds:
  - tag: grpc-none-vless-inbound
    listen: /run/xray/grpc.sock,666
    protocol: vless
    settings:
      decryption: none
      clients:
        - id: <uuid>
    streamSettings:
      network: grpc
      grpcSettings:
        serviceName: <serviceName>
outbounds:
  - tag: blocked-outbound
    protocol: blackhole
outbounds:
  - tag: pass-outbound
    protocol: freedom
    settings:
      domainStrategy: UseIP
routing:
  domainStrategy: AsIs
  rules:
    - outboundTag: api
      inboundTag:
        - api
      type: field
    - outboundTag: blocked-outbound
      domains:
        - 'geosite:cn'
      type: field
    - outboundTag: blocked-outbound
      ip:
        - 'geoip:private'
        - 'geoip:cn'
      type: field

7ith1um avatar Sep 06 '22 11:09 7ith1um

https://github.com/XTLS/Xray-core/issues/1501#issuecomment-1375293435

RPRX avatar Jan 09 '23 09:01 RPRX