Bug#863101: Uscan uses all available memory of the system when run against guitarix

Adam D. Barratt adam at adam-barratt.org.uk
Sun May 21 20:05:38 UTC 2017


Control: tags -1 + moreinfo unreproducible

On Sun, 2017-05-21 at 21:06 +0200, Víctor Cuadrado Juan wrote:
> When run against guitarix package git repo, at commit 7ff29bd,
> for obtaining `guitarix2-0.35.3.tar.xz` that would become the
> `guitarix_0.35.3.orig.tar.xz` symlink, `uscan --verbose` uses
> all available ram of the system and if lucky it outputs
> "Out of memory!".

I've been unable to reproduce this using either jessie or sid's uscan
(running on a jessie host, admittedly). I'd be interested if anyone else
can reproduce this or if there's anything unusual about the machine.

On a side note, looking at the watchfile:

(?:|.*/)guitarix2(?:[_\-]v?|)(\d[^\s/]*)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz)

The parenthesised groups are "either nothing, or zero or more characters
followed by a slash", "either nothing, or [one of underscore, backslash
or hyphen, possibly followed by v]", "a digit possibly followed by any
number of characters that aren't whitespace or a slash", and then an
extension.

It seems very unlikely to me that those are actually the things you want
to be matching - if you're trying to make the matching optional, then
"(foo)?" would be far more idiomatic an obvious than "(foo|)" or "(|
foo)", and the chances that there'll be a literal backslash in the URL
are quite small.

Is there any particular reason you're not using something simpler, along
the lines suggested by the manpage? This gives the expected result for
me:

version=3
http://sf.net/guitarix/ guitarix2(?:[_-]v?)?(\d.*)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz)

Regards,

Adam



More information about the devscripts-devel mailing list