lkcd
[Top] [All Lists]

Re: Alpha lcrash - enqueue/alloc

To: Brian Hall <brianw.hall@xxxxxxxxxx>
Subject: Re: Alpha lcrash - enqueue/alloc
From: "Matt D. Robinson" <yakker@xxxxxxxxxxxxxx>
Date: Wed, 3 May 2000 12:31:40 -0700 (PDT)
Cc: lkcd@xxxxxxxxxxx
In-reply-to: <XFMail.20000503132717.brianw.hall@xxxxxxxxxx>
Sender: owner-lkcd@xxxxxxxxxxx
Hey, Brian.  Send me your latest tarball (source), and let me know
where I can ftp your core image from.  I've got an alpha system here
I can test things on ... I'll try to have an answer for you by
tomorrow, assuming the world doesn't blow up between now and then. :)

--Matt

On Wed, 3 May 2000, Brian Hall wrote:
|>Well, I haven't been able to figure how the free block list is supposed to be
|>filled; tracing the code I don't see how it would work. It certainly doesn't
|>as-is (alloc.c), surely because I have something setup wrong (with the blklist
|>initialized to NULL in the code, enqueue tries to *blklist=element, which
|>segfaults of course). Anyway, to make some progress, I modified alloc_block to
|>always allocate memory as if size > CHUNKSZ all the time. This gave me a 
lcrash
|>executable that would execute without segfaulting, although it is very very
|>slow, and can't seem to access any useful information. Also, I'm having a 
magic
|>number mismatch, I had to comment out the checks for that in do_report (don't
|>know why this occurs yet, maybe my crash dump is bad- MCL's analyis program
|>crash2.3 also doesn't work on my crash dump).
|>
|>Here is what I'm currently getting for lcrash -r map.0 vmdump.0 (it "hangs"
|>after printing this):
|>
|>Attempting to load previous index "index.10" ... complete.
|>cmpreadmem(): 8 bytes, 0x584c80 (just a page)
|>__cmppread(): initiating search for 0x584c80
|>__cmppindex(): hash =  16472, addr = 0x584c80
|>__cmppindex(): addr = 0x584c80, tmpptr->addr = 0x584000
|>__cmppread(): found the page in the page index!
|>0x584000: 4725 -> 8192 COMPRESSED, writing 8192 bytes
|>__cmppinsert(): Malloc occurred! [0]
|>__cmppinsert(): Inserting page into cache! (0x584c80) [0]...
|>__cmppget(): copying page of data (nbytes = 8, offset = 3200, in_addr =
|>0x584c80)
|>__cmppread(): found the item in the hash table second time!
|>cmpreadmem(): 8 bytes, 0x584c90 (just a page)
|>__cmppread(): initiating search for 0x584c90
|>__cmppget(): copying page of data (nbytes = 8, offset = 3216, in_addr =
|>0x584c90)
|>__cmppread(): found the item in the hash table!
|>=======================
|>LCRASH CORE FILE REPORT
|>=======================
|> 
|>GENERATED ON:
|>    Wed May  3 13:24:59 2000
|> 
|> 
|>TIME OF CRASH:
|>    Tue Apr 18 15:08:24 2000
|> 
|> 
|>PANIC STRING:
|>    User created crash dump
|> 
|>MAP:
|>    map.0
|> 
|>VMDUMP:
|>    vmdump.0
|> 
|>================
|>COREFILE SUMMARY
|>================
|> 
|>    The system died due to a software failure.
|> 
|>===================
|>UTSNAME INFORMATION
|>===================
|> 
|>   sysname : Linux
|>  nodename : dhcp96-180.cxo.dec.com
|>   release : 2.2.13
|>   version : #10 Tue Feb 8 16:06:15 MST 2000
|>   machine : alpha
|>domainname : gldulab
|> 
|>===============
|>LOG BUFFER DUMP
|>===============
|> 
|>cmpreadmem(): reading 8192 bytes, 0x587030 (a new page)
|>__cmppread(): initiating search for 0x587030
|>__cmppindex(): hash =  28760, addr = 0x587030
|>__cmppread(): page not found! (0x587030)
|>cmpreadmem(): reading 8192 bytes, 0x589030 (leftovers)
|>__cmppread(): initiating search for 0x589030
|>__cmppindex(): hash =  36952, addr = 0x589030
|>__cmppread(): page not found! (0x589030)
|> 
|> 
|>====================
|>CURRENT SYSTEM TASKS
|>====================
|> 
|>            ADDR    UID   PID   PPID  STATE   PRI     FLAGS                MM 
|>NAME
|>==============================================================================
|>cmpreadmem(): 1064 bytes, 0x4e8000 (just a page)
|>__cmppread(): initiating search for 0x4e8000
|>__cmppindex(): hash =  32846, addr = 0x4e8000
|>__cmppindex(): addr = 0x4e8000, tmpptr->addr = 0x4e8000
|>__cmppread(): found the page in the page index!
|>0x4e8000: 96 -> 8192 COMPRESSED, writing 8192 bytes
|>__cmppinsert(): Malloc occurred! [1]
|>__cmppinsert(): Inserting page into cache! (0x4e8000) [1]...
|>__cmppget(): copying page of data (nbytes = 1064, offset = 0, in_addr =
|>0x4e8000)
|>__cmppread(): found the item in the hash table second time!     
|>
|>-- 
|>http://www.bigfoot.com/~brihall
|>Linux Consultant
|>


<Prev in Thread] Current Thread [Next in Thread>