By Forrest Cook
January 13, 2009
Valgrind
is a suite of code analysis and debugging tools for Linux:
Valgrind is an award-winning instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
The Valgrind distribution currently includes six production-quality tools: a memory error detector, two thread error detectors, a cache and branch-prediction profiler, a call-graph generating cache profiler, and a heap profiler. It also includes one experimental tool, which detects out of bounds reads and writes of stack, global and heap arrays.
Valgrind version 3.4.0 was recently released, it adds a long list
of improvements. The
release notes explain the changes, which include:
- The Memcheck utility now reports the origin of uninitialized values.
- The Helgrind thread error detector's race detection algorithm has
been redesigned for better scalability.
- Major improvements have been made to the DRD thread debugging tool.
- A new experimental Ptrcheck tool has been added, it checks for
misused pointers.
- The exp-Omega instantaneous leak-detecting tool has been deprecated.
- Support has been added for the latest Linux distributions and Gnu
toolchain components.
- Suppressions
now have support for frame-level wild cards.
- Support has been added for the amd64/SSSE3 and IBM Power6
architectures.
- It is now possible to cross-compile Valgrind so that it runs on one
architecture while supporting another.
- The command-line arguments have been added and improved.
- The code has been cleaned up and numerous bugs have been fixed.
- The documentation has been improved and updated.
- Version 1.4.0 of the Valkyrie GUI for Memcheck is coming soon.
Building and
installing the Valgrind 3.4.0 source code on an Ubuntu 8.10 system
was straightforward. For those who don't need the latest release,
version 3.3.1 is available as a standard Ubuntu package.
The source code was
downloaded,
uncompressed and extracted with tar. The standard Unix configure,
make and make install steps were run, the code built and installed
with no problems.
A test run of Valgrind was done on a fairly simple interactive C program.
The
Quick Start Guide was consulted, the program was compiled with
the -g flag and valgrind was run:
valgrind --leak-check=yes ./program options
.
This produced a report with a list of some still reachable
memory and a hint of how to get more information on the problem.
Following the hint, Valgrind was run again with:
valgrind --leak-check=full --show-reachable=yes ./program options
and the location of the code that produced the still reachable
memory was revealed.
This experiment only showed the most basic of Valgrind's utility in
debugging the simplest of test cases. Even so, it quickly revealed a
small memory leak in the tested code. The lengthy online
user manual explains the depth of Valgrind's testing capabilities
in full. Those who maintain large projects could likely improve their
code by running Valgrind and correcting any issues that it finds.
Comments (14 posted)
System Applications
Audio Projects
Version 1.2.2 of Rivendell, a radio station automation system,
has been announced.
"
This is a maintenance release of Rivendell. The following issues have been corrected..."
Full Story (comments: none)
Database Software
The January 11, 2009 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Release 3.6.8 of the SQLite DBMS has been
announced.
"
Changes associated with this release include the following:
* Added support for nested transactions
* Enhanced the query optimizer so that it is able to use multiple indices to efficiently process OR-connected constraints in a WHERE clause.
* Added support for parentheses in FTS3 query patterns using the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option."
Comments (1 posted)
Device Drivers
Donnie Smith, author of the CWiid driver project for the Wii remote,
has published a
CWiid update 2009 document.
"
So I feel like I owe it to my users to give an update on the status of CWiid for now and expected activity over the coming months. There has been the occasional question about whether the site is still active, whether development is still active, etc. The answer for now, is that both are semi-active. I still monitor the activity here on an almost-daily basis (the RSS feed is on my home page), and respond to issues that I have any intelligent input on. However, I'm a man of many interests (probably too many), and CWiid is no longer number 1. While there have been a few contributors, no one has really stepped up with the long-term contributions required of an admin (nickishappy has come closest to filling this role, Nick if you have the time and want the responsibility, just let me know). Such are the breaks of open-source software."
The Wii remote and CWiid driver was
covered on LWN
a few months ago.
Comments (none posted)
Networking Tools
Version 0.0.40 of libnfnetlink, the low-level netfilter library,
has been announced.
"
This release includes a couple of updates for the interface2index
infrastructure one bugfix."
Full Story (comments: none)
Version 2.3.2 of Mandriva Directory Server has been announced, a number
of new capabilities have been added.
Full Story (comments: none)
Web Site Development
Version 8.09.3 of the Midgard content management system has been announced.
"
The 8.09.3 "New Year's diet" release focuses on API and architecture
cleanups
in order to ease transition from Midgard 1.x series API to Midgard 2.x APIs.
Stable 8.09.3 release is recommended for all users of Midgard."
Full Story (comments: none)
Version 1.55.3 of web2py, a cross-platform database driven web framework,
has been announced, it adds a number of enhancements.
Full Story (comments: none)
A new release of Zero RRD Framework has been
announced.
"
This RRDTool Framework provides a central HTTP-based service for import into standard RRD DBs and graph generation. A lightweight, easily extendable agent for the data sources is pushing updates with minimal resource consumption on the master service."
Comments (none posted)
Miscellaneous
Version 0.22 of lsscsi has been
announced, some new features have been added.
"
lsscsi is a utility that uses sysfs in linux 2.6 series kernels
to list information about SCSI devices and SCSI hosts. Both a
compact format which is one line per device and a "classic"
format (like the output of 'cat /proc/scsi/scsi') are supported."
Comments (none posted)
Desktop Applications
Audio Applications
Version 2.0.1.1 of the Amarok music player has been announced, the
release notes
have more details:
"
Just a few weeks after the 2.0 release the new and improved Amarok 2.0.1.1, codenamed Magellan, is ready for you. Don't let the small version number increase fool you though! We brought back features a lot of you have been waiting for and of course fixed a lot of bugs as well as one security issue."
Full Story (comments: none)
BitTorrent Applications
Version 1.3.0 of qBittorrent has been
announced.
"
A Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface. It aims to be a good alternative to other bittorrent clients. It has more and more features such as an integrated search engine, UPnP, encryption, PeX, a torrent creation tool
Happy new year to you all. With this new year, qBittorrent is growing older (and mature) and we are proud to announce the release of qBittorrent v1.3.0. This is a new major release based on libtorrent-rasterbar v0.14.x and powered by a newly rewritten core code to make it even more efficient."
Comments (none posted)
Desktop Environments
Version 2.25.4 of the GNOME desktop environment has been announced.
"
This is the forth development release towards our 2.26 release that will
happen in March 2009. By now, development is well under way, and we've
already made good progress on some of the goals that we've set ourselves
for 2.26 (http://live.gnome.org/GnomeGoals)."
Full Story (comments: none)
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
Versions 4.1.4 and 4.2-RC of KDE have been announced.
"
We've done two releases simultaneously tonight:
KDE 4.1.4, bugfix and translation update
KDE 4.1.4 and 4.2 Release Candidate Available Now".
Full Story (comments: none)
KDE.News has
more information
on the two latest KDE releases:
"
KDE 4.1.4 is the latest update for the KDE 4.1 series. It contains many bugfixes, mainly in the e-mail and PIM suite Kontact and the document viewer Okular. KDE 4.2 RC is the release candidate of KDE 4.2, also bringing new features and thousands of bug fixes to the KDE desktop and applications. KDE 4.1.4 is the last planned update to the KDE 4.1 series and stabilises the 4.1 platform further."
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (none posted)
Encryption Software
Version 2.0.10 of GnuPG has been announced.
"
We are pleased to announce the availability of a new stable GnuPG-2
release: Version 2.0.10.
The GNU Privacy Guard (GnuPG) is GNU's tool for secure communication
and data storage. It can be used to encrypt data, create digital
signatures, help authenticating using Secure Shell and to provide a
framework for public key cryptography."
Full Story (comments: none)
Financial Applications
Version 2.8.20 of
SQL-Ledger,
a web-based accounting system, has been announced. The
What's New document says:
"
fixed "database handle destroyed" error when printing".
Comments (none posted)
GUI Packages
The
wxWidgets
cross-platform GUI toolkit project has published a 2008 summary
entitled
Another Year of WX.
"
So, what have we done in the almost 7000 revisions checked in during 2008? Maybe surprisingly, the most important changes haven't been about writing code at all but rather about improving the project infrastructure. This may not seem like a big deal but the old SourceForge-based bug tracker was completely unusable and basically was unused because of this and literally hundreds of bugs could have been triaged and closed since the switch to using Trac."
Comments (none posted)
Multimedia
Version 0.5.23 of Elisa Media Center has been announced.
"
Elisa is a cross-platform and open-source Media Center written in Python.
It uses GStreamer [1] for media playback and pigment [2] to create an
appealing and intuitive user interface.
The main highlight of this release feature-wise is on the plugins
installation: plugin updates will now be silently installed by default
as well as new recommended plugins. New configuration options allow to
tune this default behaviour."
Full Story (comments: none)
Music Applications
Version 0.13 of Aldrin has been announced.
"
Aldrin is an open source modular music sequencer/tracker for the
GNU/Linux operating system. It is written in python and supported by
the Armstrong audio processing backend (previously known as libzzub)."
Full Story (comments: none)
Version 1.0 of DSSI, an audio plugin API for software instruments and
effects, and new releases of FluidSynth-DSSI, hexter and Xsynth-DSSI are out.
"
This release contains one small addition to the DSSI API itself,
allowing for communication of the sample rate to DSSI UIs. Since the
DSSI API has been stable now (with minor additions) for four and a
half years, and since most active interest in further extending a
Linux softsynth plugin standard has been absorbed by the LV2
project, it seems appropriate to call this release
"version 1.0"."
Full Story (comments: none)
Version 0.03.3-1 of guitarix has been announced, a long list of new
features have been added.
"
guitarix is a simple Linux Rock Guitar amplifier for jack(Jack Audio Connektion Kit)
with one input and two outputs. Designed to get nice thrash/metal/rock/blues
guitar sounds. There are controls for bass, treble, gain, compressor, preamp,
balance, distortion, freeverb, impulse response (), crybaby(wah) and
echo . A fixed resonator will be used when distortion is disabled. For
'pressure' in the sound you can use the feedback and feedforward
sliders."
Full Story (comments: none)
Version 3.2.0 of GuitarTeX2 has been
announced.
"
GuitarTeX is based on the idea of Chord. It takes a Chord file containing Chordpro directives to produce good-looking and easy-to-play song sheets for guitarists in PostScript or PDF format. GuitarTex2 is a further development of GuitarTex.
Major change in compatibility with other chordpro files. Also a bugfix in combination Windows + Java 1.6".
Comments (none posted)
Version 0.1-alpha of MC09Edit has been
announced.
"
MC09Edit is a complete visual editor for the Roland MC-09 Phraselab. It communicates with the synthesizer over a midi connection. Its main feature is the ability of storing and managing your user patterns on your computer. It is cross-platform.
This is the first release, all features aren't active but the soft is usable."
Comments (none posted)
Science
Version 1.6.0 of Papywizard, a panohead control application for the
Merlin/Orion astronomic mount, has been announced.
"
This will probably be the last release of the 1.x branch. Papywizard v2 is
on the road; first task will be to switch from PyGTK to PyQt, then re-think
the internal design for a better modularity (plugins)."
Full Story (comments: none)
Miscellaneous
The openSUSE Project has announced the launch of csync.
"
As mobile computing becomes more and more important, file
synchronization is more important than ever. Our jobs often require
working not only on multiple computers, but in multiple locations, and
disconnected from our networks. To help solve this problem, we need
effective strategies for replication of user data and files.
csync is a bidirectional file synchronizer for Linux and allows to
keep two copies of files and directories in sync. It uses uses widely
adopted protocols like smb or sftp so that there is no need for a
server component of csync."
Full Story (comments: none)
Languages and Tools
Java
A new version of HtmlUnit has been
announced.
"
HtmlUnit is a "browser for Java programs". It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc... just like you do in your "normal" browser.
In SVN version, HtmlUnit has recently added all HTML elements (some are rarely used), which may have some backward compatibility effect in the next version 2.5 For example, <b> was evaluated to HtmlUnknownElement, but now will be HtmlBold."
Comments (none posted)
Version 1.0.0 of Java INI Package has been
announced.
"
The aim of this project is to develop a straight forward java package for creating, reading and writing INI files (aka configuration files). Furthermore, the package should retain all comments of the INI file when reading and writing the files.
After more than 6 months since the last release (due to other comitments), version 1.0.0 of Java INI Package has been released. This release makes the stable version of Java INI Package and locks the API for all future v1.*.* releases."
Comments (none posted)
Python
Version 2.1 Beta1 of Jython, a Python implementation written in Java,
has been announced.
"
Jython 2.5 Beta1 continues a code cooling period where the number of
new features should significantly slow as we concentrate on
solidifying Jython 2.5 for an eventual release. I would guess that we
will put out about two more betas before we start pushing out release
candidates, hopefully in February."
Full Story (comments: none)
The January 13, 2009 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
The January 14, 2009 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
UML
Version 4.9.2 of Bouml has been
announced, a number of bugs have been fixed.
"
BOUML is a free UML 2 tool box allowing you to specify and generate code in C++, Java, Idl, Php and Python. BOUML runs under Unix/Linux/Solaris, MacOS X and Windows. It is very fast and doesn't require much memory to manage several thousands of classes."
Comments (none posted)
IDEs
Version 1.4.2 of Pydev has been announced, it includes numerous bug fixes
and other enhancements.
"
PyDev is a plugin that enables users to use Eclipse for Python and
Jython development -- making Eclipse a first class Python IDE -- It
comes with many goodies such as code completion, syntax highlighting,
syntax analysis, refactor, debug and many others."
Full Story (comments: none)
Libraries
Version 1.2 of libsmf has been announced.
"
LibSMF is a BSD-licensed C library for handling SMF ("*.mid") files.
It transparently handles time<->pulses conversions, tempo map handling
etc. The only dependencies are C compiler and glib. API documentation
and examples are included."
Full Story (comments: none)
Version Control
Version 0.13 of tig, an ncurses-based text-mode interface for git,
has been announced.
"
This release contains a major rewrite of the IO layer of tig to use
fork+exec instead of popen() and remove use of stdio's fopen() and
friends. The new IO API removes the need for shell quoting and improves
the overall speed of loading view data. On the downside, it brings a few
incompatibilities wrt. commands given via the environment. While the
patch series began by being based on git's run-command.c module, the
final version contains no code from git."
Full Story (comments: none)
Miscellaneous
Version 0.6 of MyHDL has been announced.
"
MyHDL is a Python package for using Python as a hardware
description language.
The highlight of this release is conversion to VHDL, in
addition to the existing Verilog capability. Furthermore,
the convertible subset has been broadened substantially
beyond synthesizable logic, to support test bench conversion."
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>