From owner-freebsd-current@freebsd.org Sat Jan 9 04:53:47 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6A1EA69526 for ; Sat, 9 Jan 2016 04:53:47 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) by mx1.freebsd.org (Postfix) with ESMTP id 95CED1A1A; Sat, 9 Jan 2016 04:53:47 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id HlX1aNiLksChYHlX2akMFC; Fri, 08 Jan 2016 21:53:41 -0700 X-Authority-Analysis: v=2.1 cv=N9CJbzJB c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=BWvPGDcYAAAA:8 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=VxmjJ2MpAAAA:8 a=7aQ_Q-yQQ-AA:10 a=XldT38RWNwACPDQzwzUA:9 a=h_jC4bHfUKatRfWEgrEA:9 a=CjuIK1q_8ugA:10 a=haoYH_yElwxz5OyEGlgA:9 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=1uD52sVY3tjqBj_FW6cA:9 a=mnjMkT_jgaIA:10 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 416FA13751; Fri, 8 Jan 2016 20:53:39 -0800 (PST) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id u094rcKk002334; Fri, 8 Jan 2016 20:53:38 -0800 (PST) (envelope-from Cy.Schubert@komquats.com) Message-Id: <201601090453.u094rcKk002334@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.komquats.com/ To: Adrian Chadd cc: Jeremie Le Hen , Ryan Stone , FreeBSD Current , =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= Subject: Re: Panic from vesa_configure() In-Reply-To: Message from Cy Schubert of "Fri, 08 Jan 2016 20:49:39 -0800." Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_1452315207_930470" Date: Fri, 08 Jan 2016 20:53:38 -0800 X-CMAE-Envelope: MS4wfEu1uPbmaJBoRB4+jujLLdMb49pNVdi+GE1+3RW5HR1XKqPMJB2ZutKwhp7tIYs2cfBTirRzPADiERz2aQjl1buyurqgKDHJ5KyMzkCD5t7wby42KTan A8J0kpS2aLOEtte9Bd78AO/Ejb1njkW7ingRqEQv3VoZhBgMeyC8ZsqfYvGOenYbVwgm5lw92ccWmFLXDiuJ+f7HfJBjuHdp2jdCZFQiwVd0XlfQJEdcQl2B REFBiuZ19Ya7Mq+CpKx35OilyHRj3JTUNiumgNI3Yc9wVag6GDuJrZmh2n78+XtowvNpn5vD4v1IhfyrneYuBA== X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 04:53:48 -0000 This is a multipart MIME message. --==_Exmh_1452315207_930470 Content-Type: text/plain; charset=us-ascii Cy Schubert writes: > In message <201601080107.u0817kDw078603@slippy.cwsent.com>, Cy Schubert > writes: > > In message c > > om> > > , Adrian Chadd writes: > > > Ok, > > > > > > So try adding this check: > > > > > > vmbuf = x86bios_alloc(&offs, sizeof(*buf), M_WAITOK); > > > if (vmbuf == NULL) { > > > printf("%s: x86bios_alloc failed!\n", __func__); > > > goto fail; > > > } > > > > > > ... that call shouldn't be failing, but if it's truely failing on the > > > bcopy(), the only reason is because vmbuf is NULL. > > > > Thanks. I'll try this. > > > > vesa.c hasn't changed for a while so I suspect the root cuase may be > > somewhere else (we're probably treating the symptom here). Nice thing about > > > using the same mobo and cpu combination on all my machines (except > > laptops), failures are completely reproducible. Might be a good idea to put > > > in a dtrace probe too. > > Hi Adrian, > > Your patch fixed the issue. I've included a dtrace probe. I suspect the > error may be BIOS specific and the dtrace probe should help in tracking it > down. Does this look good to commit? A bit of multitasking going on here. I should have included the patch. :~ --==_Exmh_1452315207_930470 Content-Type: text/plain ; name="vesa.c.diff"; charset=us-ascii Content-Description: vesa.c.diff Content-Disposition: attachment; filename="vesa.c.diff" Index: vesa.c =================================================================== --- vesa.c (revision 293386) +++ vesa.c (working copy) @@ -819,6 +819,11 @@ regs.R_AX = 0x4f00; vmbuf = x86bios_alloc(&offs, sizeof(*buf), M_WAITOK); + if (vmbuf == NULL) { + printf("%s: x86bios_alloc failed!\n", __func__); + DTRACE_PROBE1(x86bios_alloc_failed, int, vmbuf); + goto fail; + } regs.R_ES = X86BIOS_PHYSTOSEG(offs); regs.R_DI = X86BIOS_PHYSTOOFF(offs); --==_Exmh_1452315207_930470 Content-Type: text/plain; charset=us-ascii Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. --==_Exmh_1452315207_930470--