Page Fault
Tiago Jorge
tjpj at lasige.di.fc.ul.pt
Tue Mar 15 17:08:17 CET 2005
Thank you for your prompt answers in my earlier issue. i don't know
where i saw the underscore :).
Now i'm having another issue. I'm having a page fault at my program
because is trying to acess page 0.
its a simple test program that starts an object that in the constructor
starts a thread that uses FLIPS to have network. at the makefile i'm
realocatting the program so i think the problem doesn't come from here.
this is my Log:
#######################################################
Welcome to Fiasco(ia32)!
L4(v2)/x86 microkernel (C) 1998-2005 TU Dresden
Rev: Wed Feb 2 12:05:33 2005 compiled with gcc 2.95 for Intel Pentium 4
Performance-critical config option(s) detected:
CONFIG_NDEBUG is off
CONFIG_NO_FRAME_PTR is off
Found VMware: Using (normal) fully nested PIC mode
Using the PIT (i8254) on IRQ 0 for scheduling
Absolute KIP Syscalls using: Sysenter
CPU: GenuineIntel (F:2:8:9) Model: Pentium 4 (Northwood/Prestonia) at
2793 MHz
128 Entry I TLB (4K or 4M pages)
64 Entry D TLB (4k or 4M pages)
12K µ-ops T Cache (8-way associative)
8 KB L1 D Cache (4-way associative, 64 bytes per line)
512 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
SIGMA0: Hello!
Found Fiasco: KIP syscalls: yes.
Allocated 116kB for maintenance structures.
RMGR: Stage2
running on Fiasco
bootloader loaded 7 modules at 02073000-02889a65
total RAM size = 195134 KB (reported by bootloader)
received 178096 KB RAM from sigma0
828 KB reserved for RMGR
received no I/O ports
attached irqs = [ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f ]
RMGR: Starting tasks.
#05: loading "(nd)/names"
from 02073000-0207c174 to [ 00200000-00206f60 00207000-00210000 ]
starting at entry 00200000 via trampoline page code 0006d150
#06: loading "(nd)/dm_phys"
from 0207d000-02094174 to [ 01500000-015143a0 01515000-0151e000 ]
starting at entry 01500000 via trampoline page code 0006e154
#07: loading "(nd)/l4io"
from 02095000-0225e1a6 to [ 00b70000-00b92cf6 00b93000-00bc6000 ]
starting at entry 00b70000 via trampoline page code 0006f150
symbols at 0af55000-0af8c000 (220kB), lines at 0af3e000-0af55000
(92kB)
#08: loading "(nd)/name_server"
from 0225f000-0230478a to [ 0181c000-01838fa3 01839000-01863e40 ]
starting at entry 0181c000 via trampoline page code 00070158
symbols at 0af38000-0af3e000 (24kB), lines at 0af23000-0af38000
(84kB)
#09: loading "(nd)/flips"
from 02305000-027155c4 to [ 01900000-01981cd6 01982000-019a4000 ]
starting at entry 01900000 via trampoline page code 00071150
symbols at 0af15000-0af23000 (56kB), lines at 0aeb5000-0af15000
(384kB)
#0a: loading "(nd)/mini_ifconfig"
from 02716000-027c3ed0 to [ 01a80000-01a9b6d4 01a9c000-01ac48c0 ]
starting at entry 01a80000 via trampoline page code 00072158
symbols at 0aeb0000-0aeb5000 (20kB), lines at 0ae9c000-0aeb0000
(80kB)
#0b: loading "(nd)/failuredetector"
from 027c4000-02889a64 to [ 01d00000-01d1ca74 01d1d000-01d45780 ]
starting at entry 01d00000 via trampoline page code 0007315c
symbols at 0ae97000-0ae9c000 (20kB), lines at 0ae82000-0ae97000
(84kB)
names | Fiasco detected, registering thread names at kernel
*minifcfg| main(): ifconfig
*minifcfg| main(): usage:
*minifcfg| ifconfig <ifname> <inaddr> <inmask>
*minifcfg| main(): setting default value: lo 127.0.0.1 255.0.0.0
*io | OSKit support: using 1024KB at 0x00180000 as heap
*flips-0 | OSKit support: using 1024KB at 0x00180000 as heap
*flips-0 | Starting FLIPS server
*io | PCI: Using configuration type 1
*io | PCI: Probing PCI hardware
*io | PCI: Probing PCI hardware (bus 00)
*io | PCI: Cannot allocate resource region 4 of device 00:07.1
*io | Limiting direct PCI/PCI transfers.
*io | 00000000-ffffffff : PCI mem
*io | f4000000-f7ffffff : Intel Corp. 440BX/ZX/DX -
82443BX/ZX/DX Host br
*io : idge
*io | f8000000-f800001f : BusLogic BT-946C (BA80C30)
[MultiMaster 10]
*io | f9000000-f9ffffff : PCI device 15ad:0405 (VMWare Inc)
*io | fa000000-faffffff : PCI device 15ad:0405 (VMWare Inc)
*io | 0000-ffff : PCI IO
*io | 0cf8-0cff : PCI conf1
*io | 1000-103f : Intel Corp. 82371AB/EB/MB PIIX4 ACPI
*io | 1040-105f : Intel Corp. 82371AB/EB/MB PIIX4 ACPI
*io | 1060-107f : BusLogic BT-946C (BA80C30) [MultiMaster 10]
*io | 1080-10ff : Advanced Micro Devices [AMD] 79c970 [PCnet32
LANCE]
*io | 1400-140f : PCI device 15ad:0405 (VMWare Inc)
*io | 1410-141f : Intel Corp. 82371AB/EB/MB PIIX4 IDE
*io | omega0/server/src/irq_threads.c:522:attach_irqs():
*io | available irqs=[ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f ]
*flips-0 | l4dde_mm_init(): Using ...
*flips-0 | 640 kB at 0x00280000 (vmem)
*flips-0 | 1024 kB in 1 regions (kmem)
*flips-0 | Initializing RT netlink socket
*flips-0 | lo: I'm up now.
*flips-0 | NET4: Linux TCP/IP 1.0 for NET4.0
*flips-0 | IP Protocols: ICMP, UDP, TCP
*flips-0 | IP: routing cache hash table of 128 buckets, 3Kbytes
*flips-0 | si_meminfo(): called (1)
*flips-0 | TCP: Hash tables configured (established 128 bind 170)
*flips-0 | CORBA_alloc(): size=1024, 1 pointers used
*flips-0 | CORBA_alloc(): got block at 0x00180004
*flips-0 | CORBA_alloc(): size=1024, 2 pointers used
*flips-0 | CORBA_alloc(): got block at 0x0018040c
*flips-0 | flips_session_thread(): Flips(session_thread): new thread_id 9.8
*flips-0 |
*flips-0 | CORBA_alloc(): size=1024, 3 pointers used
*flips-0 | CORBA_alloc(): got block at 0x00180814
*flips-0 | CORBA_alloc(): size=1024, 4 pointers used
*flips-0 | CORBA_alloc(): got block at 0x00180c1c
*minifcfg| print_flags(): FLAGS for lo: LOOPBACK
*minifcfg| print_flags(): FLAGS for lo: UP LOOPBACK RUNNING
*minifcfg| print_flags(): FLAGS for lo: LOOPBACK
*minifcfg| print_flags(): FLAGS for lo: UP LOOPBACK RUNNING
*minifcfg| ifconfig(): lo: inet 127.0.0.1
*minifcfg|
*minifcfg| ifconfig(): lo: netmask 255.0.0.0
*minifcfg| main(): register at names
*minifcfg| main(): eternal sleep
*flips-0 | flips_session_thread(): Flips(session_thread): new thread_id 9.9
*flips-0 |
*flips-0 | CORBA_alloc(): size=1024, 5 pointers used
*flips-0 | CORBA_alloc(): got block at 0x00181024
*flips-0 | CORBA_alloc(): size=1024, 6 pointers used
*flips-0 | CORBA_alloc(): got block at 0x0018142c
*failured| L4RM: [PF] write at 0x00000000, eip 01d00249, src B.03
*failured| [B.0] l4rm/lib/src/pagefault.c:78:__unknown_pf():
*failured| unhandled page fault
--------------------------------------------------------EIP:
01d0c765 PANIC
#######################################################
here is my code:
#include "WOO_vector.h"
#include "FailureDetector.h"
#include <l4/lock/lock.h>
#include <l4/names/libnames.h>
int main(){
vector<int> grupo;
l4lock_t lock = L4LOCK_UNLOCKED;
grupo.push_back(1);
grupo.push_back(2);
grupo.push_back(3);
FailureDetector fd(1, 500000, &grupo, &lock);
}
how can i avoid this problem?
thank you
Tiago
More information about the l4-hackers
mailing list