Date: Mon, 26 Nov 2012 11:47:37 +0100 From: Stefan Farfeleder <stefanf@FreeBSD.org> To: Andriy Gapon <avg@FreeBSD.org> Cc: freebsd-acpi@FreeBSD.org Subject: Re: ACPI panic Message-ID: <20121126104737.GC1469@mole.fafoe.narf.at> In-Reply-To: <50B34484.1090807@FreeBSD.org> References: <20121122081831.GA1483@mole.fafoe.narf.at> <50ADFD75.10709@FreeBSD.org> <50ADFFB2.1000108@FreeBSD.org> <50AE057D.8060808@FreeBSD.org> <20121125140008.GA1497@mole.fafoe.narf.at> <50B244A1.1040800@FreeBSD.org> <20121126091101.GA1469@mole.fafoe.narf.at> <50B33693.2060000@FreeBSD.org> <20121126093704.GB1469@mole.fafoe.narf.at> <50B34484.1090807@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 26, 2012 at 12:29:24PM +0200, Andriy Gapon wrote: > Great! > Could you please cast those cycled objects to 'union acpi_operand_object' and > print them? Something like 'p *(union acpi_operand_object *)$x'. Sure. First here's the cycle: (kgdb) p *(void **)(0xfffffe0006117600+8) $2 = (void *) 0xfffffe0006117680 (kgdb) p *(void **)(0xfffffe0006117680+8) $3 = (void *) 0xfffffe0002a60080 (kgdb) p *(void **)(0xfffffe0002a60080+8) $4 = (void *) 0xfffffe0006117680 The last two objects look like this (0xca except the next pointer): (kgdb) p *(union acpi_operand_object *)0xfffffe0006117680 $6 = {Common = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0'}, Integer = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Fill = "���", Value = 14612714913291487946}, String = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Pointer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Length = 3402287818}, Buffer = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Pointer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Length = 3402287818, AmlLength = 3402287818, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Node = 0xcacacacacacacaca}, Package = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Node = 0xcacacacacacacaca, Elements = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, AmlLength = 3402287818, Count = 3402287818}, Event = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', OsSemaphore = 0xcacacacacacacaca}, Method = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', ---Type <return> to continue, or q <return> to quit--- Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', InfoFlags = 254 '�', ParamCount = 255 '�', SyncLevel = 255 '�', Mutex = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Dispatch = {Implementation = 0xcacacacacacacaca, Handler = 0xcacacacacacacaca}, AmlLength = 3402287818, ThreadCount = 202 '�', OwnerId = 202 '�'}, Mutex = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', SyncLevel = 254 '�', AcquisitionDepth = 65535, OsMutex = 0xcacacacacacacaca, ThreadId = 14612714913291487946, OwnerThread = 0xcacacacacacacaca, Prev = 0xcacacacacacacaca, Next = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, OriginalSyncLevel = 202 '�'}, Region = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', SpaceId = 254 '�', Node = 0xcacacacacacacaca, Handler = 0xcacacacacacacaca, Next = 0xcacacacacacacaca, Address = 14612714913291487946, Length = 3402287818}, CommonNotify = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', NotifyList = {0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca}, Device = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', NotifyList = {0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, GpeBlock = 0xcacacacacacacaca}, ---Type <return> to continue, or q <return> to quit--- PowerResource = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', NotifyList = {0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, SystemLevel = 3402287818, ResourceOrder = 3402287818}, Processor = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', ProcId = 254 '�', Length = 255 '�', NotifyList = { 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, Address = 14612714913291487946}, ThermalZone = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', NotifyList = { 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca}, CommonField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', RegionObj = 0xcacacacacacacaca}, Field = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', ---Type <return> to continue, or q <return> to quit--- ResourceLength = 51914, RegionObj = 0xcacacacacacacaca, ResourceBuffer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>}, BufferField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', BufferObj = 0xcacacacacacacaca}, BankField = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', RegionObj = 0xcacacacacacacaca, BankObj = 0xcacacacacacacaca}, IndexField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', IndexObj = 0xcacacacacacacaca, DataObj = 0xcacacacacacacaca}, Notify = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', ---Type <return> to continue, or q <return> to quit--- Node = 0xcacacacacacacaca, HandlerType = 3402287818, Handler = 0xcacacacacacacaca, Context = 0xcacacacacacacaca, Next = { 0xcacacacacacacaca, 0xcacacacacacacaca}}, AddressSpace = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', SpaceId = 254 '�', HandlerFlags = 255 '�', Handler = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, Context = 0xcacacacacacacaca, Setup = 0xcacacacacacacaca, RegionList = 0xcacacacacacacaca, Next = 0xcacacacacacacaca}, Reference = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Class = 254 '�', TargetType = 255 '�', Reserved = 255 '�', Object = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, Where = 0xcacacacacacacaca, Value = 3402287818}, Extra = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Method_REG = 0xcacacacacacacaca, ScopeNode = 0xcacacacacacacaca, RegionContext = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, AmlLength = 3402287818}, Data = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Handler = 0xcacacacacacacaca, Pointer = 0xcacacacacacacaca}, Cache = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, ---Type <return> to continue, or q <return> to quit--- Flags = 0 '\0', Next = 0xcacacacacacacaca}, Node = { Object = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', Flags = 166 '�', OwnerId = 2 '\002', Name = {Integer = 4294966784, Ascii = "\000���"}, Parent = 0xcacacacacacacaca, Child = 0xcacacacacacacaca, Peer = 0xcacacacacacacaca}} (kgdb) p *(union acpi_operand_object *)0xfffffe0002a60080 $7 = {Common = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0'}, Integer = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Fill = "���", Value = 14612714913291487946}, String = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Pointer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Length = 3402287818}, Buffer = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Pointer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Length = 3402287818, AmlLength = 3402287818, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Node = 0xcacacacacacacaca}, Package = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Node = 0xcacacacacacacaca, Elements = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, AmlLength = 3402287818, Count = 3402287818}, Event = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', OsSemaphore = 0xcacacacacacacaca}, Method = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', ---Type <return> to continue, or q <return> to quit--- Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', InfoFlags = 254 '�', ParamCount = 255 '�', SyncLevel = 255 '�', Mutex = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, Dispatch = {Implementation = 0xcacacacacacacaca, Handler = 0xcacacacacacacaca}, AmlLength = 3402287818, ThreadCount = 202 '�', OwnerId = 202 '�'}, Mutex = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', SyncLevel = 254 '�', AcquisitionDepth = 65535, OsMutex = 0xcacacacacacacaca, ThreadId = 14612714913291487946, OwnerThread = 0xcacacacacacacaca, Prev = 0xcacacacacacacaca, Next = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, OriginalSyncLevel = 202 '�'}, Region = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', SpaceId = 254 '�', Node = 0xcacacacacacacaca, Handler = 0xcacacacacacacaca, Next = 0xcacacacacacacaca, Address = 14612714913291487946, Length = 3402287818}, CommonNotify = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', NotifyList = { 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca}, Device = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', NotifyList = { ---Type <return> to continue, or q <return> to quit--- 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, GpeBlock = 0xcacacacacacacaca}, PowerResource = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', NotifyList = { 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, SystemLevel = 3402287818, ResourceOrder = 3402287818}, Processor = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', ProcId = 254 '�', Length = 255 '�', NotifyList = {0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca, Address = 14612714913291487946}, ThermalZone = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', NotifyList = { 0xcacacacacacacaca, 0xcacacacacacacaca}, Handler = 0xcacacacacacacaca}, CommonField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', RegionObj = 0xcacacacacacacaca}, Field = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, ---Type <return> to continue, or q <return> to quit--- BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', ResourceLength = 51914, RegionObj = 0xcacacacacacacaca, ResourceBuffer = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>}, BufferField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', BufferObj = 0xcacacacacacacaca}, BankField = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', RegionObj = 0xcacacacacacacaca, BankObj = 0xcacacacacacacaca}, IndexField = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', FieldFlags = 254 '�', Attribute = 255 '�', AccessByteWidth = 255 '�', Node = 0xcacacacacacacaca, BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, ---Type <return> to continue, or q <return> to quit--- StartFieldBitOffset = 202 '�', AccessLength = 202 '�', IndexObj = 0xcacacacacacacaca, DataObj = 0xcacacacacacacaca}, Notify = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Node = 0xcacacacacacacaca, HandlerType = 3402287818, Handler = 0xcacacacacacacaca, Context = 0xcacacacacacacaca, Next = { 0xcacacacacacacaca, 0xcacacacacacacaca}}, AddressSpace = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', SpaceId = 254 '�', HandlerFlags = 255 '�', Handler = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, Context = 0xcacacacacacacaca, Setup = 0xcacacacacacacaca, RegionList = 0xcacacacacacacaca, Next = 0xcacacacacacacaca}, Reference = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Class = 254 '�', TargetType = 255 '�', Reserved = 255 '�', Object = 0xcacacacacacacaca, Node = 0xcacacacacacacaca, Where = 0xcacacacacacacaca, Value = 3402287818}, Extra = { NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Method_REG = 0xcacacacacacacaca, ScopeNode = 0xcacacacacacacaca, RegionContext = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca <Address 0xcacacacacacacaca out of bounds>, AmlLength = 3402287818}, Data = {NextObject = 0xcacacacacacacaca, ---Type <return> to continue, or q <return> to quit--- DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Handler = 0xcacacacacacacaca, Pointer = 0xcacacacacacacaca}, Cache = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Next = 0xcacacacacacacaca}, Node = { Object = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', Flags = 17 '\021', OwnerId = 6 '\006', Name = {Integer = 4294966784, Ascii = "\000���"}, Parent = 0xcacacacacacacaca, Child = 0xcacacacacacacaca, Peer = 0xcacacacacacacaca}} BTW, I noticed the ACPI_SET_DESCRIPTOR_TYPE code is pointless, because the DescriptorType is at offset 8 from the object start and gets immediately overwritten by the next pointer. However I don't think it's a problem. Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121126104737.GC1469>