xxshady/altv-esbuild

Краш сервера при ребилде | Code: 3765269347

Closed this issue · 4 comments

Windows 11 24H2
Node 22.11.0 и 20.18.1
altv-esbuild 0.9.3 и 0.5.0
VC_redist_x86 14.42.34433

Шаги:

  1. Склонировал репозиторий: https://github.com/xxshady/altv-xts-boilerplate
  2. Очистил содержимое main.ts на сервере и клиенте
  3. yarn dev
  4. server-dev.bat
  5. Билдер и сервер нормально запустились
  6. Внёс изменение в server/main.ts
  7. После ребилда ресурс main запустился и сервер упал с кодом 3765269347

Логи до ребилда:

Esbuild

[altv-esbuild][plugin] [DEBUG] merged options: {
  mode: 'client',
  dev: {
    enabled: true,
    hotReload: true,
    hotReloadServerPort: 8877,
    hotReloadServerHost: '',
    playersReconnect: true,
    playersReconnectDelay: 200,
    playersReconnectResetPos: true,
    connectionCompleteEvent: true,
    disconnectEvent: true,
    restartCommand: true,
    topLevelExceptionHandling: true,
    moveExternalsOnTop: true,
    moveExternalsOnTopIgnore: [],
    enhancedRestartCommand: true,
    serverStartedEvent: true,
    clientServerInstanceValidation: false,
    baseObjectCreateEventEmulation: true
  },
  bugFixes: { webViewFlickering: true, playerPrototype: true },
  altvEnums: false,
  enhancedAltLog: false,
  altDefaultImport: true
}
[altv-esbuild][shared: client] [DEBUG] {
  pluginDistDir: 'C:/Users/midmika/Documents/xts/node_modules/.pnpm/altv-esbuild@0.9.3/node_modules/altv-esbuild/dist/'
}
[altv-esbuild][plugin] [DEBUG] merged options: {
  mode: 'server',
  dev: {
    enabled: true,
    hotReload: true,
    hotReloadServerPort: 8877,
    hotReloadServerHost: '',
    playersReconnect: true,
    playersReconnectDelay: 200,
    playersReconnectResetPos: true,
    connectionCompleteEvent: true,
    disconnectEvent: true,
    restartCommand: true,
    topLevelExceptionHandling: true,
    moveExternalsOnTop: true,
    moveExternalsOnTopIgnore: [],
    enhancedRestartCommand: true,
    serverStartedEvent: true,
    clientServerInstanceValidation: false,
    baseObjectCreateEventEmulation: true
  },
  bugFixes: { webViewFlickering: true, playerPrototype: true },
  altvEnums: false,
  enhancedAltLog: false,
  altDefaultImport: true
}
[altv-esbuild][shared: server] [DEBUG] {
  pluginDistDir: 'C:/Users/midmika/Documents/xts/node_modules/.pnpm/altv-esbuild@0.9.3/node_modules/altv-esbuild/dist/'
}
[altv-esbuild][NetServer] started listening on port: 8877
[altv-esbuild][NetServer] [DEBUG] some client connected
[altv-esbuild][client] connected to server
[altv-esbuild][NetServer] connected socket mode: client
[altv-esbuild][server] [DEBUG] onClientBuildStart
[altv-esbuild][server] [DEBUG] cache mode: client buildState: End
[altv-esbuild][server] [DEBUG] onClientBuildStart but server socket is not connected -> send it on connect
[altv-esbuild][server] [DEBUG] server buildEnd
[watch] build finished, watching for changes...
[watch] build finished, watching for changes...
[altv-esbuild][server] [DEBUG] onClientBuildEnd
[altv-esbuild][server] [DEBUG] [cacheBuildStateIfNeeded] mode: client End already cached
[altv-esbuild][server] [DEBUG] onClientBuildEnd but server socket is not connected -> send it on connect
[altv-esbuild][NetServer] [DEBUG] some client connected
[altv-esbuild][NetServer] connected socket mode: server

altv-server.exe

[03:48:37] alt:V Server 16.2.26 (release)
[03:48:37] Starting dev on [::]:7788
[03:48:37] Loading resource main
[03:48:37][js] [altv-esbuild][server] [DEBUG] _alt.getMeta(RESOURCE_RESTARTED_META_KEY): undefined
[03:48:37][js] [altv-esbuild][server] [DEBUG] set resource restarted
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: AreaBlip
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: RadiusBlip
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: PointBlip
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Vehicle
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Checkpoint
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: VoiceChannel
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCylinder
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeSphere
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCircle
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCuboid
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeRectangle
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapePolygon
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Ped
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Object
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: VirtualEntity
[03:48:37][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Marker
[03:48:37][js] [altv-esbuild][server] [DEBUG] despawnPlayers streamOutPos: Vector3 { x: 102000, y: 102000, z: 102000 }
[03:48:37][js] [altv-esbuild][server] [DEBUG] dev.hotReload: true
[03:48:37][js] [altv-esbuild][server] [DEBUG] init socketConnect
[03:48:37][js] [altv-esbuild][server] [DEBUG] control resource is not started __altv-esbuild-resource-control
[03:48:37][js] [altv-esbuild][server] [DEBUG] resolveRelativePathOfResourceControl {
  resourcesDir: 'C:/Users/midmika/Documents/xts/bin/resources/',
  pluginDistDir: 'C:/Users/midmika/Documents/xts/node_modules/.pnpm/altv-esbuild@0.9.3/node_modules/altv-esbuild/dist/'
}
[03:48:37][js] [altv-esbuild][server] [DEBUG] {
  resourceControlPath: '../../node_modules/.pnpm/altv-esbuild@0.9.3/node_modules/altv-esbuild/dist/__altv-esbuild-resource-control'
}
[03:48:37][js] [altv-esbuild][server] [DEBUG] initClientReady
[03:48:37][js] hi from server
[03:48:37] Loaded resource main
[03:48:37] Required server permissions:
[03:48:37] Optional server permissions:
[03:48:37] Starting HTTP server on [::]:7788
[03:48:37] Main thread started (ThreadId: 21992)
[03:48:37] EntityStreamer thread started (ThreadId: 1584)
[03:48:37] SyncSend thread started (ThreadId: 24376)
[03:48:37] SyncSend thread started (ThreadId: 24636)
[03:48:37] SyncSend thread started (ThreadId: 13440)
[03:48:37] SyncReceive thread started (ThreadId: 13900)
[03:48:37] SyncSend thread started (ThreadId: 2704)
[03:48:37] SyncSend thread started (ThreadId: 24668)
[03:48:37] SyncSend thread started (ThreadId: 13152)
[03:48:37] SyncSend thread started (ThreadId: 20388)
[03:48:37] SyncReceive thread started (ThreadId: 23748)
[03:48:37] SyncSend thread started (ThreadId: 18108)
[03:48:37] SyncReceive thread started (ThreadId: 23072)
[03:48:37] NetworkWorker #1 thread started (ThreadId: 5016)
[03:48:37] SyncReceive thread started (ThreadId: 5360)
[03:48:37] Console thread started (ThreadId: 24940)
[03:48:37][Warning] Server started in debug mode
[03:48:37] Loading resource __altv-esbuild-resource-control
[03:48:37][js] [DEBUG][altv-esbuild][resource-control] resource name: main
[03:48:37][js] [DEBUG][altv-esbuild][resource-control] restart command name: res
[03:48:37][js] [DEBUG][altv-esbuild][resource-control] ready
[03:48:37] Loaded resource __altv-esbuild-resource-control
[03:48:37][Warning][js] Timer at initEnhancedRestartCommand (main:file:///C:/Users/midmika/Documents/xts/bin/resources/main/server.js:3244) was too long 83ms
[03:48:37][Warning] resourceManager.Update() took: 84 ms
[03:48:37][js] [altv-esbuild][server] [DEBUG] net socket connected, sending connect server event
[03:48:37][js] [altv-esbuild][server] [DEBUG] clientConnect

Логи после:

Esbuild

...
[watch] build started (change: "src/server/index.ts")
[altv-esbuild][server] [DEBUG] send buildStart
[altv-esbuild][server] [DEBUG] server buildEnd
[altv-esbuild][server] [DEBUG] send buildEnd
[watch] build finished
[altv-esbuild][NetServer] disconnected socket mode: serve

altv-server.exe

...
[03:49:43][js] [altv-esbuild][server] [DEBUG] [buildStart] ms: 115 mode: server
[03:49:43][js] [altv-esbuild][server] [DEBUG] [buildStart] waiting for another build: client to start...
[03:49:43][js] [altv-esbuild][server] [DEBUG] [buildEnd] received: server
[03:49:43][js] [altv-esbuild][server] [DEBUG] received not what we waiting for
[03:49:43][js] [altv-esbuild][server] [DEBUG] another build didnt started after 500ms
[03:49:43][js] [altv-esbuild][server] [DEBUG] first build: server ended -> restart
[03:49:43][js] [altv-esbuild][server] restarting resource main...
[03:49:43] Stopping resource main
[03:49:43][js] [altv-esbuild][shared] [DEBUG] resourceStop
[03:49:43][js] [altv-esbuild][server] [DEBUG] resourceStop
[03:49:43][js] [altv-esbuild][server] [DEBUG] resetting players
[03:49:43][js] [altv-esbuild][shared] [DEBUG] destroyBaseObjects count: 0
[03:49:43] Stopped resource main
[03:49:43] Loading resource main
[03:49:43][js] [altv-esbuild][server] [DEBUG] _alt.getMeta(RESOURCE_RESTARTED_META_KEY): true
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: AreaBlip
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: RadiusBlip
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: PointBlip
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Vehicle
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Checkpoint
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: VoiceChannel
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCylinder
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeSphere
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCircle
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeCuboid
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapeRectangle
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: ColshapePolygon
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Ped
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Object
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: VirtualEntity
[03:49:43][js] [altv-esbuild][server] [DEBUG] wrapped base object class: Marker
[03:49:43][js] [altv-esbuild][server] [DEBUG] initPlayersReconnect
[03:49:43][js] [altv-esbuild][server] [DEBUG] no players to reconnect
[03:49:43][js] [altv-esbuild][server] [DEBUG] despawnPlayers streamOutPos: Vector3 { x: 102000, y: 102000, z: 102000 }
[03:49:43][js] [altv-esbuild][server] [DEBUG] dev.hotReload: true
[03:49:43][js] [altv-esbuild][server] [DEBUG] init socketConnect
[03:49:43][js] [altv-esbuild][server] [DEBUG] control resource already started __altv-esbuild-resource-control
[03:49:43][js] [altv-esbuild][server] [DEBUG] initClientReady
[03:49:43][js] [altv-esbuild][server] [DEBUG] initServerStartedEvent
[03:49:43][js] [altv-esbuild][shared] [DEBUG] hooked alt event: serverStarted
[03:49:43][js] [altv-esbuild][shared] [DEBUG] hookAltEvent altOn: [Function: on]
[03:49:43][js] hi from server
 ELIFECYCLE  Command failed with exit code 3765269347.

Process finished with exit code -529697949

Same error. This appeared after I recently updated to the latest version of altv. Any updates?

unrelated to altv-esbuild

to avoid this crash until it's fixed in alt:V core you can try to remove <resource name>.resource file in .cache directory created by alt:V server in alt.on('resourceStop') handler

I have to delete the file every second because AltV recreates it, but it works. Thx

should be fixed on rc branch altmp/altv-issues#2382