Ian Jackson
2013-Sep-09 14:35 UTC
[PATCH] Fix ocaml build in 4.1; problem with 4.1.6 release
(CC to xen-devel added) Ian Jackson writes ("Problem with 4.1.6 release"):> Jan Beulich writes ("please sign-and-tag 4.2.3 and 4.1.6"): > > Ian - could you also create tarballs as usual? > > The 4.1.6 tarball failed its build test. This is due to an actual > build failure in 4.1.6. See below. This is probably a result of > 070ab4c505934951f86f42dd8403cf62bc5822f0 "oxenstored: Protect > oxenstored from malicious domains".Now confirmed by a local rebuild with 070ab4 reverted. Possible fix below. This builds but I haven''t tested it.> It appears that when I backported this change I this change from 4.2.x > to 4.1.x, I cannot have done a build test :-/. (I have upgraded my > workstation in between but the error doesn''t seem likely to be due to > a compiler version change.) > > The backport to 4.2.x involved conflicts, which I fixed up, and did do > a build test for so it looks like I resolved the conflict correctly. > The 4.1.x backport (of the 4.2.x patch) didn''t involve textual > conflicts but it seems to have a semantic conflict. > > The osstest testing system doesn''t install ocaml compilers, because > that makes it use oxenstored by default and the last time I attempted > to do this it produced regressions. So the push gate didn''t catch > this problem. > > I have already made and pushed a signed tag for 4.1.6. That suggests > that we should abandon the 4.1.6 version number, in favour of 4.1.6.1 > maybe. > > We also have to decide what to do with the code. We shouldn''t really > simply revert this fix, which is security-relevant. > > CC the authors of the patch which when backported became 070ab4c50593, > and Andrew Cooper who knows something about this code. > > Ian. > > make[5]: Entering directory `/u/iwj/work/xen.git/tools/ocaml/xenstored'' > MLI symbol.cmi > MLI trie.cmi > MLOPT define.cmx > MLOPT stdext.cmx > MLOPT trie.cmx > MLOPT config.cmx > MLOPT logging.cmx > File "logging.ml", line 113, characters 3-4: > Warning 11: this match case is unused. > MLOPT quota.cmx > MLOPT perms.cmx > MLOPT symbol.cmx > MLOPT utils.cmx > MLOPT store.cmx > MLOPT disk.cmx > MLOPT transaction.cmx > MLOPT event.cmx > MLOPT domain.cmx > MLOPT domains.cmx > MLOPT connection.cmx > MLOPT connections.cmx > MLOPT parse_arg.cmx > MLOPT process.cmx > File "process.ml", line 375, characters 3-8: > Error: Unbound value errorcommit 7e792ffe54adc2d9fcc210baa8140f210a841c31 Author: Ian Jackson <ian.jackson@eu.citrix.com> Date: Mon Sep 9 15:30:42 2013 +0100 oxenstored: Fix process.ml build after 070ab4c50593 This change: 070ab4c505934951f86f42dd8403cf62bc5822f0 "oxenstored: Protect oxenstored from malicious domains" broke the build because it had an unresolved semantic (but not textual) conflict with c69fddbd5dfa3004aaf2d0f2dde00c9ec3dd6d5d "tools/ocaml: Remove log library from tools/ocaml/libs" (which is in 4.2 but not 4.1) Fix this by using the 4.1.x idiom in the new error handling introduced in 070ab4c50593. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/process.ml index bd87646..5c81755 100644 --- a/tools/ocaml/xenstored/process.ml +++ b/tools/ocaml/xenstored/process.ml @@ -372,8 +372,8 @@ let do_input store cons doms con try Connection.do_input con with Failure exp -> - error "caught exception %s" exp; - error "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con)); + Logs.error "general" "caught exception %s" exp; + Logs.error "general" "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con)); Connection.mark_as_bad con; false in
Ian Jackson writes ("Problem with 4.1.6 release"):> The 4.1.6 tarball failed its build test. This is due to an actual > build failure in 4.1.6. See below. This is probably a result of > 070ab4c505934951f86f42dd8403cf62bc5822f0 "oxenstored: Protect > oxenstored from malicious domains".Ian Jackson writes ("[PATCH] Fix ocaml build in 4.1; problem with 4.1.6 release"):> Possible fix below. This builds but I haven''t tested it.I think we should proceed as follows: * Ditch the version number 4.1.6 in favour of 4.1.7 * Get some review and acks on my fix patch * Tag qemu-xen-traditional with 4.1.7 and update Xen 4.1''s Config.mk * Push the fix patch into 4.1-testing * Edit the release notes for 4.1.6 into ones for 4.1.7, and mention there that 4.1.6 was not actually released due to a problem during the release process. * Release the result, 4.1.7, perhaps without waiting for the push gate Ian.
>>> On 09.09.13 at 16:59, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: > I think we should proceed as follows: > * Ditch the version number 4.1.6 in favour of 4.1.7 > * Get some review and acks on my fix patch > * Tag qemu-xen-traditional with 4.1.7 and update Xen 4.1''s Config.mk > * Push the fix patch into 4.1-testing > * Edit the release notes for 4.1.6 into ones for 4.1.7, and mention > there that 4.1.6 was not actually released due to a problem during > the release process. > * Release the result, 4.1.7, perhaps without waiting for the push gateAll fine with me with the possible exception of using 4.1.7 - personally I think that 4.1.6.1 would be more appropriate. Jan
David Scott
2013-Sep-09 16:23 UTC
Re: [PATCH] Fix ocaml build in 4.1; problem with 4.1.6 release
On 09/09/13 15:35, Ian Jackson wrote:> (CC to xen-devel added) > > Ian Jackson writes ("Problem with 4.1.6 release"): >> Jan Beulich writes ("please sign-and-tag 4.2.3 and 4.1.6"): >>> Ian - could you also create tarballs as usual? >> >> The 4.1.6 tarball failed its build test. This is due to an actual >> build failure in 4.1.6. See below. This is probably a result of >> 070ab4c505934951f86f42dd8403cf62bc5822f0 "oxenstored: Protect >> oxenstored from malicious domains". > > Now confirmed by a local rebuild with 070ab4 reverted. > Possible fix below. This builds but I haven''t tested it. > >> It appears that when I backported this change I this change from 4.2.x >> to 4.1.x, I cannot have done a build test :-/. (I have upgraded my >> workstation in between but the error doesn''t seem likely to be due to >> a compiler version change.) >> >> The backport to 4.2.x involved conflicts, which I fixed up, and did do >> a build test for so it looks like I resolved the conflict correctly. >> The 4.1.x backport (of the 4.2.x patch) didn''t involve textual >> conflicts but it seems to have a semantic conflict. >> >> The osstest testing system doesn''t install ocaml compilers, because >> that makes it use oxenstored by default and the last time I attempted >> to do this it produced regressions. So the push gate didn''t catch >> this problem. >> >> I have already made and pushed a signed tag for 4.1.6. That suggests >> that we should abandon the 4.1.6 version number, in favour of 4.1.6.1 >> maybe. >> >> We also have to decide what to do with the code. We shouldn''t really >> simply revert this fix, which is security-relevant. >> >> CC the authors of the patch which when backported became 070ab4c50593, >> and Andrew Cooper who knows something about this code. >> >> Ian. >> >> make[5]: Entering directory `/u/iwj/work/xen.git/tools/ocaml/xenstored'' >> MLI symbol.cmi >> MLI trie.cmi >> MLOPT define.cmx >> MLOPT stdext.cmx >> MLOPT trie.cmx >> MLOPT config.cmx >> MLOPT logging.cmx >> File "logging.ml", line 113, characters 3-4: >> Warning 11: this match case is unused. >> MLOPT quota.cmx >> MLOPT perms.cmx >> MLOPT symbol.cmx >> MLOPT utils.cmx >> MLOPT store.cmx >> MLOPT disk.cmx >> MLOPT transaction.cmx >> MLOPT event.cmx >> MLOPT domain.cmx >> MLOPT domains.cmx >> MLOPT connection.cmx >> MLOPT connections.cmx >> MLOPT parse_arg.cmx >> MLOPT process.cmx >> File "process.ml", line 375, characters 3-8: >> Error: Unbound value error > > commit 7e792ffe54adc2d9fcc210baa8140f210a841c31 > Author: Ian Jackson <ian.jackson@eu.citrix.com> > Date: Mon Sep 9 15:30:42 2013 +0100 > > oxenstored: Fix process.ml build after 070ab4c50593 > > This change: > 070ab4c505934951f86f42dd8403cf62bc5822f0 > "oxenstored: Protect oxenstored from malicious domains" > broke the build because it had an unresolved semantic (but not > textual) conflict with > c69fddbd5dfa3004aaf2d0f2dde00c9ec3dd6d5d > "tools/ocaml: Remove log library from tools/ocaml/libs" > (which is in 4.2 but not 4.1) > > Fix this by using the 4.1.x idiom in the new error handling introduced > in 070ab4c50593. > > Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> > > diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/process.ml > index bd87646..5c81755 100644 > --- a/tools/ocaml/xenstored/process.ml > +++ b/tools/ocaml/xenstored/process.ml > @@ -372,8 +372,8 @@ let do_input store cons doms con > try > Connection.do_input con > with Failure exp -> > - error "caught exception %s" exp; > - error "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con)); > + Logs.error "general" "caught exception %s" exp; > + Logs.error "general" "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con)); > Connection.mark_as_bad con; > false > inThis looks good to me: Acked-by: David Scott <dave.scott@eu.citrix.com> Cheers, Dave
Ian Jackson
2013-Sep-09 16:31 UTC
Re: [PATCH] Fix ocaml build in 4.1; problem with 4.1.6 release
David Scott writes ("Re: [PATCH] Fix ocaml build in 4.1; problem with 4.1.6 release"):> > commit 7e792ffe54adc2d9fcc210baa8140f210a841c31 > > Author: Ian Jackson <ian.jackson@eu.citrix.com> > > Date: Mon Sep 9 15:30:42 2013 +0100 > > > > oxenstored: Fix process.ml build after 070ab4c50593...> This looks good to me: > > Acked-by: David Scott <dave.scott@eu.citrix.com>Great, thanks. I have applied that to staging-4.1. Ian.
Maybe Matching Threads
- [PATCH 0 of 4 V2] oxenstored fixes -- fixes recent pvops kernel hang
- [PATCH 08/13] xen init script: rewrite xenstored start logic
- [PATCH 06/13] sysconfig.xencommons.in: Strip and debianize
- /var/lib/xenstored & Xen4CentOS
- [PATCH 00/13] Patch blast of salsa wip.testme branch