On Wed, 9 Jan 2008, Vamsee Priya wrote: > Hi All, > > > > We have a kernel module called IPFS which lies in between VFS and UFS. > We are getting a kernel panic (with the following stack trace) very > frequently on ATCA blades where as the panic is almost rare on CPCI > blades.
Hi Vamsee, Are you willing to share the sourcecode for that driver ? Are you considering an OpenSolaris project for this ? Generically, filesystem filter drivers on Solaris are unsupported - you're doing something there that the filesystem framework is not designed to deal with. That doesn't mean it's impossible to do, but honestly, makes it difficult to advise if there are no sources to look into. Below, you're trying a VOP_READ() operation on a vnode bound to a fifo, and hence that ends in strread(); need the crashdump to tell you more about where exactly the invalid pointer comes from. Given that you say you're trying to interpose on top of UFS, that you end up attempting to read from a stream seems unexpected/undesired. Most likely you missed a VN_HOLD() where you first picked up a reference to that vnode, and later the vnode that at one point in time might've been UFS got released and reused (for a fifo not a file). As far as crashdump analysis on SPARC goes: There's an old book (now out of print but still available 2nd hand via e.g. Amazon), called "Panic !". It's quite outdated regarding the dump analysis techniques but covers the SPARC architecture (assembly language, register windows) well enough. There are also courses on it - Max Bruning, who posts on mdb-discuss every now and then, for example, teaches a good one. Have you tried to talk to your local OpenSolaris users group (see the references on the website at http://opensolaris.org/os/community/advocacy/usergroups/ug-leaders/) ? It's possible to set something up, usually only a question of who covers the costs :) FrankH. > > > > sfmmu_tsbmiss_exception+0x54(2a1038555a0, 42001, 31, 0, d5b28, > 6001e6d0800) > > ktl0+0x64(60008a47564, 42f98, 1, fffffffffffffff8, 1e5b76, 1) > > uiomove+0x90(60008a4755c, 8, 0, 2a103855950, 0, 8) > > struiocopyout+0x38(60008cf2fc0, 2a103855950, 2a103855864, 0, > 60008a47564, 1) > > strread+0x4b4(0, 2a103855950, 0, 6001f93fd28, 0, 0) > > ipfs_in+0x1e8(0, 30022006540, 6001f93fd28, 8, 2a103855ab0, 0) > > ipfs_active_in+0xec(60005e8c000, 30022006540, 3001f1f5ec0, 60011bc6000, > 0, > > 60005e8c0d8) > > thread_start+4(60005e8c000, 0, 0, 0, 0, 0). > > > > > > When can this sfmmu_tsbmiss_exception occur? > > > > > > Thanks in advance > > > > > > Regards, > > Priya > > > > > > > ------------------------------------------------------------------------------ No good can come from selling your freedom, not for all the gold in the world, for the value of this heavenly gift far exceeds that of any fortune on earth. ------------------------------------------------------------------------------ _______________________________________________ opensolaris-discuss mailing list [email protected]
