Re: panic: solaris assert: sa.sa_magic == 0x2F505A (0x4d5ea364 == 0x2f505a), file: /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c, line: 625

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Tue, 02 Apr 2013 09:10:20 +0300
on 01/04/2013 19:22 Andriy Gapon said the following:
> on 01/04/2013 18:51 Fabian Keil said the following:
>> vmcore.13:
>>
>> (kgdb)  p *dn->dn_phys
>> Cannot access memory at address 0xffffff8015eeb800
>> (kgdb) p *dn->dn_dbuf
>> $1 = {db = {db_object = 0, db_offset = 28491776, db_size = 16384, db_data = 0xffffff8015eeb000}, db_objset = 0xfffffe00691a5000, db_dnode_handle = 0xfffffe00691a5020, db_parent = 0xfffffe004254ab60, 
>>   db_hash_next = 0x0, db_blkid = 1739, db_blkptr = 0xffffff8015d65580, db_level = 0 '\0', db_mtx = {lock_object = {lo_name = 0xffffffff811d8696 "db->db_mtx", lo_flags = 40960000, lo_data = 0, 
>>       lo_witness = 0x0}, sx_lock = 1}, db_state = DB_CACHED, db_holds = {rc_count = 2}, db_buf = 0xfffffe0042bedcf0, db_changed = {cv_description = 0xffffffff811d86a2 "db->db_changed", cv_waiters = 0}, 
>>   db_data_pending = 0xfffffe00406d6500, db_last_dirty = 0xfffffe00406d6500, db_link = {list_next = 0xfffffe0042758c10, list_prev = 0xfffffe0069cab5f8}, db_user_ptr = 0xfffffe0069f70000, 
>>   db_user_data_ptr_ptr = 0x0, db_evict_func = 0xffffffff81105770 <dnode_buf_pageout>, db_immediate_evict = 0 '\0', db_freed_in_flight = 0 '\0', db_dirtycnt = 1 '\001'}
> 
> That's interesting.  So db.db_data has a bogus address.
> Not sure how that could happen and what to make of it yet.
> 

In fact, this was a bogus comment :-)
I forgot that dn_phys points inside a ZFS data buffer and those do not get dumped.

-- 
Andriy Gapon
Received on Tue Apr 02 2013 - 04:10:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:36 UTC