Welcome to the most active Linux Forum on the web.
Go Back > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.


  Search this Thread
Old 10-16-2012, 09:30 PM   #1
LQ Newbie
Registered: Mar 2012
Posts: 21

Rep: Reputation: Disabled
Kernel oops - Driver pointer and swap memory

I have an ARM9 design running Qt. My application randmoly quits with the kernel error posted below. The error happens randomly, sometimes within 10 minutes, sometimes after six hours.

Unable to handle kernel paging request at virtual address 4544ec64
pgd = c0428000
[4544ec64] *pgd=23ac8031, *pte=22e9c34d, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT
Modules linked in: atmel_pwm_bl backlight touchDriver mymodule owl
CPU: 0 Not tainted (2.6.30-ts-armv5l #241)
PC is at memcpy+0xa4/0x330
LR is at 0x0
pc : [<c0c1b984>] lr : [<00000000>] psr: 00000013
sp : c3acdf0c ip : 0000000c fp : 4544ef9c
r10: 00000000 r9 : c3acc000 r8 : 00000000
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : c2a2fba0
r3 : 00000000 r2 : fffffff4 r1 : bf05d4ac r0 : 4544ec64
Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005317f Table: 20428000 DAC: 00000015
Process webkit_qt (pid: 2168, stack limit = 0xc3acc268)
Stack: (0xc3acdf0c to 0xc3ace000)
df00: bf05d468 4544ec64 00000014 c3859ce0 4544ec64
df20: c2a2fba0 bf05c820 c2a2f920 c0b5b960 4544ef9c 00000000 c3859ce0 c0b15024
df40: c3acdf40 c3acdf40 00000014 c2a2fba0 4544ec64 c3acdf80 00000014 c0b5ab4c
df60: c2a2fba0 4544ec64 00000014 c2a2fba0 4544ec64 00000000 00000000 c0b5ac10
df80: 00000000 00000000 00000014 00000001 0005fb20 0002a888 0002aa54 00000003
dfa0: c0ae7f68 c0ae7dc0 0005fb20 0002a888 00000013 4544ec64 00000014 00000002
dfc0: 0005fb20 0002a888 0002aa54 00000003 00000013 bea4ca90 00000000 4544ef9c
dfe0: 00000000 4544ec58 41e499ec 41e4a1f4 80000010 00000013 00000000 00000000
Code: e1a00000 e1a00000 e4803004 e4804004 (e4805004)
---[ end trace e962b516cdd6e3da ]---
I have an encoder driver. A thread in my application makes a blocking read call from the driver. The application sends a pointer to the driver. When the encoder turns, the driver populates the pointer, and returns.

Is it possible that the thread passes the pointer to the driver, and while the driver is blocking, the thread gets written to swap, leaving the pointer invalid? The problem has to exist in a driver, correct? The only other driver calls I make in the application are to /dev/tty* serial ports.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
getting kernel OOPS in SPI driver rbhsrh Linux - Kernel 2 05-10-2012 12:51 AM
get the actual hardware memory address of kernel oops edman007 Linux - General 0 02-24-2005 11:26 PM
Oops: Unable to handle kernel NULL pointer dereference at virtual address with mysqld GoranTornqvist Fedora 2 12-09-2004 12:30 PM
Oops: Unable to handle kernel NULL pointer dereference at virtual address GoranTornqvist Linux - General 1 12-09-2004 11:58 AM
Kernel OOPS "Unable to handle kernel NULL pointer dereference" tkwsn Linux - General 3 06-30-2004 09:38 AM > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 02:31 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration