jfat: EmptyStackException from FatCache

Project:JNode FS
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:active
Description

Just wondering if this is anything to worry about:

java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:85)
at java.util.Stack.pop(Stack.java:67)
at org.jnode.fs.jfat.FatCache$CacheMap.pop(FatCache.java:242)
at org.jnode.fs.jfat.FatCache$CacheMap.access$400(FatCache.java:202)
at org.jnode.fs.jfat.FatCache.put(FatCache.java:68)
at org.jnode.fs.jfat.FatCache.get(FatCache.java:110)
at org.jnode.fs.jfat.FatCache.getUInt32(FatCache.java:121)
at org.jnode.fs.jfat.FatCache.getUInt32(FatCache.java:142)
at org.jnode.fs.jfat.Fat.getUInt32(Fat.java:264)
at org.jnode.fs.jfat.Fat32.get(Fat32.java:29)
at org.jnode.fs.jfat.FatChain$ChainIterator.next(FatChain.java:815)
at org.jnode.fs.jfat.FatChain$ChainIterator.setPosition(FatChain.java:750)
at org.jnode.fs.jfat.FatChain$ChainIterator.access$800(FatChain.java:717)
at org.jnode.fs.jfat.FatChain.read(FatChain.java:391)
at org.jnode.fs.jfat.FatDirectory.getFatDirEntry(FatDirectory.java:78)
at org.jnode.fs.jfat.FatDirectory.access$200(FatDirectory.java:22)
at org.jnode.fs.jfat.FatDirectory$EntriesFactory.hasNextEntry(FatDirectory.java:382)
at org.jnode.fs.jfat.FatDirectory.scanDirectory(FatDirectory.java:154)
at org.jnode.fs.jfat.FatRootDirectory.(FatRootDirectory.java:34)
at org.jnode.fs.jfat.FatFileSystem.createRootEntry(FatFileSystem.java:95)
at org.jnode.fs.spi.AbstractFileSystem.getRootEntry(AbstractFileSystem.java:102)

We probably don't have access to the hard disk, so I imagine it won't be easy to reproduce it.

#1

This looks like something to worry about.
How did you get the exception?

#2

This is from our use of the FS drivers outside of JNode. But it seems the error comes just building the FAT itself. So I'm starting to think, since the FAT is all in one place on the disk (usually...) it might be possible to get a copy of just the FAT, without having the whole disk image sent over.

#3

It would be nice if you tried to debug and fix the problem locally. If it's not working you might copy the disk image and overwrite with zero the content of the files in it and maybe rename the files using a small program until it becomes suitable for publication as part of a bugreport. I assume that the filesystem would pass a full check with scandisk without problems.

#4

I don't have access to the data myself but I'll try and see if I can get it. It might be possible to get it but a lot of people refuse to do so. If I can at least get my hand on just the FAT, it might be enough for this issue, so I'll try. If I can't fix it here and it turns out that we do need it fixed then it should be possible to mask the filenames as well, even if we have to do it manually...