From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 26 10:47:43 2012 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 75D56CD0; Mon, 26 Nov 2012 10:47:43 +0000 (UTC) (envelope-from stefan@fafoe.narf.at) Received: from fep13.mx.upcmail.net (fep13.mx.upcmail.net [62.179.121.33]) by mx1.freebsd.org (Postfix) with ESMTP id 4E9228FC12; Mon, 26 Nov 2012 10:47:40 +0000 (UTC) Received: from edge04.upcmail.net ([192.168.13.239]) by viefep13-int.chello.at (InterMail vM.8.01.05.05 201-2260-151-110-20120111) with ESMTP id <20121126104738.ERZR3518.viefep13-int.chello.at@edge04.upcmail.net>; Mon, 26 Nov 2012 11:47:38 +0100 Received: from mole.fafoe.narf.at ([80.109.55.137]) by edge04.upcmail.net with edge id UAnd1k04F2xdvHc04AnexB; Mon, 26 Nov 2012 11:47:38 +0100 X-SourceIP: 80.109.55.137 Received: by mole.fafoe.narf.at (Postfix, from userid 1001) id D99776D449; Mon, 26 Nov 2012 11:47:37 +0100 (CET) Date: Mon, 26 Nov 2012 11:47:37 +0100 From: Stefan Farfeleder To: Andriy Gapon Subject: Re: ACPI panic Message-ID: <20121126104737.GC1469@mole.fafoe.narf.at> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <50B34484.1090807@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-acpi@FreeBSD.org X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Nov 2012 10:47:43 -0000 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
, Length = 3402287818}, Buffer = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Pointer = 0xcacacacacacacaca
, Length = 3402287818, AmlLength = 3402287818, AmlStart = 0xcacacacacacacaca
, Node = 0xcacacacacacacaca}, Package = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', Node = 0xcacacacacacacaca, Elements = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca
, 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 to continue, or q to quit--- Type = 0 '\0', ReferenceCount = 678, Flags = 0 '\0', InfoFlags = 254 '�', ParamCount = 255 '�', SyncLevel = 255 '�', Mutex = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca
, 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 to continue, or q 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 to continue, or q to quit--- ResourceLength = 51914, RegionObj = 0xcacacacacacacaca, ResourceBuffer = 0xcacacacacacacaca
}, 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 to continue, or q 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
, 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 to continue, or q 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
, Length = 3402287818}, Buffer = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Pointer = 0xcacacacacacacaca
, Length = 3402287818, AmlLength = 3402287818, AmlStart = 0xcacacacacacacaca
, Node = 0xcacacacacacacaca}, Package = {NextObject = 0xcacacacacacacaca, DescriptorType = 128 '\200', Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', Node = 0xcacacacacacacaca, Elements = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca
, 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 to continue, or q to quit--- Type = 118 'v', ReferenceCount = 1553, Flags = 0 '\0', InfoFlags = 254 '�', ParamCount = 255 '�', SyncLevel = 255 '�', Mutex = 0xcacacacacacacaca, AmlStart = 0xcacacacacacacaca
, 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 to continue, or q 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 to continue, or q to quit--- BitLength = 3402287818, BaseByteOffset = 3402287818, Value = 3402287818, StartFieldBitOffset = 202 '�', AccessLength = 202 '�', ResourceLength = 51914, RegionObj = 0xcacacacacacacaca, ResourceBuffer = 0xcacacacacacacaca
}, 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 to continue, or q 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
, AmlLength = 3402287818}, Data = {NextObject = 0xcacacacacacacaca, ---Type to continue, or q 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