Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master-MC1.7.10' into master-MC1.12
Browse files Browse the repository at this point in the history
  • Loading branch information
asiekierka committed Jan 5, 2025
2 parents 7674327 + e8595d2 commit 83ecb60
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
2 changes: 1 addition & 1 deletion build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ forge.version=14.23.5.2860

mod.name=OpenComputers
mod.group=li.cil.oc
mod.version=1.8.6-snapshot
mod.version=1.8.7-snapshot

ae2.version=rv6-stable-7
buildcraft.version=7.99.24.8
Expand Down
15 changes: 12 additions & 3 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
## Fixes/improvements

* [#3731] Fix string.format() omission in OpenOS package.lua.
* [#3735] Fix server hangs on long-lasting HTTP requests.
* [#3703] Fix potential packet memory leak.
* [#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

asie, REUSS-dev
asie, charagarland, HfSr, Timothé GRISOT
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-- called from /init.lua
local raw_loadfile = ...

_G._OSVERSION = "OpenOS 1.8.6"
_G._OSVERSION = "OpenOS 1.8.7"

-- luacheck: globals component computer unicode _OSVERSION
local component = component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,19 @@ function process.load(path, env, init, name)
if type(msg) == "table" and msg.reason == "terminated" then
return msg.code or 0
end
local stack = debug.traceback():gsub("^([^\n]*\n)[^\n]*\n[^\n]*\n","%1")
io.stderr:write(string.format("%s:\n%s", msg or "", stack))
return 128 -- syserr
return debug.traceback()
end, ...)
}

--result[1] is false if the exception handler also crashed
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

-- onError opens a file, you can't open a file without a process, we close the process last
Expand Down

0 comments on commit 83ecb60

Please sign in to comment.