Em Terça, 19 de Setembro de 2006 18:14, o Jan Kiszka escreveu:
> Jorge Almeida wrote:
> > Em Terça, 19 de Setembro de 2006 16:50, escreveu:
> >> Jorge Almeida wrote:
> >>> Hello to all,
> >>>
> >>> I'm testing the SOCK_RAW functionality in the rtnet framework for long
> >>> periods of time and a problem is happening.
> >>> I will try to describe it:
> >>>
> >>> I'm making tests sending 1.000.000 (one milion messages), with an
> >>> interval of 5 ms each.
> >>> After some time, more than 100.000 messages, the host were the test is
> >>> running has a strange behaviour, the program does not return but the bash
> >>> dies. I must make the login phase again to enter the host.
> >>> The messages stop of being sent (I'm monitoring the network with
> >>> ethereal).
> >>>
> >>> In the /proc i find some data about the file descriptor used by the
> >>> socket (/proc/rtai/rtdm/open_fildes)
> >>> Index Locked Device
> >>> 0 0 PACKET_RAW
> >>>
> >>> I think this is OK because the socket was never closed.
> >> Because the sender somehow died I think. But why does the console also
> >> die? That's not a typical program error. Anything on the kernel console?
> >
> > In attach follows the messages file for one session where the problem
> > happens
>
> Ok, your job (+ its shell) got OOM-killed (terminated due to lacking
> memory). Is the test program allocating some memory in a loop? Unless it
> is a kernel leak (RTnet or even lower), the OOM-killer typically (not
> always) picks The Right process...
I'm not allocating memory in the loop.
Only local variables, inside function in the loop.
>
> >
> >>> But the behaviour is strange.
> >>> My guess is that this problem is due to some kind of semaphore or any
> >>> synchronization mechanism.
> >> The guess is based on which information?
> > Because it only happens in a very high number of messages and not in a
> > small number. Maybe a variable that overflows or anything like that.
>
> dmesg tells some other story so far.
I can't get the right dmesg because it cleans at every reboot.
But the present results follows in attach.
>
> >>>
> >>> Any clues for wath is happening?
> >> Nope.
> >>
> >> If there are no signs anywhere, I would first try to run your scenario
> >> over a similar time using some vanilla RTnet version with normal packet
> >> sockets. Have you tried this before? Just to exclude that there are
> >> major stability issues.
> >
> > I've tested with SOCK_DGRAM two times, one OK the other the same problem.
> > I'm doing some more tests with SOCK_DGRAM.
>
> I think this is not related to latest changes. FWIW: that SOCK_DGRAM
> test took place over RTnet, say, 0.9.5 vanilla?
Nope. i'm using RTnet subversion.
>
> >
> >> BTW, you are on RTAI? What version, patch, gcc?
> > I'm using RTAI 3.4 test1, with gcc-4.1.0, with patch HAL IPIPE-NOTHREADS
> > 1.3-08
>
> I'm definitely no RTAI expert anymore, but the last time I tried it with
> gcc-4.1 (a few months ago) it also jumped out of the windows by just
> running the latency test for half an hour or so. I think I read on the
> RTAI list that gcc4.1 is not producing reliable RTAI code.
>
> >
> > I'm gonna try with rtai 3.4 now.
It also happens in RTAI 3.4.
I'm gonna send the messages file to the RTAI List also.
>
> I got flamed for such suggestions before, but to reduce the number of
> unknowns I would really recommend to run a similar setup over Xenomai
> (2.2.2 recommended for now due to pending FPU issues in 2.2.3). This can
> help to find out where we have to dig deeper for the problem.
>
> Jan
>
>
--
Jorge Almeida
[EMAIL PROTECTED]
DISCLAIMER: This message may contain confidential information or privileged
material and is intended only for the individual(s) named. If you are not a
named addressee and mistakenly received this message you should not copy or
otherwise disseminate it: please delete this e-mail from your system and no
tify the sender immediately. E-mail transmissions are not guaranteed to be s
ecure or error-free as information could be intercepted, corrupted, lost, de
stroyed, arrive late or incomplete or contain viruses. Therefore, the sender
does not accept liability for any errors or omissions in the contents of th
is message that arise as a result of e-mail transmissions. Please request a
hard copy version if verification is required. Critical Software, SA.
Linux version 2.6.16.27-rtai-ltt-smice ([EMAIL PROTECTED]) (gcc version 4.1.0
(SUSE Linux)) #1 Thu Aug 17 14:07:21 WEST 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001ffb0000 (usable)
BIOS-e820: 000000001ffb0000 - 000000001ffc0000 (ACPI data)
BIOS-e820: 000000001ffc0000 - 000000001fff0000 (ACPI NVS)
BIOS-e820: 000000001fff0000 - 0000000020000000 (reserved)
BIOS-e820: 00000000ff7c0000 - 0000000100000000 (reserved)
511MB LOWMEM available.
On node 0 totalpages: 130992
DMA zone: 4096 pages, LIFO batch:0
DMA32 zone: 0 pages, LIFO batch:0
Normal zone: 126896 pages, LIFO batch:31
HighMem zone: 0 pages, LIFO batch:0
DMI 2.3 present.
ACPI: RSDP (v000 ACPIAM ) @ 0x000fb470
ACPI: RSDT (v001 A M I OEMRSDT 0x10000420 MSFT 0x00000097) @ 0x1ffb0000
ACPI: FADT (v002 A M I OEMFACP 0x10000420 MSFT 0x00000097) @ 0x1ffb0200
ACPI: MADT (v001 A M I OEMAPIC 0x10000420 MSFT 0x00000097) @ 0x1ffb0390
ACPI: OEMB (v001 A M I AMI_OEM 0x10000420 MSFT 0x00000097) @ 0x1ffc0040
ACPI: DSDT (v001 A0149 A0149001 0x00000001 INTL 0x02002026) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:4 APIC version 20
WARNING: NR_CPUS limit of 1 reached. Processor ignored.
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode: Flat. Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 30000000 (gap: 20000000:df7c0000)
Built 1 zonelists
Kernel command line: root=/dev/hda1 splash=silent
LTT : ltt-base init
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c0520000 soft=c051f000
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 3001.060 MHz processor.
Using pmtmr for high-res timesource
I-pipe 1.3-08: pipeline enabled.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 511844k/523968k available (3066k kernel code, 11556k reserved, 940k
data, 188k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 6007.04 BogoMIPS (lpj=30035237)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 0000441d
00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 0000441d
00000000 00000000
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000180 0000441d
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Thermal monitoring enabled
CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 01
Checking 'hlt' instruction... OK.
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
checking if image is initramfs... it is
Freeing initrd memory: 1881k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
PCI: Using configuration type 1
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:02.5
Boot video device is 0000:01:00.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 *5 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 5 7 10 11 12 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
PCI: Bridge: 0000:00:01.0
IO window: d000-dfff
MEM window: ff500000-ff5fffff
PREFETCH window: d7f00000-f7efffff
Machine check exception polling timer started.
IA-32 Microcode Update Driver: v1.14 <[EMAIL PROTECTED]>
LTT : ltt-facilities init
audit: initializing netlink socket (disabled)
audit(1158686697.910:1): initialized
Total HugeTLB memory allocated, 0
Installing knfsd (copyright (C) 1996 [EMAIL PROTECTED]).
NTFS driver 2.1.26 [Flags: R/W].
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
LTT : ltt-facility-core init in kernel
LTT : ltt-facility-fs init in kernel
LTT : ltt-facility-fs_data init in kernel
LTT : ltt-facility-ipc init in kernel
LTT : ltt-facility-kernel_arch init in kernel
LTT : ltt-facility-kernel init in kernel
LTT : ltt-facility-memory init in kernel
LTT : ltt-facility-network init in kernel
LTT : ltt-facility-process init in kernel
LTT : ltt-facility-socket init in kernel
LTT : ltt-facility-timer init in kernel
LTT : ltt-facility-statedump init in kernel
LTT : ltt-facility-network_ip_interface init in kernel
LTT : ltt-core init as module
vga16fb: initializing
vga16fb: mapped to 0xc00a0000
Console: switching to colour frame buffer device 80x30
fb0: VGA16 VGA frame buffer device
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
ACPI: Processor [CPU1] (supports 8 throttling states)
Real Time Clock Driver v1.12ac
Non-volatile memory driver v1.2
WDT driver for the Winbond(TM) W83627HF Super I/O chip initialising.
w83627hf WDT: initialized. timeout=60 sec (nowayout=0)
Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60
seconds).
Hangcheck: Using monotonic_clock().
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
parport0: PC-style at 0x378 [PCSPP]
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SIS5513: IDE controller at PCI slot 0000:00:02.5
ACPI: PCI Interrupt 0000:00:02.5[A] -> GSI 16 (level, low) -> IRQ 169
SIS5513: chipset revision 1
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: ST380011A, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
Probing IDE interface ide1...
hda: max request size: 512KiB
hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
hda: hda1
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard as /class/input/input0
input: PC Speaker as /class/input/input1
oprofile: using NMI interrupt.
NET: Registered protocol family 2
IP route cache hash table entries: 8192 (order: 3, 32768 bytes)
TCP established hash table entries: 32768 (order: 5, 131072 bytes)
TCP bind hash table entries: 32768 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 32768 bind 32768)
TCP reno registered
TCP bic registered
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
NET: Registered protocol family 4
Using IPI Shortcut mode
ACPI wakeup devices:
PS2K PS2M UAR1 EUSB USB USB2 USB3 AC97 MC97 MAC PCI1 PCI2 PCI3 PCI4 PCI5
ACPI: (supports S0 S1 S3 S4 S5)
Freeing unused kernel memory: 188k freed
Write protecting the kernel read-only data: 480k
input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
ReiserFS: hda1: found reiserfs format "3.6" with standard journal
ReiserFS: hda1: using ordered data mode
ReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda1: checking transaction log (hda1)
ReiserFS: hda1: Using r5 hash to sort names
sis900.c: v1.08.09 Sep. 19 2005
ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 19 (level, low) -> IRQ 177
0000:00:04.0: Realtek RTL8201 PHY transceiver found at address 1.
0000:00:04.0: Using transceiver found at address 1 as default
eth0: SiS 900 PCI Fast Ethernet at 0xe400, IRQ 177, 00:11:d8:04:9a:ea.
8139too Fast Ethernet driver 0.9.27
ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 18 (level, low) -> IRQ 185
eth1: RealTek RTL8139 at 0xe08f6c00, 00:40:f4:bc:ed:31, IRQ 185
eth1: Identified 8139 chip type 'RTL-8100B/8139D'
ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 19 (level, low) -> IRQ 177
eth2: RealTek RTL8139 at 0xe08f8800, 00:40:f4:be:14:e6, IRQ 177
eth2: Identified 8139 chip type 'RTL-8100B/8139D'
ACPI: PCI Interrupt 0000:00:0c.0[A] -> GSI 16 (level, low) -> IRQ 169
eth3: RealTek RTL8139 at 0xe08fa400, 00:40:f4:bc:ec:15, IRQ 169
eth3: Identified 8139 chip type 'RTL-8100B/8139D'
comedi: Unknown symbol rt_request_srq
comedi: Unknown symbol rt_shutdown_irq
comedi: Unknown symbol rt_enable_irq
comedi: Unknown symbol rt_printk
comedi: Unknown symbol rt_pend_linux_srq
comedi: Unknown symbol rt_startup_irq
comedi: Unknown symbol rt_free_srq
comedi: Unknown symbol rt_request_irq
comedi: Unknown symbol rt_release_irq
comedi_fc: Unknown symbol comedi_buf_read_free
comedi_fc: Unknown symbol comedi_buf_write_alloc
comedi_fc: Unknown symbol rt_printk
comedi_fc: Unknown symbol comedi_event
comedi_fc: Unknown symbol comedi_buf_write_free
comedi_fc: Unknown symbol comedi_buf_read_n_available
comedi_fc: Unknown symbol comedi_buf_memcpy_to
comedi_fc: Unknown symbol comedi_buf_memcpy_from
adl_pci9111: Unknown symbol cfc_write_array_to_buffer
adl_pci9111: Unknown symbol comedi_error
adl_pci9111: Unknown symbol rt_busy_sleep
adl_pci9111: Unknown symbol comedi_request_irq
adl_pci9111: Unknown symbol comedi_event
adl_pci9111: Unknown symbol range_unipolar5
adl_pci9111: Unknown symbol comedi_driver_unregister
adl_pci9111: Unknown symbol range_bipolar10
adl_pci9111: Unknown symbol comedi_driver_register
adl_pci9111: Unknown symbol comedi_free_irq
I-pipe: Domain RTAI registered.
RTAI[hal]: <3.4> mounted over IPIPE-NOTHREADS 1.3-08.
RTAI[hal]: compiled with gcc version 4.1.0 (SUSE Linux).
RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs VECTORED),
ISOL_CPUS_MASK: 0).
PIPELINE layers:
e090aa00 9ac15d93 RTAI 200
c0481d80 0 Linux 100
RTAI[malloc]: vmalloced extent e0942000, size 10485760.
RTAI[malloc]: loaded (global heap size=10485760 bytes).
RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: ).
RTAI[sched]: hard timer type/freq = APIC/12504000(Hz); default timing mode is
periodic; linear ordering of timed lists.
RTAI[sched]: Linux timer freq = 100 (Hz), CPU freq = 3001060000 hz.
RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
RTDM started.
eth0: Media Link On 100mbps full-duplex
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
RTnet-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-developers