ipipe-arm64 kernel issue

Steve Pavao stevep at korgrd.com
Tue Dec 11 22:25:07 CET 2018

I have 2 different, basic apps that oops in a very similar way on ipipe-arm64 running on R Pi 3B.  One of them is rpm, another is my own program.

Here is the partial backtrace for the ‘rpm’ oops.  The backtrace for my other program is almost identical.  (I’ve left out interim calls to keep this email concise.)

[  124.816179] [<ffffff8008260480>] __find_get_block+0x2a0/0x400
[  124.816311] [<ffffff8008778b88>] do_page_fault+0x268/0x4e0
[  124.816320] [<ffffff8008778e6c>] do_translation_fault+0x6c/0x7c
[  124.816330] [<ffffff80080814ec>] do_mem_abort+0x54/0xc8

The BUG finally occurs at line 1279 of buffer.c:

static inline void check_irqs_on(void)
#ifdef irqs_disabled
	BUG_ON(irqs_disabled());   //  <———— here

The above BUG happens during the page fault recovery process.  (FYI, some of the calls between do_page_fault_and __find_get_block are ext4 calls.)

In both apps, the oops happens around the time of file creation on the SD card:  For rpm, it is during an install of a valid rpm package, for the other app, it occurs at the time a sqlite database is opened.  This is basic stuff that should just work.

I am looking for ideas about what could be wrong with the setup/configuration of my ipipe-arm64 system, such that some apps that read/write to the SD card are oopsing this way when doing page fault recovery.

- Steve Pavao
Korg R&D

More information about the Xenomai mailing list