крашится скрипт

nonelike

Известный
Автор темы
72
3
Версия MoonLoader
.026-beta
в рандомный момент случается
crash:
[00:22:56.315008] (error)    test.lua: cannot resume non-suspended coroutine
stack traceback:
    [C]: in function 'receive'
    D:\Games\GTA\moonloader\lib\copas.lua:224: in function 'sock_receive'
    D:\Games\GTA\moonloader\lib\websocket\sync.lua:25: in function 'receive'
    D:\Games\GTA\moonloader\test.lua:1660: in function <D:\Games\GTA\moonloader\test.lua:1656>

code:
function main()
    lua_thread.create(refreshChat)
end

code:
function refreshChat()
    while true do
        wait(0)
        if connected then
            local message, opcode = client:receive()
            if message == nil then
                client:close()
                connected = false
            else
                processWebSocketMessage(message)
            end
        elseif not connected then
            connectToWS()
        end
    end
end

краш случается в client:receive() почему так, я уже хз, ебусь с этим какой день
 

nonelike

Известный
Автор темы
72
3
попробовал вынести содержимое в цикл который в main() нихуя не прокнуло, также краш въебало
code:
[ML] (error) test.lua: cannot resume non-suspended coroutine
stack traceback:
    [C]: in function 'receive'
    D:\Games\GTA San Andreas\moonloader\lib\copas.lua:224: in function 'sock_receive'
    D:\Games\GTA San Andreas\moonloader\lib\websocket\sync.lua:25: in function 'receive'
    D:\Games\GTA San Andreas\moonloader\test.lua:1370: in function <D:\Games\GTA San Andreas\moonloader\test.lua:1240>
[ML] (error) test.lua: Script died due to an error. (077893C4)

Код:
function main()
    while true do
        wait(0)

        gameWindowActive = isGameWindowActive()

        if connected then
            local message, opcode = client:receive()
            if message == nil then
                connected = false
                client:close()
            else
                processWebSocketMessage(message)
            end
        elseif not connected then
            connectToWS()
        end
    end
end
 

The Spark

frontend
Проверенный
785
790
copas очень противный и может вызывать проблему с корутинами. Попробуй переписать на https://www.blast.hk/threads/20532/page-3#post-256096
Если не вариант, то попробуй запускать copas в effil (по примеру из ссылки), а не lua_thread

Основная проблема именно в запросах. Может быть часто открывается или закрывается соединение? Частые евенты?
 

nonelike

Известный
Автор темы
72
3
copas очень противный и может вызывать проблему с корутинами. Попробуй переписать на https://www.blast.hk/threads/20532/page-3#post-256096
Если не вариант, то попробуй запускать copas в effil (по примеру из ссылки), а не lua_thread

Основная проблема именно в запросах. Может быть часто открывается или закрывается соединение? Частые евенты?
у меня раз в минуту идет отправление на веб сервер что вебсокет соединение живое, мб из-за этого, это именно вебсокет соединение, не http запросы