[darcs-users] Darcs 2.4 - performance testing (stage 0)

Nathan Gray kolibrie at graystudios.org
Mon Jan 4 15:11:51 UTC 2010


On Wed, Dec 30, 2009 at 04:55:37PM +0100, Petr Rockai wrote:
> Nathan Gray <kolibrie at graystudios.org> writes:
> > In another terminal I investigated a little bit.  It looks like
> > 'darcs unpull' is hanging:
> >
> >   $ date
> >   Tue Dec 29 16:29:33 EST 2009
> >
> >   $ ps ax|grep darcs
> >   5311 pts/0    S+     0:17 darcs-benchmark /home/kolibrie/bin/darcs-2.3.1 /home/kolibrie/bin/darcs
> >   6136 pts/0    Sl+    0:21 /home/kolibrie/bin/darcs-2.3.1 unpull --last 1000 --all +RTS -sdarcs-stats -RTS
> >
> >   $ uptime
> >   16:29:31 up  1:05,  3 users,  load average: 0.10, 0.32, 0.47
>
> I have seen this happen (actually, it happens on buildbot as well, and
> it doesn't happen on my laptop...), too. The question is what's going
> wrong... On the buildbot, I haven't noticed any hanging darcs
> processes. I am starting to suspect, that darcs is waiting for some user
> input in that case. It could be the "this will make unrevert impossible"
> one, but I don't see anything in the benchmark code that could produce
> one and there is none in the tarballs. Also, it should be reproducible
> that way.
> 
> > Any ideas what I should do, besides kill it?
>
> If you could find out what that hanging darcs process is doing (strace
> -p is your friend), that'd be great. Also, running that command manually
> could help to find out: go to _playground/repo and run darcs-2.3.1
> unpull --last 1000 --all.

Strace repeats the same output forever for the 'unpull' process:

  $ strace -p 6136
  Process 6136 attached - interrupt to quit
  futex(0x91bcbc0, FUTEX_WAIT_PRIVATE, 7, NULL) = ? ERESTARTSYS (To be restarted)
  --- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
  sigreturn()                             = ? (mask now [INT])
  futex(0x91bcbc0, FUTEX_WAIT_PRIVATE, 7, NULL) = ? ERESTARTSYS (To be restarted)
  --- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
  sigreturn()                             = ? (mask now [INT])
  ...

Strace on the 'darcs-benchmark' process has much less output, but
appears to repeat as well:

  $ strace -p 5311
  Process 5311 attached - interrupt to quit
  select(10, [9], [], NULL, {9, 508000})  = 0 (Timeout)
  gettimeofday({1262616419, 519725}, NULL) = 0
  select(10, [9], [], NULL, {134, 217727}) = 0 (Timeout)
  gettimeofday({1262616553, 739716}, NULL) = 0
  select(10, [9], [], NULL, {134, 217727}...

After killing darcs-benchmark, running unpull manually yields a
prompt:

  $ darcs-2.3.1 unpull --last 1000 --all
  This operation will make unrevert impossible!
  Proceed? [yn]

This is strange because I have made no changes to the repo:

  $ darcs w -s
  No changes!

Nor has the benchmark, so far as I can tell:

  darcs-2.3.1 get (full) [darcs]: 1!..2!..11.0s, 11.0M
  darcs-2.3.1 get (lazy, x10) [darcs]: 1!..2!..10.3s, 3.0M
  darcs-2.3.1 pull 100 [darcs]: 1!..2...  3.9s, 21.0M
  darcs-2.3.1 annotate [darcs]: 1...2...  23.7s, 186.0M
  darcs-2.3.1 wh x50 [darcs]: 1...2...    0.8s, 0.0M
  darcs-2.3.1 wh mod x50 [darcs]: 1...2...5.8s, 2.0M
  darcs-2.3.1 wh -l x20 [darcs]: 1...2... 3.7s, 4.0M
  darcs-2.3.1 check [darcs]: 1...2...     21.9s, 43.0M
  darcs-2.3.1 repair [darcs]: 1...2...    22.2s, 43.0M
  darcs-2.3.1 pull 1000 [darcs]: 1...Terminated

Running darcs unrevert asks about (see full output further down):

  hunk ./.authorspellings 1
  rmfile ./.authorspellings
  hunk ./.latex2html-init 1
  rmfile ./.latex2html-init
  
Full output from unrevert:

  $ darcs unrevert
  hunk ./.authorspellings 1
  --- Canonical author spellings can be defined in this file, to clean up
  --- the output of show authors. Each line contains one or more
  --- comma-separated fields: the canonical name and email address in
  --- angle brackets, optionally followed by additional regular
  --- expression patterns. Blank lines and lines beginning with -- are
  --- ignored. An author string which contains the canonical email
  --- address or any of the patterns will be replaced by the full
  --- canonical form.  All matching is case-insensitive. To match the
  --- whole author string use ^ and $.
  -
  -Aaron Denney <wnoise at ofb.net>
  -Aaron Kaplan <dk59gjhnd at aaronkaplan.info>
  -Adam Megacz <adam at megacz.com>
  -Aggelos Economopoulos <aoiko at cc.ece.ntua.gr>
  -Anders Hockersten <chucky at dtek.chalmers.se>
  -Andres Loeh <mail at andres-loeh.de>, andres at cs.uu.nl, loeh at iai.uni-bonn.de
  -Andrew J. Kroll <forge at dr.ea.ms>
  -Andrew L Johnson <andrew at siaris.net>
  -Andrew Pimlott <andrew at pimlott.net>
  -Anthony Towns <aj at azure.humbug.org.au>
  -Benedikt Schmidt <benedikt.schmidt at inf.ethz.ch>, beschmi at cloaked.de
  -Benjamin Franksen <ben.franksen at online.de>, benjamin.franksen at bessy.de
  -Brian Alliet <brian at brianweb.net>
  -Bryce Wilcox-O'Hearn <zooko at zooko.com>
  -Christian Egli <egli at apache.org>
  -Christian Kellermann <Christian.Kellermann at nefkom.net>
  -Daniel Buenzli <daniel.buenzli at epfl.ch>
  -Daniel Gorin <dgorin at dc.uba.ar>
  -David Roundy <droundy at darcs.net>, droundy at abridgegame.org, droundy at civet.berkeley.edu, ^David$
  -Don Bindner <dbindner at truman.edu>
  -Don Stewart <dons at galois.com>, dons at cse.unsw.edu.au
  -Edwin Thomson <edwin.thomson at businesswebsoftware.com>, edwin.thomson at gmail.com
  -Era Eriksson <era+darcs at iki.fi>
  -Eric Gaudet <eric at rti-zone.org>
  -Eric Kow <kowey at darcs.net>, kow at loria.fr, eric.kow at gmail.com, eric.kow at loria.fr, E.Y.Kow at brighton.ac.uk
  -Erik Schnetter <schnetter at cct.lsu.edu>, schnetter at aei.mpg.de, schnetter at aei.mpg.de
  -Esa Ilari Vuokko <ei at vuokko.info>
  -Florent Becker <florent.becker at ens-lyon.org>
  -Florian Weimer <fw at deneb.enyo.de>
  -Gaetan Lehmann <gaetan.lehmann at jouy.inra.fr>
  -Gwern Branwen <gwern0 at gmail.com>, ^$
  -Henning Glawe <glaweh at physik.fu-berlin.de>
  -Ian Lynagh <igloo at earth.li>
  -Isaac Jones <ijones at debian.org>
  -Jan Braun <janbraun at gmx.net>
  -Jan Scheffczyk <jan at informatik.unibw-muenchen.de>
  -Jani Monoses <jani at iv.ro>
  -Jens Petersson <petersen at haskell.org>
  -Jeremy Fincher <jemfinch at supybot.com>
  -Joe Edmonds <joe at elem.com>
  -Joeri van Ruth <jvr at blub.net>, jvr\+darcs at blub.net
  -Jonathon Mah <me at JonathonMah.com>
  -Juliusz Chroboczek <jch at pps.jussieu.fr>
  -Kannan Goundan <kannan at cakoose.com>
  -Ketil Malde <ketil at ii.uib.no>
  -Kirill Smelkov <kirr at landau.phys.spbu.ru>, kirr at mns.spb.ru
  -Kirsten Chevalier <chevalier at alum.wellesley.edu>
  -Lele Gaifax <lele at nautilus.homeip.net>, lele at seldati.it, lele at nautilus.homeip.net
  -Lennart Kolmodin <kolmodin at gentoo.org>, kolmodin at dtek.chalmers.se
  -Marco T\c3\balio Gontijo e Silva <marcot at holoscopio.com>, malebria at riseup.net
  -Mark Stosberg <mark at summersault.com>, testerALL --ignore-times
  -Marnix Klooster <marnix.klooster at gmail.com>, marnix[._]klooster, mklooster at baan.nl
  -Martin Schaffner <schaffner at gmx.li>
  -Matthias Kilian <kili at outback.escape.de>
  -Michael G Schwern <schwern at pobox.com>
  -Mirian Crzig Lennox <mirian at cosmic.com>, mirian@
  -Nathaniel Filardo <nwf at cs.jhu.edu>
  -Nicolas Pouillard <nicolas.pouillard at gmail.com>
  -Nigel Rowe <rho at swiftdsl.com.au>
  -Nils Decker <nils at ndecker.de>
  -Pekka Pessi <pekka.pessi at nokia.com>, Pekka Pessi <first.last at nokia.com>, ppessi at gmail.com, pekka at pessi.fi
  -Peter Hercek <peter at syncad.com>
  -Peter Maxwell <peter.maxwell at anu.edu.au>
  -Peter Simons <simons at cryp.to>
  -Peter Strand <peter at zarquon.se>
  -Petr Rockai <me at mornfall.net>
  -Ralph Corderoy <ralph at inputplus.co.uk>
  -Randy Roesler <xhl178 at shaw.ca>
  -Reinier Lamers <tux_rocker at reinier.de>
  -Richard Smith <smithbone at gmail.com>
  -Samuel Bronson <naesten at myrealbox.com>
  -Sean Robinson <sean.robinson at sccmail.maricopa.edu>
  -Sean Russell <ser at germane-software.com>
  -Shae Erisson <shae at ScannedInAvian.com>
  -Simon Marlow <simonmar at microsoft.com>, marlowsd at gmail.com
  -Simon Michael <simon at joyful.com>
  -Spencer Janssen <spencerjanssen at gmail.com>, sjanssen at cse.unl.edu
  -Stephen Reindl <sreindl at triobit.de>
  -Thies C. Arntzen <thies at thieso.net>
  -Thomas L. Bevan <thomas_bevan at toll.com.au>
  -Thomas Zander <zander at kde.org>, TZander at Factotummedia.nl
  -Thorkil Naur <naur at post11.tele.dk>
  -Tomasz Zielonka <tomasz.zielonka at gmail.com>, t.zielonka at students.mimuw.edu.pl, tomekz at gemius.pl
  -Tommy Pettersson <ptp at lysator.liu.se>
  -Trent W. Buck <trentbuck at gmail.com>, twb at cyber.com.au
  -Vaclav Haisman <v.haisman at sh.cvut.cz>
  -Vadim Zaliva <lord at crocodile.org>
  -Victor Hugo Borja Rodriguez <vborja at thehatcher.com>
  -Vladimir Vysotsky <trivee at noir.crocodile.org>
  -Zack Brown <zbrown at tumblerings.org>
  Shall I unrevert this change? (1/4)  [ynWsfvplxdaqjk], or ? for help: y
  rmfile ./.authorspellings
  Shall I unrevert this change? (2/4)  [ynWsfvplxdaqjk], or ? for help: y
  hunk ./.latex2html-init 1
  -
  -# This file is used by latex2html to appropriately reference our custom icons
  -
  -$ICONSERVER = ".";
  -
  -%iconsizes = (
  -    'up' ,'WIDTH="22" HEIGHT="22" title="Up" ',
  -    'next','WIDTH="22" HEIGHT="22" title="Next" ',
  -    'previous','WIDTH="22" HEIGHT="22" title="Previous" ',
  -    'next_group' ,'WIDTH="22" HEIGHT="22" title="Next Group" ',
  -    'next_inactive' ,'WIDTH="22" HEIGHT="22" title="Next" ',
  -    'previous_group','WIDTH="107" HEIGHT="22" title="Previous Group" ',
  -    'change_begin','WIDTH="104" HEIGHT="22" ',
  -    'change_begin_right','WIDTH="104" HEIGHT="22" ALIGN="RIGHT"',
  -    'change_end','WIDTH="104" HEIGHT="22"',
  -    'change_end_right','WIDTH="104" HEIGHT="22" ALIGN="RIGHT"',
  -    'change_delete','WIDTH="109" HEIGHT="22"',
  -    'change_delete_right','WIDTH="109" HEIGHT="22" ALIGN="RIGHT"',
  -    'contents','WIDTH="22" HEIGHT="22" title="Contents" ',
  -    'index','WIDTH="22" HEIGHT="22" title="Index" ',
  -    'image','WIDTH="22" HEIGHT="22" title="Image" '
  -);
  -
  -1;
  Shall I unrevert this change? (3/4)  [ynWsfvplxdaqjk], or ? for help: y
  rmfile ./.latex2html-init
  Shall I unrevert this change? (4/4)  [ynWsfvplxdaqjk], or ? for help: y

Any guidance what I should do?

-kolibrie

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20100104/7feed0fb/attachment.pgp>


More information about the darcs-users mailing list