Bug 1291021 - (debruijn) Review Request: debruijn - Software for the generation de Bruijn sequences for neuroscience experiments
Review Request: debruijn - Software for the generation de Bruijn sequences fo...
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Zbigniew Jędrzejewski-Szmek
Fedora Extras Quality Assurance
:
Depends On:
Blocks: fedora-neuro
  Show dependency treegraph
 
Reported: 2015-12-12 16:37 EST by Igor Gnatenko
Modified: 2017-03-05 17:33 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
zbyszek: fedora‑review?


Attachments (Terms of Use)

  None (edit)
Description Igor Gnatenko 2015-12-12 16:37:39 EST
Spec URL: https://ignatenkobrain.fedorapeople.org/neurofedora/debruijn.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/neurofedora/debruijn-0.0.0-0.1.git1563f6f.fc24.src.rpm
Description: Software for the generation de Bruijn sequences for neuroscience experiments.
Fedora Account System Username: ignatenkobrain
Comment 1 Zbigniew Jędrzejewski-Szmek 2015-12-12 22:34:29 EST
- software is under an acceptable license (BSD with adv.)
- latest (git) snapshot
- license file is wrong, but upstream has been notified
- no scriptlets
- requires/provides are OK
- new python packaging template is used
- builds and installs OK
- fedora-review is happy

You can drop '%doc README.md', the README is essentially empty.

There's a compiled binary repo in the archive, remove it in %prep to be sure it's not packaged by mistake.

Add %check:
%{buildroot}%{_bindir}/debruijn 12 3

It seems fairly easy to crash it by specifying sufficiently large values:
$ debruijn 12 8
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)

valgrind in general is not too happy with the binary ;)

rpmlint:
debruijn.i686: W: spelling-error Summary(en_US) de -> DE, ed, d
debruijn.i686: W: spelling-error Summary(en_US) neuroscience -> pseudoscience
debruijn.i686: W: spelling-error %description -l en_US de -> DE, ed, d
debruijn.i686: W: spelling-error %description -l en_US neuroscience -> pseudoscience
rpmlint is prescient!

debruijn.i686: W: no-manual-page-for-binary debruijn
debruijn.src: W: spelling-error Summary(en_US) de -> DE, ed, d
debruijn.src: W: spelling-error Summary(en_US) neuroscience -> pseudoscience
debruijn.src: W: spelling-error %description -l en_US de -> DE, ed, d
debruijn.src: W: spelling-error %description -l en_US neuroscience -> pseudoscience
debruijn-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/DeBruijn-1563f6f8833d88b7cde399cbf93f35b8b4b81586/debruijn.cpp
debruijn-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/DeBruijn-1563f6f8833d88b7cde399cbf93f35b8b4b81586/debruijn.h
3 packages and 0 specfiles checked; 0 errors, 11 warnings.

All OK.
Comment 2 Igor Gnatenko 2015-12-13 06:41:44 EST
Fixed. Links are the same.

I tried to figure out what happened with this program, but I cant fix crashing =(
Comment 3 Zbigniew Jędrzejewski-Szmek 2015-12-18 23:57:28 EST
chmod -x ... build ..., and then pushd build fails with permission denied :(

%check is missing the name of the program to run...

Why do you need cmake? Isn't the upstream Makefile good enough?

It seems that it makes very large allocations on the stack. But even if those are changed to use the heap, function calls recurse very deeply and fill the stack. So there's no obvious "error", just the program is designed in a way where it cannot be used with large arguments.
Comment 4 Zbigniew Jędrzejewski-Szmek 2015-12-19 10:00:24 EST
(In reply to Zbigniew Jędrzejewski-Szmek from comment #3)
> It seems that it makes very large allocations on the stack. But even if
> those are changed to use the heap, function calls recurse very deeply and
> fill the stack. So there's no obvious "error", just the program is designed
> in a way where it cannot be used with large arguments.
In case the intent wasn't clear: I'm trying to say this crashiness is ugly, but not something to hold up the review.
Comment 5 Zbigniew Jędrzejewski-Szmek 2017-03-05 17:33:45 EST
?

Note You need to log in before you can comment on or make changes to this bug.