NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/39631: uvm_extern.h got corrupted to current



The following reply was made to PR lib/39631; it has been noted by GNATS.

From: =?UTF-8?Q?Gergely_G=C3=A1bor?= <elentirmo.gilgalad%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: lib/39631: uvm_extern.h got corrupted to current
Date: Thu, 4 Nov 2010 11:26:23 +0100

 --0016361e878afadc0304943796cb
 Content-Type: text/plain; charset=UTF-8
 
 I think the cleanest solution would be to revert to the correct uvm
 struture,
  and revert the handling of the affected programs, rather than to keep the
 corruption for compatibility, but honestly i have mostly forgotten details
 since,
  and had no time to check yet, so i'd ask you to wait a while (1-2 weeks at
 most)
  before closing the pr, so i could check the problem, and provide more
 apropriate details.
 But i must ask for this delay, as currently i have no resources for this
 problem.
 
 Thanks!
 Yours Sincerely: Gabor Gergely
 
 On Mon, Oct 25, 2010 at 3:40 AM, David Holland 
<dholland-bugs%netbsd.org@localhost>wrote:
 
 > The following reply was made to PR lib/39631; it has been noted by GNATS.
 >
 > From: David Holland <dholland-bugs%netbsd.org@localhost>
 > To: gnats-bugs%netbsd.org@localhost
 > Cc: matthew green <mrg%eterna.com.au@localhost>
 > Subject: Re: lib/39631: uvm_extern.h got corrupted to current
 > Date: Mon, 25 Oct 2010 01:36:55 +0000
 >
 >  On Mon, Sep 29, 2008 at 04:59:45AM +1000, matthew green wrote:
 >  >     > while tring to get bubblemon-dockapp alive, it complained about
 >  >     > missing element of struct uvmexp i checked docs, and the element
 >  >     > active is supposed to be there in the struct. I checked
 >  >     > /usr/include/uvm/uvm_extern.h and struct uvmext looks like:
 >  >     > [snip]
 >  >
 >  >    This is not "corruption", nor is it a "regression"; that element was
 >  >    intentionally removed from struct uvmexp.
 >  >
 >  >    It appears that uvm(9) was not updated to reflect this.
 >  >
 >  >    It also appears that this bubblemon-dockapp is broken; it should be
 >  >    using struct uvmexp_sysctl and the VM_UVMEXP2 sysctl to get it,
 > rather
 >  >    than struct uvmexp and VM_UVMEXP.
 >  >
 >  >
 >  > if VM_UVMEXP is returning different info then someone has broken it.
 >
 >  Whee, I appear to have had this marked to write a reply "later" for
 >  two years.
 >
 >  Anyway, it appears that the point of struct uvmexp_sysctl is/was to
 >  provide such a stable interface:
 >
 >    revision 1.15
 >    date: 2000/11/29 09:52:19;  author: simonb;  state: Exp;  lines: +90 -2
 >    Add a vm.uvmexp2 sysctl that uses a ABI-safe 'struct uvmexp_sysctl'.
 >
 >  I don't know why this didn't keep the old number and ABI for the new
 >  sysctl (it's a little late now), but that's immaterial as the original
 >  submitter's bubblemon-dockapp was not compiled before 2000/11/29. The
 >  problem is that it's using an unsupported/unstable interface.
 >
 >  Anyway, it looks as if the submitter provided a bubblemon package with
 >  a patch for this, so I think this PR can be closed... any objections?
 >
 >  (Or maybe the unstable uvmexp interface should be removed so nothing
 >  else can trip on it?)
 >
 >  --
 >  David A. Holland
 >  dholland%netbsd.org@localhost
 >
 >
 
 --0016361e878afadc0304943796cb
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 I think the cleanest solution would be to revert to the correct uvm strutur=
 e,<br>=C2=A0and revert the handling of the affected programs, rather than t=
 o keep the <br>corruption for compatibility, but honestly i have mostly for=
 gotten details since,<br>
 =C2=A0and had no time to check yet, so i&#39;d ask you to wait a while (1-2=
  weeks at most)<br>=C2=A0before closing the pr, so i could check the proble=
 m, and provide more apropriate details.<br>But i must ask for this delay, a=
 s currently i have no resources for this problem.<br>
 <br>Thanks!<br>Yours Sincerely: Gabor Gergely<br><br><div class=3D"gmail_qu=
 ote">On Mon, Oct 25, 2010 at 3:40 AM, David Holland <span dir=3D"ltr">&lt;<=
 a 
href=3D"mailto:dholland-bugs%netbsd.org@localhost";>dholland-bugs%netbsd.org@localhost</a>&gt;=
 </span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; borde=
 r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">The following rep=
 ly was made to PR lib/39631; it has been noted by GNATS.<br>
 <br>
 From: David Holland &lt;<a 
href=3D"mailto:dholland-bugs%netbsd.org@localhost";>dhollan=
 d-bugs%netbsd.org@localhost</a>&gt;<br>
 To: <a 
href=3D"mailto:gnats-bugs%netbsd.org@localhost";>gnats-bugs%netbsd.org@localhost</a><br>
 Cc: matthew green &lt;<a 
href=3D"mailto:mrg%eterna.com.au@localhost";>mrg%eterna.com.a@localhost=
 u</a>&gt;<br>
 Subject: Re: lib/39631: uvm_extern.h got corrupted to current<br>
 Date: Mon, 25 Oct 2010 01:36:55 +0000<br>
 <br>
 =C2=A0On Mon, Sep 29, 2008 at 04:59:45AM +1000, matthew green wrote:<br>
  =C2=A0&gt; =C2=A0 =C2=A0 &gt; while tring to get bubblemon-dockapp alive, =
 it complained about<br>
  =C2=A0&gt; =C2=A0 =C2=A0 &gt; missing element of struct uvmexp i checked d=
 ocs, and the element<br>
  =C2=A0&gt; =C2=A0 =C2=A0 &gt; active is supposed to be there in the struct=
 . I checked<br>
  =C2=A0&gt; =C2=A0 =C2=A0 &gt; /usr/include/uvm/uvm_extern.h and struct uvm=
 ext looks like:<br>
  =C2=A0&gt; =C2=A0 =C2=A0 &gt; [snip]<br>
  =C2=A0&gt;<br>
  =C2=A0&gt; =C2=A0 =C2=A0This is not &quot;corruption&quot;, nor is it a &q=
 uot;regression&quot;; that element was<br>
  =C2=A0&gt; =C2=A0 =C2=A0intentionally removed from struct uvmexp.<br>
  =C2=A0&gt;<br>
  =C2=A0&gt; =C2=A0 =C2=A0It appears that uvm(9) was not updated to reflect =
 this.<br>
  =C2=A0&gt;<br>
  =C2=A0&gt; =C2=A0 =C2=A0It also appears that this bubblemon-dockapp is bro=
 ken; it should be<br>
  =C2=A0&gt; =C2=A0 =C2=A0using struct uvmexp_sysctl and the VM_UVMEXP2 sysc=
 tl to get it, rather<br>
  =C2=A0&gt; =C2=A0 =C2=A0than struct uvmexp and VM_UVMEXP.<br>
  =C2=A0&gt;<br>
  =C2=A0&gt;<br>
  =C2=A0&gt; if VM_UVMEXP is returning different info then someone has broke=
 n it.<br>
 <br>
 =C2=A0Whee, I appear to have had this marked to write a reply &quot;later&q=
 uot; for<br>
 =C2=A0two years.<br>
 <br>
 =C2=A0Anyway, it appears that the point of struct uvmexp_sysctl is/was to<b=
 r>
 =C2=A0provide such a stable interface:<br>
 <br>
  =C2=A0 =C2=A0revision 1.15<br>
  =C2=A0 =C2=A0date: 2000/11/29 09:52:19; =C2=A0author: simonb; =C2=A0state:=
  Exp; =C2=A0lines: +90 -2<br>
  =C2=A0 =C2=A0Add a vm.uvmexp2 sysctl that uses a ABI-safe &#39;struct uvme=
 xp_sysctl&#39;.<br>
 <br>
 =C2=A0I don&#39;t know why this didn&#39;t keep the old number and ABI for =
 the new<br>
 =C2=A0sysctl (it&#39;s a little late now), but that&#39;s immaterial as the=
  original<br>
 =C2=A0submitter&#39;s bubblemon-dockapp was not compiled before 2000/11/29.=
  The<br>
 =C2=A0problem is that it&#39;s using an unsupported/unstable interface.<br>
 <br>
 =C2=A0Anyway, it looks as if the submitter provided a bubblemon package wit=
 h<br>
 =C2=A0a patch for this, so I think this PR can be closed... any objections?=
 <br>
 <br>
 =C2=A0(Or maybe the unstable uvmexp interface should be removed so nothing<=
 br>
 =C2=A0else can trip on it?)<br>
 <br>
 =C2=A0--<br>
 =C2=A0David A. Holland<br>
 =C2=A0<a 
href=3D"mailto:dholland%netbsd.org@localhost";>dholland%netbsd.org@localhost</a><br>
 <br>
 </blockquote></div><br>
 
 --0016361e878afadc0304943796cb--
 


Home | Main Index | Thread Index | Old Index