Raspberrypi0-wifi mender_binary_delta segfaults


I’m working with mender on Yocto Dunfell using a Raspberry PI Zero W. All of the Uboot patching was successful etc. and I can do rootfs updates. I am not however able to to do delta updates as mender_binary_delta crashes with a segmentation fault when it is run by the mender client for the delta update. The 62kb update I tried went on for several hours in the GUI without terminating due to the segfaulted update module and it was only after I got suspicious and saw that there was no sd card activity did I check the logs and find that the update module had crashed.

I am using the trial version of mender on the server side. I setup mender-binary-delta-1.3.0 in my home directory on my build machine following delta-update-support Incidentally, the directions in menderhub post 1144 are out of date.

I got a couple of relevant log messages in journalctl on several different attempts. I’m just posting the juicy bits below.

Nov 28 04:02:46 raspberrypi0-wifi kernel[184]: [[0;1;39m[[0;1;31m[[0;1;39m[ 1627.319155] audit: type=1701 audit(1638072166.214:6): auid=4294967295 uid=0 gid=0 ses=4
294967295 pid=479 comm=“mender-binary-d” exe="/usr/share/mender/modules/v3/mender-binary-delta" sig=11 res=1[[0m
Nov 28 03:36:22 raspberrypi0-wifi mender[296]: time=“2021-11-28T03:36:22Z” level=error msg=“Update module terminated abnormally: signal: segmentation fault”

I have verified that the version of mender_binary_delta on the device is the same as the 1.3.0 version installed in the documentation and is the version under the arm directory for 32 bit arm. The md5sum of the broken mender_binary_delta 1.3.0 is 1d2b7a7a4df111e75d23f28d7034f18d

I tried running /usr/share/mender/modules/v3/mender_binary_delta module from the command line and it segfaulted there too. I checked with file on my build machine and the type is ELF 32 bit LSB shared object ARM as I expected. Something about the binary is not working correctly for Dunfell on raspberrypi0-wifi.

Hey @telemetrak-ck,

Raspberry PI Zero W uses an ARMv6 processor, which unfortunately is not supported by mender-binary-delta. It supports ARMv7 which is used by nearly all boards coming out these days, including Raspberry Pi Zero W 2.

I have created MEN-5251 to track this issue, but realistically I’m not sure if this will be solved, given that this processor is already quite rare and on its way out.