Open markatlnk opened 4 months ago
Seems to be a problem with calling the 64-bit overlay interface via ioctl from 32-bit userspace application. I rebuilt the symbol overlay utility for arm64, that fixes the ioctl issues in the overlay. Currently figuring out how to best to get arm64 packages distributed.
One more hint.
Here is the log level after I reboot. root@pi33:/home/mark# cat /proc/sys/kernel/printk 3 4 1 3
I am log in through wifi and ssh.
Now holding the berry button for the second I get:
root@pi33:/home/mark# Message from syslogd@pi33 at Apr 24 21:09:13 ... kernel:[ 2162.866783] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Message from syslogd@pi33 at Apr 24 21:09:13 ... kernel:[ 2162.953113] Code: cb01000e b4fffc2e eb0201df 540004a3 (a940342c)
Now when I look at the log level, I get.
root@pi33:/home/mark# cat /proc/sys/kernel/printk 15 4 1 3
It sets the log level to 15 so from that point on I get messages on the display until I set the log level back down.
I have added 64-bit arm64
builds of all the Beepy packages to the PPA repo. This fixes the symbol overlay crash we were seeing when holding Berry on 64-bit. You will probably need to purge the 32-bit armhf
packages first, then install the arm64 versions.
dmesg shows the following:
Unable to handle kernel paging request at virtual address 0011a844007cbbd0 [ 512.394701] Mem abort info: [ 512.394838] ESR = 0x0000000096000004 [ 512.394940] EC = 0x25: DABT (current EL), IL = 32 bits [ 512.395069] SET = 0, FnV = 0 [ 512.395156] EA = 0, S1PTW = 0 [ 512.395244] FSC = 0x04: level 0 translation fault [ 512.395362] Data abort info: [ 512.395444] ISV = 0, ISS = 0x00000004 [ 512.395624] CM = 0, WnR = 0 [ 512.395710] [0011a844007cbbd0] address between user and kernel address ranges [ 512.395874] Internal error: Oops: 0000000096000004 [#3] PREEMPT SMP [ 512.396015] Modules linked in: cmac algif_hash aes_arm64 aes_generic algif_skcipher af_alg bnep hci_uart btbcm bluetooth ecdh_generic ecc libaes 8021q garp stp llc vc4 brcmfmac snd_soc_hdmi_codec drm_display_helper cec brcmutil snd_soc_core cfg80211 snd_compress snd_pcm_dmaengine raspberrypi_hwmon rfkill i2c_bcm2835 bcm2835_codec(C) bcm2835_v4l2(C) bcm2835_isp(C) snd_bcm2835(C) v4l2_mem2mem bcm2835_mmal_vchiq(C) snd_pcm videobuf2_dma_contig videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common snd_timer spi_bcm2835 snd videodev mc vc_sm_cma(C) uio_pdrv_genirq uio beepy_kbd(O) sharp_drm(O) drm_dma_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops i2c_dev drm fuse drm_panel_orientation_quirks backlight ip_tables x_tables ipv6 [ 512.410059] CPU: 0 PID: 707 Comm: symbol-overlay Tainted: G D C O 6.1.21-v8+ #1642 [ 512.410089] Hardware name: Raspberry Pi Zero 2 W Rev 1.0 (DT) [ 512.410098] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 512.410114] pc : memcpy+0x110/0x230 [ 512.410139] lr : kmemdup+0x58/0x70 [ 512.410157] sp : ffffffc008b6bb80 [ 512.424705] x29: ffffffc008b6bb80 x28: ffffffc008b6bd18 x27: 0000000000000004 [ 512.424739] x26: ffffff8006ffea00 x25: ffffff8004f12a00 x24: 0011a844007cbbd0 [ 512.424761] x23: 0000000000000000 x22: 00000000ffffff6c x21: 0011a844007cbbd0 [ 512.431503] x20: 000000000000e740 x19: ffffff8007bc0000 x18: 0000000000000000 [ 512.431532] x17: 0000000000000000 x16: ffffffe98d68aab8 x15: 00000000ffe9a804 [ 512.431554] x14: ffee573c073f4430 x13: 0000000000000000 x12: ffffffe98e91cb10 [ 512.431577] x11: ffffffe98e91cae0 x10: fffffffe001ef408 x9 : ffffffe98d6f7208 [ 512.431599] x8 : 0000000000000068 x7 : ffffffc008b6c000 x6 : ffffffc008b68000 [ 512.431621] x5 : ffffff8007bce740 x4 : 0011a844007da310 x3 : ffffffe98e759000 [ 512.431643] x2 : 000000000000e740 x1 : 0011a844007cbbd0 x0 : ffffff8007bc0000 [ 512.431667] Call trace: [ 512.431674] memcpy+0x110/0x230 [ 512.431695] drm_add_overlay+0x68/0xb4 [sharp_drm] [ 512.431736] sharp_memory_ioctl_ov_add+0x30/0x50 [sharp_drm] [ 512.431770] drm_ioctl_kernel+0xc8/0x180 [drm] [ 512.432213] drm_ioctl+0x210/0x418 [drm] [ 512.432558] drm_compat_ioctl+0xec/0x100 [drm] [ 512.432910] __arm64_compat_sys_ioctl+0x168/0x180 [ 512.432932] invoke_syscall+0x4c/0x110 [ 512.432952] el0_svc_common.constprop.3+0xfc/0x120 [ 512.432971] do_el0_svc_compat+0x24/0x48 [ 512.432989] el0_svc_compat+0x30/0x88 [ 512.433007] el0t_32_sync_handler+0xe4/0x100 [ 512.433025] el0t_32_sync+0x190/0x194 [ 512.433047] Code: cb01000e b4fffc2e eb0201df 540004a3 (a940342c) [ 512.433058] ---[ end trace 0000000000000000 ]--- root@pi33:/home/mark#