Merge remote-tracking branch 'origin/master-MC1.7.10' into master-MC1.12

This commit is contained in:
Adrian Siekierka 2025-01-05 19:01:56 +01:00
commit 83ecb60ae5
4 changed files with 23 additions and 10 deletions

View File

@ -5,7 +5,7 @@ forge.version=14.23.5.2860
mod.name=OpenComputers mod.name=OpenComputers
mod.group=li.cil.oc mod.group=li.cil.oc
mod.version=1.8.6-snapshot mod.version=1.8.7-snapshot
ae2.version=rv6-stable-7 ae2.version=rv6-stable-7
buildcraft.version=7.99.24.8 buildcraft.version=7.99.24.8

View File

@ -1,8 +1,17 @@
## Fixes/improvements ## Fixes/improvements
* [#3731] Fix string.format() omission in OpenOS package.lua. * [#3703] Fix potential packet memory leak.
* [#3735] Fix server hangs on long-lasting HTTP requests. * [#3726] Fix missing tooltip on Power Converter.
* [#3729] Fix potential crash when opening the manual.
* Added a configuration option for network packet TTL. (Timothé GRISOT)
* Improved mod load times on certain platforms. (charagarland)
* Updated Chinese translation. (HfSr)
* Updated Unifont to 16.0.02.
## OpenOS fixes/improvements
* [#3727] Fix an exception handler bug in process.lua, uncovered by fixing recursive xpcall() handling in 1.8.4.
## List of contributors ## List of contributors
asie, REUSS-dev asie, charagarland, HfSr, Timothé GRISOT

View File

@ -1,7 +1,7 @@
-- called from /init.lua -- called from /init.lua
local raw_loadfile = ... local raw_loadfile = ...
_G._OSVERSION = "OpenOS 1.8.6" _G._OSVERSION = "OpenOS 1.8.7"
-- luacheck: globals component computer unicode _OSVERSION -- luacheck: globals component computer unicode _OSVERSION
local component = component local component = component

View File

@ -68,15 +68,19 @@ function process.load(path, env, init, name)
if type(msg) == "table" and msg.reason == "terminated" then if type(msg) == "table" and msg.reason == "terminated" then
return msg.code or 0 return msg.code or 0
end end
local stack = debug.traceback():gsub("^([^\n]*\n)[^\n]*\n[^\n]*\n","%1") return debug.traceback()
io.stderr:write(string.format("%s:\n%s", msg or "", stack))
return 128 -- syserr
end, ...) end, ...)
} }
--result[1] is false if the exception handler also crashed
if not result[1] and type(result[2]) ~= "number" then if not result[1] and type(result[2]) ~= "number" then
io.stderr:write("process library exception handler crashed: ", tostring(result[2])) -- run exception handler
xpcall(function()
local stack = result[2]:gsub("^([^\n]*\n)[^\n]*\n[^\n]*\n","%1")
io.stderr:write(string.format("%s:\n%s", msg or "", stack))
end,
function(msg)
io.stderr:write("process library exception handler crashed: ", tostring(msg))
end)
end end
-- onError opens a file, you can't open a file without a process, we close the process last -- onError opens a file, you can't open a file without a process, we close the process last