Improved Linux debugging with Chronicle
Last December, as examined in a
previous LWN article,
Robert O'Callahan
discussed the need for better debugging tools under Linux:
One of the painful truths about Linux development is that debugging sucks. Specifically, gdb on Linux sucks. Basic functionality simply does not work reliably. The details of the brokenness vary depending on the version, but the general suckiness seems to hold up across versions. Since it fails on the basics, we need not even discuss the lack of modern features or its appalling usability. This is a big problem for Linux because it is driving developers away from the platform.
Here's a deeper and less widely understood truth: all debuggers suck.
The article suggested that a big problem with most debuggers was the
inability to move backward through buggy code (reverse execution).
O'Callahan produced a paper on the topic entitled
Efficient Collection And Storage Of Indexed Program Traces [PDF]
and introduced the Amber project.
Amber started out with a patent liability problem due to
O'Callahan's employment by Novell. Fortunately, that issue was
resolved early on:
"Novell has generously granted permission to release Amber as open source."
Amber underwent a name change, and is now known as the
chronicle-recorder project.
"Chronicle records every memory and register write in the execution of a Linux process, using
Valgrind
to instrument execution at the machine code and system call level. These events are indexed and compressed; from the resulting database the Chronicle query tool can efficiently reconstruct the state of memory and/or registers at any point during the execution. Additional queries such as "when was the last write to location X before time T" and "when was location X executed between times T1 and T2" are also supported."
On the topic of licensing, the Chronicle README file says:
Valgrind is under the GPL. The Valgrind 'chronicle' tool's main.c file
is also under the GPL. The tool's headers --- arch.h, log_stream.h, and
effects.h --- use an X11 license, so they can be included by anyone. The
Chronicle 'indexer' and 'query' components are GPLed. They rely on a
'base' component whose files have an X11 license (including a simple C
JSON library).
The intent is that the individual Chronicle components are GPLed but
since they run in separate processes communicating via clearly defined
interfaces, non-GPLed code can communicate with them. In particular,
debugger front ends can use any license."
O'Callahan discussed the new project with his
Chronicle Released article, and discussed some new debugging
capabilities that Chronicle brings with a followup article on
History Based Stack Reconstruction.
The code is currently in an early state, the user interface is still in
the planning stages and tests are limited.
For more information on Chronicle's author,
Robert O'Callahan was featured in a February, 2007
Computerworld NZ interview.
(Thanks to Danny O'Brien for pointing out the latest Chronicle developments).
Comments (5 posted)
System Applications
Database Software
PostgreSQL Weekly News
The April 29, 2007 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
SQLite 3.3.17 released
Version 3.3.17 of
SQLite, a light weight DBMS, is out.
"
This version fixes a bug in the forwards-compatibility logic of SQLite that was causing a database to become unreadable when it should have been read-only. Upgrade from 3.3.16 only if you plan to deploy into a product that might need to be upgraded in the future. For day to day use, it probably does not matter."
Comments (none posted)
Device Drivers
LCDproc 0.5.2 released
Version 0.5.2 of
LCDproc,
the Linux LCD display driver, is out with lots of new capabilities and
some bug fixes.
Comments (none posted)
Mail Software
Apache SpamAssassin 3.2.0 available
SpamAssassin 3.2.0 is out. The changelog is not particularly informative
to outsiders ("
compilation of SpamAssassin rules into a fast
parallel-matching DFA, implemented in native code"), but one assumes
it is better at filtering out spam and that can only be a good thing.
Full Story (comments: 6)
Printing
Merger of ESP Ghostscript and GPL Ghostscript
The CUPS printing project
mentions the
merger of ESP Ghostscript 8.15.4 and GPL Ghostscript 8.57, and how it
affects CUPS.
"
As the head branch of Ghostscript is now under GPL (and not only the previous major version as formerly) the ESP Ghostscript project is discontinued and the extra functionality of ESP Ghostscript is merged into the head development of Ghostscript, GPL Ghostscript."
Comments (none posted)
VPN Software
SSL-Explorer 0.2.13 released (SourceForge)
Version 0.2.13 of SSL-Explorer
has been released.
"
SSL-Explorer is the world's first open-source, browser based SSL VPN solution. This unique remote access security solution provides users and businesses alike with a means of securely accessing network resources from outside the network perimeter using only a standard web browser.
The 0.2.13 release provides a number of important bug fixes to many areas of the system (see change log below). This release also includes a number of performance improvements that provide improved web server responses."
Comments (none posted)
Web Site Development
SilverStripe 2.0.1 released
Stable version 2.0.1 of
SilverStripe
has been
announced.
"
SilverStripe is a free software / open source content management system (CMS) for creating and managing websites through a simple web interface. It has many advanced features. These features include an MVC framework, XHTML compliance, multiple ways of organising navigation through folksonomy, a flexible data object model, multiple templates per page, a separate "draft site" and "published site through staging content, asset management , image resizing, versioning and rollback, SEF URLs with meta-data. SilverStripe is designed for UTF-8 support including internationalisation of character sets."
Comments (none posted)
Miscellaneous
Free-SA 1.3.0 released
Version 1.3.0 of
Free-SA
has been released.
"
Free-SA is statistic analyzer for daemons log files similar to SARG. Its main advantages over SARG are much better speed (7x-20x times), more reports support, crossplatform work and W3C compliance of generated HTML/CSS reports code."
Comments (none posted)
Desktop Applications
Audio Applications
Ardour 2.0 released
Version 2.0 of
Ardour,
a multi-track digital audio workstation, has been announced.
"
Nearly 2 years of work have gone into this new version. Along the way
a huge number of bugs were fixed, performance and workflow were
improved, and many new features were added."
Full Story (comments: none)
alsaplayer 0.99.78 released
Version 0.99.78 of alsaplayer, a PCM player for the ALSA sound system,
is out.
"
AlsaPlayer is a new type of PCM player. It is heavily multi-threaded and tries
to excercise the ALSA library and driver quite a bit. It has some very
interesting features unique to Linux/Unix players.
This is a feature enhancement and minor bugfix release. Support for FLAC-1.3
and 1.4 is added. A desktop file is included."
Full Story (comments: none)
eSpeak 1.23 released
Version 1.23 of
eSpeak, a text
to speech synthesis converter, is out with new Croatian language support.
Comments (none posted)
jack_capture V0.9.4 released
Version 0.9.4 of jack_capture is out with a bug fix involving recording
more than 2 channels of audio.
"
jack_capture is a program for recording soundfiles with jack. Its default
operation is to capture whatever sound is going out to your speakers into
a file."
Full Story (comments: none)
JackMiniMix undergoes rewrite
JackMiniMix has been rewritten.
"
It's now called JackMixDesk has a configurable number of mono/stereo
channels, pre and post sends, LASH support, a XML config file and an
additional GTK interface which can be started on demand.
Im working on a SVG knob widget to make the interface use less ram and
I'm planning to implement MIDI support."
Full Story (comments: none)
Desktop Environments
GNOME 2.19.1 released
Version 2.19.1 of the GNOME desktop environment has been released
with much exclamation.
"
Welcome to the new GNOME development cycle! Please fasten your
seat belt: you're going to see a lot of exciting new changes!, new
features!, new bugfixes!, new translations!, new documentation!.
Lots of modules have great plans for 2.19 and if you're willing to
help, there's a lot of areas where you'll be heartily welcomed! Don't
hesitate to ask how or where you can help. If you don't even know
where to start, just send a mail to our fantastic gnome-love mailing
list. This is our first development release on our road towards GNOME
2.20.0, which will be released in September 2007."
Full Story (comments: 8)
GARNOME 2.19.1 released
Version 2.19.1 of GARNOME, the bleeding edge GNOME distribution, is out.
"
This release includes all of GNOME 2.19.1 plus a
whole bunch of updates that were released after the GNOME freeze date.
This is the first development release on our road towards GNOME 2.20.0,
which will be released in September 2007."
Full Story (comments: none)
GNOME Software Announcements
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
KDE Commit-Digest for 29th April 2007 (KDE.News)
The April 29, 2007 edition of the
KDE Commit-Digest has been
announced.
The content summary says:
"
Continued work across kdegames, with the
kbattleship-rewrite merged back into trunk/. Start of scalable interface
support in Kanagram. Further functionality enhancements implemented in the
Konsole refactoring effort. Small refinements in KSysGuard. More work on the
KDevelop Subversion plugin. Preparations for RSYNC support in the icecream
distributed compilation utility. Progress made in the Amarok-on-Windows
porting and generic music store intergration for Amarok 2. Initial milestones
reached in the Music Notation Flake shape Summer of Code project in KOffice.
Support for boolean operations on paths in Karbon. Primary iconset imported
for KDE 4, as part of a general cleanup effort in kdeartwork - more iconsets
to be added soon."
Comments (none posted)
KDE Software Announcements
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)
Xorg Software Announcements
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (none posted)
Electronics
Icarus Verilog 20070427 released
Snapshot 20070427 of
Icarus Verilog, a Verilog electronic simulation language compiler,
is available. See the
release notes for change information.
Comments (none posted)
KJWaves 1.1.2 released
Version 1.1.2 of
KJWaves has been
announced.
The description states:
"
100% Java program allows viewing of RAW SPICE files, for example, those created by ngSPICE. Also allows adding analysis to SPICE CIR files and run ngSPICE and examine output. Supports printing graphs as well as copy and pasting (via right-clicking). Has German, Greek, and Spanish language translation and should be able to handle much RAW larger files."
Comments (none posted)
Encryption Software
Cryptkeeper 0.3.666 released
Stable version 0.3.666 of Cryptkeeper has been
announced.
"
Cryptkeeper is a FreeDesktop.org Standard (KDE, Gnome, XFce, etc.) system tray applet that manages EncFS encrypted folders."
Comments (none posted)
Financial Applications
SQL-Ledger 2.8.2 released
Version 2.8.2 of
SQL-Ledger,
a web-based accounting system, is out with new features, bug fixes and
translation work. See the
What's New document for details.
Comments (none posted)
Games
FreeCol 0.6.1 released (SourceForge)
Version 0.6.1 of FreeCol, a cross-platform open-source version of the
strategy game Colonization,
is available. This release adds some new features and fixes some bugs.
Comments (none posted)
GUI Packages
PyQt 4.2 released
Version 4.2 of PyQt, the Python language bindings for Qt,
has been announced.
"
The highlights of this release include:
- The ability to write widget plugins for Qt Designer in Python.
- Integration of the Python command shell and the Qt event loop. This allows
developers to call Qt functions dynamically on a running application.
- Integration of the Qt event loop with the standard Python DBus bindings
available from www.freedesktop.org."
Comments (none posted)
Interoperability
Wine 0.9.36 released
Version 0.9.36 of Wine
has been announced.
Changes include:
"
Midi support in the CoreAudio driver, Mixer support in the Alsa driver,
A lot of MSI fixes, Implementation for most D3DRM functions,
The usual assortment of Direct3D fixes and Lots of bug fixes."
Comments (none posted)
Wine Weekly Newsletter
The April 30, 2007 edition of the
Wine Weekly Newsletter
is online with coverage of the Wine project. Topics include:
"
Wine 0.9.36, ALSA Changes, Winscard Support, Wine Killing X?,
SambaXP Report, Mandriva RPM's, Debugging Reports, Wine At LinuxTag 2007
and WineConf 2007."
Comments (none posted)
Medical Applications
Apelon Vocabulary Server is now open-source
Apelon has
announced the release of its
Distributed Terminology System under the Apache 2.0 open-source license.
"
DTS assists in the management, integration, and deployment of
structured biomedical terminology. It has the broadest installed user base
of any such software, and is part of applications that include clinical
data repositories, EMR systems, public health programs, decision support,
guideline authoring, and interface engines."
Comments (none posted)
Music Applications
pyliblo 0.5 announced
Version 0.5 of pyliblo"
pyliblo is a Python wrapper for the liblo OSC library. It does not yet
wrap all of liblo's functionality, but includes everything you need to
send and receive almost any kind of OSC message, using a nice and simple
Python API. OSC can hardly get any easier :)"
Full Story (comments: none)
Office Suites
OpenOffice.org Newsletter
The April, 2007 edition of the OpenOffice.org Newsletter
is out with the latest OO.o office suite articles and events.
Full Story (comments: none)
Video Applications
Freevo release 1.7.1 is out (SourceForge)
Version 1.7.1 of Freevo, a Linux application that turns a PC with a TV capture card and/or TV-out into a standalone multimedia jukebox/VCR/PVR/HTPC,
is out.
"
This release contains some new features and some significant bug fixes. A
native ALSA mi[]xer has been added, a wide screen skin "Panorama" has been added, a TV recordings manager has been added and user defined commands can now be
sent to the Xine player."
Comments (none posted)
Web Browsers
Gran Paradiso Alpha 4 available for testing (MozillaZine)
MozillaZine
notes
the availability of the Gran Paradiso Alpha 4 browser.
"
New features in this development milestone of Mozilla Firefox 3 include the FUEL JavaScript library for extension developers, a redesigned Page Info window, improvements to offline application support and Gecko 1.9 bug fixes."
Comments (none posted)
Miscellaneous
Wixi 0.81 released
Version 0.81 of
Wixi
has been released.
"
Wixi is a multi-platform wiki application for the desktop. It is written in python/wxpython
and uses txt2tags to convert plain text to many other formats. Wixi strives to be a simple
and powerful[] wiki tool for organizing all kind of information."
See the
changelog file
for details on this version.
Comments (none posted)
Languages and Tools
Caml
Caml Weekly News
The May 1, 2007 edition of the Caml Weekly News
is out with new Caml language articles.
Full Story (comments: none)
Haskell
Haskell Weekly News
The April 27, 2007 edition of the
Haskell Weekly News
has been published.
"
The last week was a very exciting week for the Haskell community, with
a new GHC release, the first release of Xmonad, a window manager written in Haskell, and DisTract,
a new distributed bug tracker, written in Haskell. A number of new Haskell jobs were announced, and
several new user groups were formed!"
Comments (none posted)
PHP
Code As Data: Reflection in PHP (O'ReillyNet)
Zachary Kessin
discusses PHP reflection on O'Reilly.
"
At the end of the day, all code gets turned into data before it is executed.
Sometimes, you can use that fact to help ease some of your programming chores.
Zachary Kessin examines the PHP reflection capabilities and shows how you can
use them to automate the creation of unit tests."
Comments (none posted)
Python
The Python 3000 PEP Parade
Guido van Rossum has gone through the list of enhancement proposals for
Python 3000 (the upcoming major rewrite of the language) and given his
opinion on each. Since Guido maintains his Benevolent Dictator role, his
opinion matters. The result is interesting reading for those who are
curious about the future of the language. The actual proposals are not
linked in the message, but they can be found on
the Python PEP index page.
Full Story (comments: none)
Python-URL! - weekly Python news and links
The April 30, 2007 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
Tcl-URL! - weekly Tcl news and links
The April 25, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Tcl-URL! - weekly Tcl news and links
The May 1, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Miscellaneous
Adobe to open-source Flex
Adobe has
announced
plans to release its Flex software development kit under the Mozilla Public
License. "
This includes not only the source to the ActionScript
components from the Flex SDK, which have been available in source code form
with the SDK since Flex 2 was released, but also includes the Java source
code for the ActionScript and MXML compilers, the ActionScript debugger and
the core ActionScript libraries from the SDK."
Comments (12 posted)
Page editor: Forrest Cook
Next page: Linux in the news>>