Closed alexgg closed 2 years ago
[alexgg] This issue has attached support thread https://jel.ly.fish/c7b7fa69-6338-4458-ab56-685e4e0feb5d
@robertgzr that crashing line looks strange to begin with: https://github.com/balena-os/balena-engine/blame/47b47a653a44d228d70baa99469b0c36c547889c/pkg/ioutils/concat.go#L68
[nghiant2710] This issue has attached support thread https://jel.ly.fish/72ba67af-9091-4074-a489-861b8735230d
Detected twice, 2.80.8+rev2 (raspberry-pi) and 2.51.1+rev1(fincm3). So even though this is an engine crash it does not seem a regression but maybe a peculiarity of the delta data - also noteworthy both are ARM 32bits RPI devices.
[alexgg] This issue has attached support thread https://jel.ly.fish/002624d2-3d0b-4ea1-969a-6657519351e9
[klutchell] This issue has attached support thread https://jel.ly.fish/88aadc7a-408c-44f7-8564-f18de52129a5
[lmbarros] This issue has attached support thread https://jel.ly.fish/842063d6-c080-43f6-b53d-afef4c8d1626
I think the problem is here. With a 32-bit platform and a large enough delta, (self.aSize - self.off)
will not fit into a (32-bit) int
. (Fix might not be that straightforward, because go slices are indexed with int
s and limited in size to whatever fits in an int
for the particular platform.)
Description
When applying an application update on a RPI0 under heavy load (CPU utilization between 85% and 100%) the engine crashes with:
Steps to reproduce the issue:
Describe the results you received: The engine is restarted, the update needs to start from scratch so it either takes forever to complete or never does.
Describe the results you expected: There is no panic and the update suceeds.
Additional information you deem important (e.g. issue happens only occasionally): See https://jel.ly.fish/c7b7fa69-6338-4458-ab56-685e4e0feb5d
Output of
balena-engine version
:Output of
balena-engine info
:Additional environment details (device type, OS, etc.):