Hi Jan,

here is the result of this patch.
I patched in addition to Philippe's patches.

Regards

Mathias
---------
Intel(R) PRO/1000 Network Driver - version 7.3.15-k2
Copyright (c) 1999-2006 Intel Corporation.
ACPI: PCI Interrupt 0000:05:00.0[A] -> GSI 16 (level, low) -> IRQ 16
e1000: 0000:05:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 
00:30:48:5a:f9:0a
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
BUG: unable to handle kernel NULL pointer dereference at virtual address 
00000000
 printing eip:
dfedd3ca
*pde = 00000000
Oops: 0000 [#1]
SMP
Modules linked in: e1000
CPU:    0
EIP:    0060:[<dfedd3ca>]    Not tainted VLI
EFLAGS: 00010082   (2.6.20.4 #7)
EIP is at 0xdfedd3ca
eax: c0112478   ebx: 00000001   ecx: c0114581   edx: df06c001
esi: dfedf6c0   edi: dfedc240   ebp: 00000000   esp: df06ddf8
ds: 007b   es: 007b   ss: 0068
Process ifconfig (pid: 1242, ti=df06c000 task=c16f9030 task.ti=df06c000)
Stack: 00000040 ffffffff 00000000 00000007 c03e6f00 000000ec 00000000 c03d9180
       c010f1b5 c015291a decbe080 00000680 decbe080 00000724 c02d6dfd 00007600
       00000001 00000060 e099a210 00000286 ffffff24 df7065c8 00000000 0000000f
Call Trace:
 [<c010f1b5>] __ipipe_handle_irq+0x26b/0x2bd
 [<c015291a>] __kmalloc+0x82/0x8d
 [<c02d6dfd>] __alloc_skb+0x4f/0xf8
 [<e099a210>] e1000_set_multi+0x111/0x189 [e1000]
 [<c01035b9>] common_interrupt+0x21/0x38
 [<e099a0ff>] e1000_set_multi+0x0/0x189 [e1000]
 [<e099a210>] e1000_set_multi+0x111/0x189 [e1000]
 [<c02dd211>] __dev_mc_upload+0x1d/0x1e
 [<c02dd331>] dev_mc_upload+0x24/0x37
 [<c02db83c>] dev_open+0x44/0x62
 [<c02da309>] dev_change_flags+0x47/0xe4
 [<c030d422>] devinet_ioctl+0x252/0x56f
 [<c02db41a>] dev_ifsioc+0x113/0x38d
 [<c02d1834>] sock_ioctl+0x0/0x1ad
 [<c02d19c2>] sock_ioctl+0x18e/0x1ad
 [<c02d1834>] sock_ioctl+0x0/0x1ad
 [<c015e41b>] do_ioctl+0x1f/0x62
 [<c015e6a2>] vfs_ioctl+0x244/0x256
 [<c015e6e7>] sys_ioctl+0x33/0x4c
 [<c01029f3>] sysenter_past_esp+0x6c/0x70
 =======================
Code: 00 00 00 00 00 01 00 00 00 00 90 ed df 04 03 02 01 6b ec fe ff 00 00 00 
00 00 00 00 00 00 00 00 00 c0 d3 ed df c0 d3 ed df 00 42 <c9> de 00 db ed df d0 
d3 ed df d0 d3 ed df 00 00 00 00 1a 00 00
EIP: [<dfedd3ca>] 0xdfedd3ca SS:ESP 0068:df06ddf8
 <0>Kernel panic - not syncing: Fatal exception in interrupt
 BUG: at arch/i386/kernel/smp.c:565 smp_call_function()
 [<c010ba83>] smp_call_function+0x66/0x10a
 [<c0119046>] printk+0x62/0xd5
 [<c010bb42>] smp_send_stop+0x1b/0x2b
 [<c01185e1>] panic+0x4d/0xe4
 [<c01040f1>] die+0x1f2/0x226
 [<c01118b0>] do_page_fault+0x447/0x517
 [<c010f84f>] __ipipe_handle_exception+0xce/0x158
 [<c03335fd>] error_code+0x81/0x90
 [<c0114581>] try_to_wake_up+0x33c/0x346
 [<c0112478>] __activate_task+0x1c/0x29
 [<c010f1b5>] __ipipe_handle_irq+0x26b/0x2bd
 [<c015291a>] __kmalloc+0x82/0x8d
 [<c02d6dfd>] __alloc_skb+0x4f/0xf8
 [<e099a210>] e1000_set_multi+0x111/0x189 [e1000]
 [<c01035b9>] common_interrupt+0x21/0x38
 [<e099a0ff>] e1000_set_multi+0x0/0x189 [e1000]
 [<e099a210>] e1000_set_multi+0x111/0x189 [e1000]
 [<c02dd211>] __dev_mc_upload+0x1d/0x1e
 [<c02dd331>] dev_mc_upload+0x24/0x37
 [<c02db83c>] dev_open+0x44/0x62
 [<c02da309>] dev_change_flags+0x47/0xe4
 [<c030d422>] devinet_ioctl+0x252/0x56f
 [<c02db41a>] dev_ifsioc+0x113/0x38d
 [<c02d1834>] sock_ioctl+0x0/0x1ad
 [<c02d19c2>] sock_ioctl+0x18e/0x1ad
 [<c02d1834>] sock_ioctl+0x0/0x1ad
 [<c015e41b>] do_ioctl+0x1f/0x62
 [<c015e6a2>] vfs_ioctl+0x244/0x256
 [<c015e6e7>] sys_ioctl+0x33/0x4c
 [<c01029f3>] sysenter_past_esp+0x6c/0x70
 =======================
 

----- Original Nachricht ----
Von:     Jan Kiszka <[EMAIL PROTECTED]>
An:      "M. Koehrer" <[EMAIL PROTECTED]>
Datum:   02.05.2007 10:39
Betreff: Re: [Xenomai-help] Xenomai and MSI enabled crashes kernel

> M. Koehrer wrote:
> > Hi Philippe,
> > 
> > I have applied the patches as proposed.
> > However, the kernel still freezes.
> 
> :(
> 
> > Here is the corresponding message.
> > 
> 
> OK, here is another instrumentation, hoping that the bug will not move
> again and that we can nail down what piece of memory contains nonsense.
> 
> The next step would then be to narrow down the corruption window (or to
> find the reason for filling in nonsense during initialisation).
> 
> Jan
> 
> 
> Index: linux-2.6.20/arch/i386/kernel/ipipe.c
> ===================================================================
> --- linux-2.6.20.orig/arch/i386/kernel/ipipe.c
> +++ linux-2.6.20/arch/i386/kernel/ipipe.c
> @@ -782,6 +782,13 @@ int __ipipe_handle_irq(struct pt_regs re
>  
>       head = __ipipe_pipeline.next;
>       next_domain = list_entry(head, struct ipipe_domain, p_link);
> +     if (irq==219) {
> +             ipipe_set_printk_sync(next_domain);
> +             printk("%s:%d\n", __FUNCTION__, __LINE__);
> +             printk("%s:%d %lx %p %p\n", __FUNCTION__, __LINE__,
> +                     ipipe_root.irqs[irq].control, 
> ipipe_root.irqs[irq].acknowledge,
> +                     ipipe_root.irqs[irq].handler);
> +     }
>       if (likely(test_bit(IPIPE_WIRED_FLAG, &next_domain->irqs[irq].control)))
> {
>               if (!m_ack && next_domain->irqs[irq].acknowledge != NULL)
>                       next_domain->irqs[irq].acknowledge(irq);
> @@ -865,6 +872,10 @@ finalize:
>        * current domain in the pipeline.
>        */
>  
> +     if (irq==219)
> +             printk("%s:%d %lx %p %p\n", __FUNCTION__, __LINE__,
> +                     ipipe_root.irqs[irq].control, 
> ipipe_root.irqs[irq].acknowledge,
> +                     ipipe_root.irqs[irq].handler);
>       __ipipe_walk_pipeline(head, cpuid);
>  
>       ipipe_load_cpuid();
> Index: linux-2.6.20/kernel/ipipe/core.c
> ===================================================================
> --- linux-2.6.20.orig/kernel/ipipe/core.c
> +++ linux-2.6.20/kernel/ipipe/core.c
> @@ -791,6 +791,11 @@ void fastcall __ipipe_sync_stage(unsigne
>                       rank = __ipipe_ffnz(submask);
>                       irq = (level << IPIPE_IRQ_ISHIFT) + rank;
>  
> +                     if (irq==219)
> +                             printk("%s:%d %lx %p %p\n", __FUNCTION__, 
> __LINE__,
> +                                     ipipe_root.irqs[irq].control,
> +                                     ipipe_root.irqs[irq].acknowledge,
> +                                     ipipe_root.irqs[irq].handler);
>                       if (test_bit(IPIPE_LOCK_FLAG, &ipd->irqs[irq].control)) 
> {
>                               __clear_bit(rank, 
> &cpudata->irq_pending_lo[level]);
>                               continue;
> @@ -807,6 +812,8 @@ void fastcall __ipipe_sync_stage(unsigne
>                       if (ipd == ipipe_root_domain)
>                               trace_hardirqs_off();
>  
> +                     if (irq==219)
> +                             printk("%s:%d\n", __FUNCTION__, __LINE__);
>                       __ipipe_run_isr(ipd, irq, cpuid);
>  #ifdef CONFIG_SMP
>                       {
> 
> 
> 

-- 
Mathias Koehrer
[EMAIL PROTECTED]


50€ AMAZON-Einkaufsgutschein bei Bestellung von Arcor-DSL:
Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig
und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer,
nur  39,85 €  inkl. DSL- und ISDN-Grundgebühr!
http://www.arcor.de/rd/emf-dsl-2

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to