Running Mandriva 2007 (2.6.17-5mdv #1 SMP kernel) with lirc-0.8.1-0.20060722.4.2mdv2007.0.i586.rpm installed, I'm having persistant Bad EIP errors when lircd terminates (normally on system shutdown or reboot). Compiling from the 0.8.1 source does not improve matters. The hardware using lirc is a Hauppauge WinTV bt878 card with Hauppauge remote.
Here's the relevant material from /var/log/messages:
Code:
kernel: BUG: unable to handle kernel paging request at virtual address f91856ba
kernel: printing eip:
kernel: f91856ba
kernel: *pde = 378de067
kernel: *pte = 00000000
kernel: Oops: 0000 [#1]
kernel: SMP
kernel: Modules linked in: snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq floppy snd_pcm_oss snd_
mixer_oss cx8800 cx88xx ivtv snd_via82xx rivatv gameport snd_ac97_codec ipv6 snd_ac97_bus snd_pcm snd_timer snd_page_alloc
snd_mpu401_uart snd_rawmidi usblp snd_seq_device snd soundcore xt_limit ipt_LOG xt_tcpudp xt_state ipt_MASQUERADE ip_conntr
ack_ftp iptable_nat ip_nat ip_conntrack nfnetlink iptable_filter ip_tables x_tables af_packet video thermal fan container b
utton battery ac ide_cd binfmt_misc cryptoloop loop aes supermount sg dm_mod cpufreq_ondemand cpufreq_conservative cpufreq_
powersave freq_table processor via_agp bt878 tvaudio bttv i2c_algo_bit btcx_risc tveeprom tuner saa7134 video_buf compat_io
ctl32 v4l2_common v4l1_compat ir_kbd_i2c ir_common videodev nvidia agpgart i2c_core evdev tsdev usb_storage usbmouse ehci_h
cd usbhid uhci_hcd usbcore ext3 jbd sd_mod sata_via libata scsi_mod
kernel: CPU: 0
kernel: EIP: 0060:[<f91856ba>] Tainted: P VLI
kernel: EFLAGS: 00210282 (2.6.17-5mdv #1)
kernel: EIP is at 0xf91856ba
kernel: eax: 00000000 ebx: f9185530 ecx: 00000000 edx: 00000000
kernel: esi: f9188100 edi: 00000000 ebp: f76d3fe4 esp: f76d3fcc
kernel: ds: 007b es: 007b ss: 0068
kernel: Process lirc_dev (pid: 2882, threadinfo=f76d2000 task=f74c6a70)
kernel: Stack: f918673b 00000000 00000000 f9185530 00000000 00000000 00000000 c0101005
kernel: f9188100 00000000 00000000 00005067 00004067
kernel: Call Trace:
kernel: <c010425d> show_stack_log_lvl+0x9d/0xd0 <c0104497> show_registers+0x1b7/0x240
kernel: <c0104652> die+0x132/0x330 <c011c5d6> do_page_fault+0x276/0x670
kernel: <c0103cc3> error_code+0x4f/0x54 <c0101005> kernel_thread_helper+0x5/0x10
kernel: Code: Bad EIP value.
kernel: EIP: [<f91856ba>] 0xf91856ba SS:ESP 0068:f76d3fcc
So, at this point, I'd welcome all recommendations. First and foremost, how to run lirc without this problem.
Second, I naturally have serious doubts about leaving a service that does this installed on one of my systems. If I shut lircd down manually, I can see a serious, lasting CPU spike. Looks to me like I'm tying the stability of the whole system to the stability of a single daemon. I'd like to know more about what a Bad EIP actually means.
Thanks!