[K42-discussion] crash in FileSystemGlobal::FSFileGlobal::rename

Andrew Baumann andrewb at cse.unsw.edu.au
Fri Sep 9 12:18:04 EST 2005


Hi there,

I'm working on running AIM7 on K42, and I've noticed a few things breaking :)

Here's a fairly complete backtrace for a crash in baseServers when a process 
removes and then tries to move a nonexistent file. I'm not sure why the 
configure script is doing that, but hopefully the backtrace below is complete 
enough for someone more familiar with the FS code to spot the bug (rename 
being called with renamedFinfo = NULL). There are certainly a lot of FIXMEs 
about nonexistent files around that code (DirLinuxFS::rename).

Andrew

Mapping program /bin/sh, pid 0x15a4, vp 0 to pp 0.
Re-Mapping program /usr/bin/rm (rm -f ./confstatKSUKXh ), k42 pid 0x15a4 linux 
pid 0x16cc.
Mapping program /bin/sh, pid 0x15a5, vp 0 to pp 0.
Re-Mapping program /usr/bin/mv (mv ./confstatKSUKXh lib/Makefile ), k42 pid 
0x15a5 linux pid 0x16cd.
/home/andrewb/work/k42.local/k42.head/kitchsrc/os/kernel/proc/ProcessReplicated.C,564: 
Invalid memory access: processID 0x1 addr 0x0, type 40000000
WARNING: file 
"/home/andrewb/work/k42.local/k42.head/kitchsrc/os/kernel/exception/ExceptionLocal.C", 
line 352
User-mode bad-address fault: commID 0x100000000, pc 0x10038d50, addr 0, rc 
8000000005cd6416.
GDB got trap: Data Storage Interrupt
vector=0x300, sr=0x900000000000f032, pc=0x10038d50 lr=0x10038d40


#0  0x0000000010038d50 in FileSystemGlobal::FSFileGlobal::rename(char*, 
unsigned long, FSFile*, char*, unsigned long, FSFile*) (this=0x10000676b480,
    oldName=0x1000000eddef "out", oldLen=0x3, newDirInfo=0x10000676b140,
    newName=0x1000000ede0c "Makefile", newLen=0x8, renamedFinfo=0x0)
    at FileSystemGlobal.H:335
#1  0x0000000010128908 in DirLinuxFS::rename(char*, unsigned long, 
DirLinuxFS**, char*, unsigned long) (this=0x100026bae200, 
oldname=0x1000000eddef "out",
    oldnamelen=0x3, newDirRef=0x10010005010,
    newname=0x1000000ede0c "Makefile", newnamelen=0x8)
    
at /home/andrewb/work/k42.local/k42.head/kitchsrc/lib/libc/fslib/DirLinuxFS.C:1489
#2  0x000000001012fcd4 in DirLinuxFSVolatile::rename(char*, unsigned long, 
DirLinuxFS**, char*, unsigned long) (this=0x100026bae200,
    oldname=0x1000000eddef "out", oldnamelen=0x3, newDirRef=0x10010005010,
    newname=0x1000000ede0c "Makefile", newlen=0x8)
    
at /home/andrewb/work/k42.local/k42.head/kitchsrc/lib/libc/fslib/DirLinuxFSVolatile.C:753
#3  0x0000000010133c30 in NameTreeLinuxFS::_rename(char*, unsigned long, 
char*, unsigned long, unsigned long) (this=0x100006648c40,
    name=0x1000000eddd0 "\005reaim\bre-aim-7\016confstatKSUKXh\003out",
    namelen=0x22,
    newName=0x1000000eddf8 "\005reaim\bre-aim-7\003lib\bMakefile",
    newLen=0x1c, pid=0x15a5)
    
at /home/andrewb/work/k42.local/k42.head/kitchsrc/lib/libc/fslib/NameTreeLinuxFS.C:899
#4  0x00000000101b8384 in XNameTreeLinux::__renameEPcmS0_m(unsigned long) (
    this=0x100006806ec0, callerID=0x15a500000000) at XNameTreeLinux.C:757
#5  0x00000000101d806c in DispatcherDefault_InvokeXObjMethod ()
    at MetaCOListServer.H:11
#6  0x00000000101d7f04 in DispatcherDefault_PPCServerOnThread ()
    at MetaCOListServer.H:11



More information about the K42-discussion mailing list