System panic during newfs if size of the metadevice is greater than 1TB prior to Solaris[TM] 9 Operating System (8/03) (Doc ID 1002354.1)

Last updated on JULY 29, 2016

Applies to:

Solaris Operating System - Version 8.0 to 9 4/03 U3 [Release 8.0 to 9.0]
Solstice DiskSuite Software - Version 2.0.1 to 4.2.1 [Release 2.0 to 4.0]
All Platforms

Symptoms

Prior to Solaris[TM] 9 Operating System (8/03) system will panic during newfs if size of the metadevice is greater than 1TB. The panic stack trace will look similar to:

 

panic[cpu2]/thread=300082419a0: BAD TRAP: type=31 rp=2a10075c7b0 addr=3139313632000050 mmu_fsr=0

newfs: trap type = 0x31 addr=0x3139313632000050 pid=8905, pc=0x10046d30, sp=0x2a10075c051, tstate=0x9980001601, context=0x1871

g1-g7: 2000, 1, ffffff, 1fff, 0, 0, 300082419a0

000002a10075c3c0 unix:die+a4 (31, 2a10075c7b0, 3139313632000050, 0, 2a10075c7b0, d0022050)
%l0-3: 0000000000000004 00000300002a3190 0000000000000003 0000000000000020
%l4-7: 0000000000000006 000003000046a998 0000000000000001 0000000000000000
000002a10075c4a0 unix:trap+8b8 (3139313632000000, 1, 5, 0, 2a10075c7b0, 0)
%l0-3: 0000000000000001 fffffffffffffffe 0000030013158ac0 0000000000000000
%l4-7: 0000000000000031 0000030016bda770 0000000000010000 0000000000000000
000002a10075c5e0 unix:sfmmu_tsb_miss+66c (10428fa0, 0, 300001b1f88, 0, 300001b1f88, 19)
%l0-3: 3139313632000000 0000000000000004 00000300002a2710 000003100018e800
%l4-7: 3139313632000000 0000000000000000 0000000000000000 3139313632000003
000002a10075c700 unix:prom_rtt+0 (3139313632000000, 5042d0e, 2a10075caf0, 2, 2a10075c97c, 2)
%l0-3: 0000000000000002 0000000000001400 0000009980001601 000000001001a7d0
%l4-7: 0000030004b8e118 00000300188cf698 0000000000000000 000002a10075c7b0
000002a10075c850 pcisch:pci_dma_map_impl+3d0 (3000ffad028, 1, 1, c18, 30019008298, 300002a2710)
%l0-3: 000002a10075caf0 0000000000000001 0000030000295c28 0000000000000002
%l4-7: 0000000000000000 0000030019008388 00000000104525d8 0000000000000000
000002a10075c980 pcisch:pci_dma_bindhdl+38 (300002a3190, 300002a2710, 30019008298, 2a10075caf0, 30001e9e1f0, 30001e9e208)
%l0-3: 00000300002a3190 00000300002a2710 00000300002a3190 000002a10075cae0
%l4-7: 000003001baf8ce8 0000000000000000 0000000000000000 00000000104517d0
000002a10075ca40 genunix:ddi_dma_buf_bind_handle+e8 (30019008298, 300188cf698, 42, 0, 0, 30001e9e1f0)
%l0-3: 0000000000000000 0000030000468000 0000030000344ad8 00000300188cf7ac
%l4-7: 0000000000078b74 0000000000000000 00000000ff3e7d60 00000000ff284c18
000002a10075cb30 jnic146x:FcScsiOsmPktDmaCtl+3dc (30001e9e188, 300188cf698, 0, 30001e9e1f0, 0, 3000046a998)
%l0-3: 0000030001e9ddb0 00000300188cf698 0000030016984de0 000003000046a998
%l4-7: 0000030001e9e188 000003001697d538 0000030004bdf4b8 00000000ff3e66c0
000002a10075cc30 jnic146x:FcScsiOsmPktInit+260 (30016984de0, 0, 300188cf698, 0, 30001e9ddb0, 30001e9e188)
%l0-3: 0000030001e9dd78 0000030001df2b48 0000030016984de0 0000000000000020
%l4-7: 0000000000000006 000003000046a998 0000000000000001 0000000000000000
000002a10075cd00 scsi:scsi_init_pkt+54 (30001df2b48, 30004b8e018, 102dcf6c, 6, 20, 10)
%l0-3: 000000007811d090 0000000000000000 0000000000000000 0000000000000000
%l4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
000002a10075cdd0 sd:make_sd_cmd+120 (102dcf6c, 300188cf698, 0, 30004b8e018, 6, 0)
%l0-3: 0000000000000000 000000000000415a 0000000000000010 0000000000000000
%l4-7: 0000000000000010 000003001697d250 0000000000000002 0000000000000001
000002a10075cea0 sd:sdstart+2cc (ffffffffffffffff, 0, 1, 1000000, 10000, 0)
%l0-3: 0000030004b8e376 0000000000000005 0000030004b8e1e8 0000030004b8e018
%l4-7: 0000030004b8e118 00000300188cf698 0000000000000000 0000000000000003
000002a10075cf50 sd:sdstrategy+670 (30004b8e118, 101562c0, 2a10075d0b8, 0, 0, 300188cf698)
%l0-3: 0000030004b8e018 0000000000000007 0000000000000001 000000001044bf00
%l4-7: 000000001044b058 000000001044b038 00000000104525d8 0000000000000000
000002a10075d000 genunix:bdev_strategy+94 (1042f2c8, 300188cf698, 20, 0, 0, 0)
%l0-3: 00000000102d527c ffffffffffffe000 00000000104517b0 000000000000f618
%l4-7: 000003001baf8ce8 0000000000000000 0000000000000000 00000000104517d0
000002a10075d0d0 rdriver:StratStart+2bc (30004bdf4b8, 3001697d538, 20, 40, 1020f86c, 2a10075d978)
%l0-3: 0000000000000000 0000030004bdf550 0000000008000000 00000300188cf7ac
%l4-7: 0000000000078b74 0000000000000000 00000000ff3e7d60 00000000ff284c18
000002a10075d1b0 rdriver:StratOp+120 (30004bdf4b8, 3001697d538, 20, 3001697d538, 415a, 78365290)
%l0-3: 0000000000000000 00000000000000fa 00000000000000fa 0000030004bdf590
%l4-7: 0000030004bdf5b0 000003001697d538 0000030004bdf4b8 00000000ff3e66c0
000002a10075d280 rdriver:rd_strategy+218 (3001697d538, 0, 2a10075d428, 0, 3001697d538, 78365290)
%l0-3: 0000030004bdf4b8 00000000ffffffff 0000000000000000 0000000000002000
%l4-7: 00000000ff31a288 00000000ff3e7d60 0000000000010ff0 0000000000000000
000002a10075d370 genunix:bdev_strategy+94 (1042f2c8, 3001697d538, 0, fa00020557, 300065bce08, 300068200c8)
%l0-3: 0000000010326078 0000000000000000 0000000000000000 0000000000000000
%l4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
000002a10075d440 md_raid:raid_read+bc (3001697d250, 28, 30016d75320, 0, 7fffffb222fff0, 7fffffb222fff0)
%l0-3: 0000000000000000 0000030006820010 0000000000008f20 0000000000000000
%l4-7: 0000000000000010 000003001697d250 0000000000000002 0000000000000001
000002a10075d4f0 md_raid:md_raid_strategy+280 (7fffffb222ffe0, 3001697d250, 0, 28, 0, 0)
%l0-3: 0000030016d75388 007fffffb222ffe0 0000030006820010 0000000000002000
%l4-7: 0000000000000020 0000030016d75320 0000000000000000 0000000000000003
000002a10075d5a0 md:mdstrategy+e8 (300065bce08, 2a10075d738, 24c18, 2000, 25218, 2a10075d738)
%l0-3: 0000000078367418 0000000000024000 0000000000000600 0000030005b86388
%l4-7: 0000000000000002 0000000000024c18 0000030005b863b8 0000000000000000
000002a10075d650 genunix:default_physio+2d8 (600, 0, 7fffffffffffffff, 30005b86388, 1020f86c, 2a10075d978)
%l0-3: 000002a10075da30 0000000000000040 00000000101f8460 00000300065bce08
%l4-7: 0000005500000028 000000001020f86c 0000000000000000 0000000000024c18
000002a10075d760 genunix:physio+20 (101f8460, 0, 5500000028, 40, 1020f86c, 2a10075d978)
%l0-3: 000000001012bc1c 00000000ff3a08f4 0000000000010acb 00000000ffbef6f4
%l4-7: 0000000000078b74 0000000000000000 00000000ff3e7d60 00000000ff284c18
000002a10075d810 md:mdread+fc (5500000028, 2a10075d978, 3000112c188, 0, 300112a6d68, 5500000028)
%l0-3: 00000000ff3a08f4 0000000000000000 00000000ffbef6f4 00000000ffbef6f8
%l4-7: 0000000000000000 000002a10075d978 0000000000000000 00000000ff3e66c0
000002a10075d8c0 genunix:read+25c (2000, 0, 2001, 30011272e48, 3, 600)
%l0-3: 0000000010159f14 0000000000000600 00000300112a6d70 00000000000122d4
%l4-7: 00000000ff31a288 00000000ff3e7d60 0000000000010ff0 0000000000000000
000002a10075da40 genunix:read32+30 (3, 24c18, 600, 0, 21d78, 122d4)
%l0-3: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
%l4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000

The large size of the metadevice will overflow the variables that are used to keep track of metadevice size.

A dump of md_unit structure will show negative values.

> 0x30006820010$<md_unit
0x30006820010:  type               status            parent_res      child_res
4                        200000               0               0
0x30006820028:  self_id            record_id        size               flag
40                      12                     516             0
0x30006820038:  total_blocks    actual_tb        nhead           nsect
-1306329088     -1306330144       256             64
^^^^^^^^^^^     ^^^^^^^^^^^
0x30006820044:  rpm               wr_reinstruct   rd_reinstruct   vtoc_id
7200                    30                     0               0
0x30006820054:  parent
-1              

Output from metastat(1M) will show the size of the metadevice as negative value.

% cat metastat.out
d40: RAID
State: Okay
Interlace: 32 blocks
Size: -1306329088 blocks
^^^^^^^^^^^
Original device:
Size: -1306330144 blocks
^^^^^^^^^^^
Device              Start Block  Dbase State        Hot Spare
c2t13d21s7             16714     No    Okay
c3t12d20s7             16714     No    Okay
c2t13d23s7             16714     No    Okay
c3t12d22s7             16714     No    Okay         

This metadevice is configured with four devices. Total size of the these device is greater than 1TB as below.

% cat -n c2t13d2*
1  * /dev/rdsk/c2t13d21s2 partition map
...
23         7      0    00          0 996229120 996229119
1  * /dev/rdsk/c2t13d23s2 partition map
...
23         7      0    00          0 996229120 996229119
% 
% cat -n c3t12d2*
1  * /dev/rdsk/c3t12d20s2 partition map
...
23         7      0    00          0 996229120 996229119
1  * /dev/rdsk/c3t12d22s2 partition map
...
23         7      0    00          0 996229120 996229119

Therefore:

996229120(block) * 512(byte) = 510069309440(byte)

510069309440(byte) / 1049576(byte) = 486440(Mbyte)

486440(Mbyte) / 1024 = 475(Gbyte)

So the size of metadevice is 1.9TB(475GB x 4)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms