valkyrie fails to run valgrind

Bug #635129 reported by quantumstripper
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
valkyrie (Debian)
Fix Released
Unknown
valkyrie (Ubuntu)
Fix Released
Critical
Unassigned
Nominated for Natty by Dave Gilbert

Bug Description

Binary package hint: valkyrie

1) release: Ubuntu 10.04.1 LTS
2) Relevant packages and versions:
 valkyrie 1.4.0-2
 valgrind 1:3.6.0~svn20100212-0ubuntu5
3) After configuring valkyrie to run valgrind on a program that I'm working on, I expect valgrind to successfully run and Valkyrie to display valgrind's output
4) Instead, I get an error message in Valkyrie: "Valgrind XML output is incomplete." The valgrind output on the command line reports:
==18969== --xml=yes has been specified, but there is no XML output
==18969== destination. You must specify an XML output destination
==18969== using --xml-fd=, --xml-file= or --xml=socket=.
valgrind: Bad option '--xml=yes, but no XML destination specified'; aborting.
valgrind: Use --help for more information.

It appears that valkyrie is expecting a different version of valgrind, but there appears to be no configuration option in the configuration dialogs or on the command line to specify which version of valgrind to run or which options to pass to valgrind.

I believe that it is a version mis-match issue because of the following: running 'valkyrie -V' outputs the valgrind options that it is aware of, whereas running 'valgrind --help' reports a different and larger set of options as though the installed version of valgrind is higher than the version that valkyrie expects. The outputs of both commands follow.
____________________________________________________________________
Output from 'valkyrie -V':

Usage: valkyrie [valkyrie-opts] [valgrind-opts] [prog-and-args]

Valkyrie options:
  -h, --help show this help message and exit
  -v, --version display version information and exit
  -V, --valgrind-opts show valgrind options too, and exit
  --working-dir <dir> dir under which to run valgrind [./]
  --view-log <file> parse and view a valgrind logfile
  --merge <loglist> merge multiple logfiles, discarding
                                      duplicate errors

Valgrind options:
  --tool <name> use the Valgrind tool named <name>.
                                      Available tools are: memcheck,
                                      cachegrind, massif [memcheck]
  --verbosity <0..4> Be more verbose, include counts of errors
                                      [1]
  --trace-children <yes|no> Valgrind-ise child processes (follow
                                      execve)? [no]
  --child-silent-after-fork <yes|no> omit child output between fork & exec?
                                      [yes]
  --track-fds <yes|no> track open file descriptors? [no]
  --time-stamp <yes|no> add timestamps to log messages? [no]
  --log-fd <1..1024> log messages to file descriptor
                                      (1=stdout, 2=stderr) [2]
  --log-file <file> log messages to <file>
  --log-socket <ipaddr:port> log messages to socket ipaddr:port
  --run-libc-freeres <yes|no> Free up glibc memory at exit? [yes]
  --sim-hints <hint1,hint2,...> Slightly modify the simulated behaviour.
                                      Recognised hints are: lax-ioctls,
                                      enable-outer. Use with caution! [none]
  --kernel-variant <variant1,...> Handle non-standard kernel variants.
                                      Recognised variants are: bproc. Use with
                                      caution! [none]
  --show-emwarns <yes|no> show warnings about emulation limits? [no]
  --smc-check <none|stack|all> checks for self-modifying code: none,
                                      only for code on the stack, or all [stack]
  --xml <yes|no> all output is in XML [yes]
  --xml-user-comment <str> copy <str> verbatim to XML output
  --demangle <yes|no> automatically demangle C++ names? [yes]
  --num-callers <1..50> show <num> callers in stack traces [12]
  --error-limit <yes|no> Stop showing new errors if too many? [yes]
  --show-below-main <yes|no> continue stack traces below main() [no]
  --suppressions <file1,...> suppress errors described in suppressions
                                      file(s)
  --gen-suppressions <yes|no|all> print suppressions for errors? [no]
  --db-attach <yes|no> start debugger when errors detected? [no]
  --db-command <command> command to start debugger [/usr/bin/gdb
                                      -nw %f %p]
  --input-fd <0..1024> File descriptor for (db) input (0=stdin,
                                      1=stdout, 2=stderr) [0]
  --max-stackframe <number> assume stack switch for stack pointer
                                      changes larger than <number> bytes
                                      [2000000]

Memcheck options:
  --leak-check <no|summary|full> search for memory leaks at exit? [full]
  --leak-resolution <low|med|high> how much backtrace merging in leak check
                                      [low]
  --show-reachable <yes|no> show reachable blocks in leak check? [no]
  --track-origins <yes|no> show the origins of uninitialised values?
                                      [no]
  --partial-loads-ok <yes|no> too hard to explain here; see manual [no]
  --freelist-vol <number> volume of freed blocks queue [10000000]
  --workaround-gcc296-bugs <yes|no> self explanatory [no]
  --alignment <number> set minimum alignment of allocations [8]

Valkyrie is copyright (c) 2003-2008 OpenWorks LLP
Valgrind is copyright (c) 2000-2008 and GNU GPL'd by Julian Seward et al.
____________________________________________________________________

Output from 'valgrind --help':
usage: valgrind [options] prog-and-args

  tool-selection option, with default in [ ]:
    --tool=<name> use the Valgrind tool named <name> [memcheck]

  basic user options for all Valgrind tools, with defaults in [ ]:
    -h --help show this message
    --help-debug show this message, plus debugging options
    --version show version
    -q --quiet run silently; only print error msgs
    -v --verbose be more verbose -- show misc extra info
    --trace-children=no|yes Valgrind-ise child processes (follow execve)? [no]
    --trace-children-skip=patt1,patt2,... specifies a list of executables
                              that --trace-children=yes should not trace into
    --child-silent-after-fork=no|yes omit child output between fork & exec? [no]
    --track-fds=no|yes track open file descriptors? [no]
    --time-stamp=no|yes add timestamps to log messages? [no]
    --log-fd=<number> log messages to file descriptor [2=stderr]
    --log-file=<file> log messages to <file>
    --log-socket=ipaddr:port log messages to socket ipaddr:port

  user options for Valgrind tools that report errors:
    --xml=yes emit error output in XML (some tools only)
    --xml-fd=<number> XML output to file descriptor
    --xml-file=<file> XML output to <file>
    --xml-socket=ipaddr:port XML output to socket ipaddr:port
    --xml-user-comment=STR copy STR verbatim into XML output
    --demangle=no|yes automatically demangle C++ names? [yes]
    --num-callers=<number> show <number> callers in stack traces [12]
    --error-limit=no|yes stop showing new errors if too many? [yes]
    --error-exitcode=<number> exit code to return if errors found [0=disable]
    --show-below-main=no|yes continue stack traces below main() [no]
    --suppressions=<filename> suppress errors described in <filename>
    --gen-suppressions=no|yes|all print suppressions for errors? [no]
    --db-attach=no|yes start debugger when errors detected? [no]
    --db-command=<command> command to start debugger [/usr/bin/gdb -nw %f %p]
    --input-fd=<number> file descriptor for input [0=stdin]
    --dsymutil=no|yes run dsymutil on Mac OS X when helpful? [no]
    --max-stackframe=<number> assume stack switch for SP changes larger
                              than <number> bytes [2000000]
    --main-stacksize=<number> set size of main thread's stack (in bytes)
                              [use current 'ulimit' value]

  user options for Valgrind tools that replace malloc:
    --alignment=<number> set minimum alignment of heap allocations [16]

  uncommon user options for all Valgrind tools:
    --smc-check=none|stack|all checks for self-modifying code: none,
                              only for code found in stacks, or all [stack]
    --read-var-info=yes|no read debug info on stack and global variables
                              and use it to print better error messages in
                              tools that make use of it (Memcheck, Helgrind,
                              DRD)
    --run-libc-freeres=no|yes free up glibc memory at exit on Linux? [yes]
    --sim-hints=hint1,hint2,... known hints:
                                 lax-ioctls, enable-outer [none]
    --kernel-variant=variant1,variant2,... known variants: bproc [none]
                              handle non-standard kernel variants
    --show-emwarns=no|yes show warnings about emulation limits? [no]

  user options for Memcheck:
    --leak-check=no|summary|full search for memory leaks at exit? [summary]
    --leak-resolution=low|med|high differentiation of leak stack traces [high]
    --show-reachable=no|yes show reachable blocks in leak check? [no]
    --undef-value-errors=no|yes check for undefined value errors [yes]
    --track-origins=no|yes show origins of undefined values? [no]
    --partial-loads-ok=no|yes too hard to explain here; see manual [no]
    --freelist-vol=<number> volume of freed blocks queue [10000000]
    --workaround-gcc296-bugs=no|yes self explanatory [no]
    --ignore-ranges=0xPP-0xQQ[,0xRR-0xSS] assume given addresses are OK
    --malloc-fill=<hexnumber> fill malloc'd areas with given value
    --free-fill=<hexnumber> fill free'd areas with given value

  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc

  Memcheck is Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
  Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al.
  LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP.

  Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: valkyrie 1.4.0-2
ProcVersionSignature: Ubuntu 2.6.32-24.42-generic 2.6.32.15+drm33.5
Uname: Linux 2.6.32-24-generic x86_64
Architecture: amd64
Date: Fri Sep 10 09:38:47 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: valkyrie

Revision history for this message
quantumstripper (travis-obrien) wrote :
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Does the same for me.
I'm on Maverick and valgrind is 1:3.6.0~svn20100724-0ubuntu2 and valyrie is still 1.4.0-2

Changed in valkyrie (Ubuntu):
status: New → Confirmed
Revision history for this message
Wayne Scott (wsc9tt) wrote :

Still happens in released Maverick

Revision history for this message
Wayne Scott (wsc9tt) wrote :

The cause is because Valyrie 1.4 doesn't support Valgrind 3.6.
The released version is 2.0 and is here:
   http://valgrind.org/downloads/current.html

Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Still present in current OO

Dave

Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Medium: Severe impact to non-core app.

Changed in valkyrie (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Clint Byrum (clint-fewbar) wrote :

This actually renders valkyrie basically unusable. Setting importance to Critical. It seems the only solution is to update valkyrie to 2.0.

Changed in valkyrie (Ubuntu):
status: Confirmed → Triaged
importance: Medium → Critical
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package valkyrie - 2.0.0-0ubuntu1

---------------
valkyrie (2.0.0-0ubuntu1) oneiric; urgency=low

  * New upstream release. (LP: #635129, LP: #832886, LP: #721298)
  * Standards bumped to 3.9.2, no changes required.
  * d/control, d/rules: cdbs removed, dh minimal rule instead.
  * d/control: build system is qmake not autotools
  * d/control: bump required qt to qt4
  * d/valkyrie.install: installing html docs manually as make install
    no longer does so.
  * d/patches/valkyrie-2.0.0-fix-doc.dir.patch: Fix doc path to match
    policy. Also corrects LP: #588074 since the documentation link now
    works.
 -- Clint Byrum <email address hidden> Fri, 02 Sep 2011 22:08:34 -0700

Changed in valkyrie (Ubuntu):
status: Triaged → Fix Released
Changed in valkyrie (Debian):
status: Unknown → Fix Committed
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Thanks Clint - can confirm that the new version fixes it!

Dave

Changed in valkyrie (Debian):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.