Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

At random times (usually when watching a movie in XBMC), the computer locks up. I can still sometimes SSH in and get the 'dmesg' output before that locks up too. A hard reboot is usually required to get things going again. I have cut out the date/time/server columns for easier reading, please do ask if these seem relevant omissions...

System: Ubuntu 11.04 (2.6.38-8-server) x64 X11 installed with IceWm (and XBMC) Core 2 Duo E8400 @ 3.00GHz 8 GB RAM Asus P5Q premium motherboard Primary harddrive: OCZ Vertex 2 60 GB (SSD) Other harddrives: various 750GB, 1TB, 1.5TB & 2TB (WD & samsung)

Any important information I am not supplying is purely a sign of my incompetence in these matters, so please do ask and excuse me for my inabilities...

 invalid opcode: 0000 [#1] SMP
 last sysfs file: /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map
 CPU 0
 Modules linked in: parport_pc ppdev vesafb snd_hda_codec_analog tuner_simple tuner_types wm8775 tda9887 tda8290 tea5767 tuner cx25840 ir_lirc_codec lirc_dev snd_hda_intel snd_hda_codec snd_hwdep snd_pcm ir_sony_decoder snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq rc_rc6_mce ivtv ir_jvc_decoder cx2341x i2c_algo_bit v4l2_common mceusb videodev ir_rc6_decoder ir_rc5_decoder snd_timer ir_nec_decoder nvidia(P) btusb bluetooth rc_core v4l2_compat_ioctl32 tveeprom snd_seq_device pata_marvell psmouse shpchp serio_raw snd asus_atk0110 soundcore snd_page_alloc lp parport firewire_ohci firewire_core crc_itu_t r8169 sky2 ahci libahci

 Pid: 4597, comm: xbmc.bin Tainted: P            2.6.38-8-server #42-Ubuntu System manufacturer P5Q Premium/P5Q Premium
 RIP: 0010:[<ffffffff8119bc4a>]  [<ffffffff8119bc4a>] do_mpage_readpage+0x9a/0x510
 RSP: 0018:ffff88021f5a59d8  EFLAGS: 00210246
 RAX: 0000000000000020 RBX: ffff88021f5a5ac8 RCX: 0000000000000000
 RDX: 0000000000000001 RSI: 0000000015e36fe0 RDI: 0000000000000000
 RBP: ffff88021f5a5a98 R08: ffff88021f5a5ac8 R09: ffff88021f5a5b38
 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
 R13: 000000000000b148 R14: 0000000000000001 R15: ffff8802067034b8
 FS:  00007f3f34eb1700(0000) GS:ffff8800cfc00000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00007feb8d515000 CR3: 000000021d744000 CR4: 00000000000406f0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
 Process xbmc.bin (pid: 4597, threadinfo ffff88021f5a4000, task ffff88021f63db80)
 Stack:
  ffff88021f5a5a28 ffffffff8116019d ffff88021f5a5b40 0000002000000003
  ffff88021f5a5b38 ffff880206703370 ffffea0006d800f8 0000000000000000
  ffffea0006d800f8 0000000c811270b5 ffff88021f5a5a68 ffffffff8110bdba
 Call Trace:
  [<ffffffff8116019d>] ? mem_cgroup_cache_charge+0xed/0x130
  [<ffffffff8110bdba>] ? add_to_page_cache_locked+0xea/0x160
  [<ffffffff8119c232>] mpage_readpages+0x102/0x150
  [<ffffffff812063e0>] ? ext4_get_block+0x0/0x20
  [<ffffffff812063e0>] ? ext4_get_block+0x0/0x20
  [<ffffffff81149475>] ? alloc_pages_current+0xa5/0x110
  [<ffffffff8120157d>] ext4_readpages+0x1d/0x20
  [<ffffffff81116a9b>] __do_page_cache_readahead+0x14b/0x220
  [<ffffffff81116ed1>] ra_submit+0x21/0x30
  [<ffffffff81116ff5>] ondemand_readahead+0x115/0x230
  [<ffffffff811171a0>] page_cache_async_readahead+0x90/0xc0
  [<ffffffff8110b184>] ? file_read_actor+0xd4/0x170
  [<ffffffff812de72e>] ? radix_tree_lookup_slot+0xe/0x10
  [<ffffffff8110c521>] do_generic_file_read.clone.23+0x271/0x450
  [<ffffffff8110d1ba>] generic_file_aio_read+0x1ca/0x240
  [<ffffffff8100a82e>] ? __switch_to+0x20e/0x2f0
  [<ffffffff81164c82>] do_sync_read+0xd2/0x110
  [<ffffffff8108b61c>] ? hrtimer_try_to_cancel+0x4c/0xe0
  [<ffffffff81279083>] ? security_file_permission+0x93/0xb0
  [<ffffffff81164fa1>] ? rw_verify_area+0x61/0xf0
  [<ffffffff81165463>] vfs_read+0xc3/0x180
  [<ffffffff81165571>] sys_read+0x51/0x90
  [<ffffffff8100bfc2>] system_call_fastpath+0x16/0x1b
 Code: ff ff 48 c7 85 78 ff ff ff 00 00 00 00 49 d3 ee b9 0c 00 00 00 2b 4d 8c 48 8b b2 c8 00 00 00 ba 01 00 00 00 41 0f af c6 49 d3 e5 <0f> 36 4d 8c 4c 01 e8 d3 e2 4c 8d 44 16 ff 48 8b 53 20 49 d3 f8
 RIP  [<ffffffff8119bc4a>] do_mpage_readpage+0x9a/0x510
  RSP <ffff88021f5a59d8>
 ---[ end trace ac6cd2f4692205a3 ]---

Please note that the error is ALWAYS occuring at do_mpage_readpage+0x9a/0x510 with the same numbers after it. I've tried to come up with the possible meaning of these, but couldn't get any further.
I've also noticed that the top block from the call trace is always the following with the exact same numbers:

  [<ffffffff8116019d>] ? mem_cgroup_cache_charge+0xed/0x130
  [<ffffffff8110bdba>] ? add_to_page_cache_locked+0xea/0x160
  [<ffffffff8119c232>] mpage_readpages+0x102/0x150
  [<ffffffff812063e0>] ? ext4_get_block+0x0/0x20
  [<ffffffff812063e0>] ? ext4_get_block+0x0/0x20

Could this indicate a hard drive issue, a RAM issue or something else entirely?

share|improve this question
    
On an unrelated side-note: Sweet media server you got there! –  con-f-use Jun 27 '11 at 21:12
    
@con-f-use Thank, but it would be even sweeter if it didn't crash on me :) –  Mr47 Jun 28 '11 at 10:02
    
I also have had this error, invalid opcode 0000, on 10.04 with 2.6.38 backported kernel. Memory and hard drive tested good, so I think it's a bug in the kernel, perhaps an incompatibility with ext3? –  NoBugs Nov 26 '11 at 2:28

2 Answers 2

Have you reported this bug to xbmc?

The "Invalid Opcode" is a cpu exception that normally should result in xbmc crashing out. Why its taking out the whole system is a little strange.

A CPU exception is thrown when a process tries to do something it shouldn't be doing. In this case, the memory location that the process is trying to execute (Virtual Address is indicated by those numbers you couldn't decipher) contains an invalid instruction (e.g. 0x0000) or more likely, something is trying to execute an invalid (non-code) section of memory (probably a bad function pointer somewhere). CPU's throw exceptions all the time, (for example divide by zero is a standard exception that the OS catches) and exceptions are usually either handled by the OS (either by killing the process or by dealing with the problem) or ignored. The following two facts indicate it is probably a bug somewhere along the line and not a hardware fault.

  • Its consistent in terms of the error it throws and the same (Virtual - I presume) memory location
  • Its reproducible

Hardware faults usually are much more sporadic then this, or are associated with specific hardware (like a crash every-time you access USB)

If you used windows before, CPU exceptions (as well as other exceptions that couldn't be resolved) usually result in the infamous "Program performed an illegal operation" message.

share|improve this answer
1  
First of, I appreciate your effort to help me. I haven't reported this bug to XBMC, because it also happened to me at the command line, while executing apt-get. Is it possible to determine what underlying module might have caused the error? –  Mr47 Jun 28 '11 at 10:02
up vote 0 down vote accepted

I finally managed to get my machine running without the constant crashing. Turns out I don't get the errors anymore when I turn off the power management options in the BIOS.
After disabling C1E, Intel SpeedStep and Intel C-State tech the machine hasn't crashed in over two months.
Thank you for your help!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.