I have a program that reads from a usb cdc device (/dev/ttyACM0). It's basically a serial port. It runs fine anywhere else, but when run in Omega2 or Omega2+, it dies with the message:

do_page_fault(): sending SIGSEGV to nowd for invalid read access from 7faae0000,0,0,0,0,0,0,0,
[ 228.111736] epc = 0040106b in0,0,0,0,0,0,0,0, nowd[400000+2000]0,0,0,0,0,0,0,0,
[ 228.119167] ra = 00401079 in0,0,0,0,0,0,0,0, nowd[400000+2000]0,0,0,0,0,0,0,0,

(nowd) is my program.

Google do_page_fault() and SIGSEV results in a lot of hits. They all point to Omega2, LEDE, kernel 4.1.x. People have reported it happening to dnsmasq, fast-gpio, etc., some said it was fixed but no one pointed out what the problem was.

There was a similar thread that hinted DEVMEM not being configured in the kernel. So I built a LEDE firmware with DEVMEM and DEVKMEM enabled. No joy.

Can someone from Onion team shed a light on this issue?