Your message dated Mon, 08 Dec 2008 17:32:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#470280: fixed in htop 0.8.1-2
has caused the Debian Bug report #470280,
regarding htop: Segmentation fault when parsing configuration file due to       
(low) arbitrary limit
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
470280: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=470280
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: htop
Version: 0.6.6+svn20070915-1
Severity: important
Tags: patch

Hi,

the limit of line length when parsing configuration file is currently
512, which is too low when it comes to 128 or 256 CPUs. Please either
raise the limit to e.g. 4k, which should be sufficient to handle a bunch
of cases, or think of using a loop reallocating memory as needed, which
would be even smarter.

I'm attaching gdb output as well as the tiny patch we're using.

Cheers,

--
Cyril Brulebois

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages htop depends on:
ii  libc6                     2.7-9          GNU C Library: Shared libraries
ii  libncurses5               5.6+20080203-1 Shared libraries for
terminal hand

htop recommends no packages.

-- no debconf information


-- 
Cyril Brulebois
--- a/Settings.c
+++ b/Settings.c
@@ -96,7 +96,7 @@
    if (fd == NULL) {
       return false;
    }
-   const int maxLine = 512;
+   const int maxLine = 4096;
    char buffer[maxLine];
    bool readMeters = false;
    while (!feof(fd)) {

Starting program: /usr/bin/htop

Program received signal SIGSEGV, Segmentation fault.
0x00000000004099b0 in Meter_setMode (this=0x0, modeIndex=1) at Meter.c:215
215        if (modeIndex > 0 && modeIndex == this->mode)
#0  0x00000000004099b0 in Meter_setMode (this=0x0, modeIndex=1) at Meter.c:215
#1  0x00000000004061cd in Header_setMode (this=0x61a980, i=63, 
mode=BAR_METERMODE, side=LEFT_HEADER) at Header.c:77
#2  0x000000000040f823 in Settings_readMeterModes (this=0x61aaf0,
    line=0x61b700 "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \n", 
side=LEFT_HEADER) at Settings.c:86
#3  0x000000000040fdac in Settings_read (this=0x61aaf0, fileName=0x61ab20 
"/home/cyril/.htoprc") at Settings.c:157
#4  0x000000000040f690 in Settings_new (pl=0x61a100, header=0x61a980) at 
Settings.c:47
#5  0x0000000000407bfc in main (argc=1, argv=0x7fff56c2d2a8) at htop.c:270
The program is running.  Exit anyway? (y or n) Starting program: /usr/bin/htop

Program received signal SIGSEGV, Segmentation fault.
0x00000000004099b0 in Meter_setMode (this=0x0, modeIndex=1) at Meter.c:215
215        if (modeIndex > 0 && modeIndex == this->mode)
#0  0x00000000004099b0 in Meter_setMode (this=0x0, modeIndex=1) at Meter.c:215
#1  0x00000000004061cd in Header_setMode (this=0x61a980, i=63, 
mode=BAR_METERMODE, side=LEFT_HEADER) at Header.c:77
#2  0x000000000040f823 in Settings_readMeterModes (this=0x61aaf0,
    line=0x61b700 "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \n", 
side=LEFT_HEADER) at Settings.c:86
#3  0x000000000040fdac in Settings_read (this=0x61aaf0, fileName=0x61ab20 
"/home/cyril/.htoprc") at Settings.c:157
#4  0x000000000040f690 in Settings_new (pl=0x61a100, header=0x61a980) at 
Settings.c:47
#5  0x0000000000407bfc in main (argc=1, argv=0x7fffee921f98) at htop.c:270
#0  0x00000000004099b0 in Meter_setMode (this=0x0, modeIndex=1) at Meter.c:215
No locals.
#1  0x00000000004061cd in Header_setMode (this=0x61a980, i=63, 
mode=BAR_METERMODE, side=LEFT_HEADER) at Header.c:77
        meters = (Vector *) 0x61a9b0
        meter = (Meter *) 0x0
#2  0x000000000040f823 in Settings_readMeterModes (this=0x61aaf0,
    line=0x61b700 "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \n", 
side=LEFT_HEADER) at Settings.c:86
        mode = 1
        trim = 0x61b790 "P¸a"
        ids = (char **) 0x61ec90
        i = 63
#3  0x000000000040fdac in Settings_read (this=0x61aaf0, fileName=0x61ab20 
"/home/cyril/.htoprc") at Settings.c:157
        option = (char **) 0x61b6a0
        fd = (FILE *) 0x61ab40
        maxLine = 512
        buffer = 0x7fffee91cd60 "left_meter_modes=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 \n"
        readMeters = true
#4  0x000000000040f690 in Settings_new (pl=0x61a100, header=0x61a980) at 
Settings.c:47
        this = (Settings *) 0x61aaf0
        home = 0x7fffee923e91 "/home/cyril"
        rcfile = 0x0
        ok = false
#5  0x0000000000407bfc in main (argc=1, argv=0x7fffee921f98) at htop.c:270
        delay = -1
        userOnly = false
        userId = 0
        sortKey = 0
        arg = 1
        panel = (Panel *) 0x2b9ebcbb65c8
        quit = 0
        refreshTimeout = 0
        resetRefreshTimeout = 5
        doRefresh = true
        settings = (Settings *) 0x2b9ebc871fd8
        killPanel = (Panel *) 0x0
        incSearchBuffer = '\0' <repeats 39 times>
        incSearchIndex = 0
        incSearchMode = false
        pl = (ProcessList *) 0x61a100
        ut = (UsersTable *) 0x61a010
        header = (Header *) 0x61a980
        headerHeight = 32767
        searchFunctions = {0x0, 0x0, 0x0}
        searchKeys = {0x0, 0x0, 0x0}
        searchEvents = {0, 0, 0}
        searchBar = (FunctionBar *) 0x7fffee921ea8
        defaultFunctions = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
        defaultBar = (FunctionBar *) 0xf63d4e2e
        acc = -292413808
        follow = false
        tv = {tv_sec = 0, tv_usec = 0}
        newTime = 0
        oldTime = 2.3695764148749076e-310
        recalculate = false
        ch = -1128569400
        closeTimeout = 11166

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: htop
Source-Version: 0.8.1-2

We believe that the bug you reported is fixed in the latest version of
htop, which is due to be installed in the Debian FTP archive:

htop_0.8.1-2.diff.gz
  to pool/main/h/htop/htop_0.8.1-2.diff.gz
htop_0.8.1-2.dsc
  to pool/main/h/htop/htop_0.8.1-2.dsc
htop_0.8.1-2_i386.deb
  to pool/main/h/htop/htop_0.8.1-2_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Eugene V. Lyubimkin <[EMAIL PROTECTED]> (supplier of updated htop package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 06 Dec 2008 11:03:18 +0200
Source: htop
Binary: htop
Architecture: source i386
Version: 0.8.1-2
Distribution: experimental
Urgency: low
Maintainer: Eugene V. Lyubimkin <[EMAIL PROTECTED]>
Changed-By: Eugene V. Lyubimkin <[EMAIL PROTECTED]>
Description: 
 htop       - interactive processes viewer
Closes: 470280 480541 484771 486213 488912 494646 499928 504144 507423
Changes: 
 htop (0.8.1-2) experimental; urgency=low
 .
   * Disabled unicode support, it has both build and work problems yet.
     (Closes: #507423)
   * debian/patches:
     - New patch 200-filter-non-printable-characters.patch to filter
       non-printable characters in process names. Thanks to Josh Triplett
       and Andrew O. Shadoura. (Closes: #504144)
     - 010-make-desktop-file-valid.patch: comment added.
   * debian/control:
     - Added '${misc:Depends}' to 'Depends', fixes lintian warning.
     - Added 'python-minimal' to 'Build-Depends' for MakeHeader.py.
 .
 htop (0.8.1-1) experimental; urgency=low
 .
   * New maintainer. Thanks for work, Bartosz Fenski!
   * New upstream release:
     - Changes in 0.8.1 (Closes: #499928):
       - Linux-VServer support.
       - Battery meter (Closes: #484771).
       - Fixed collection of IO stats in multithreaded processes.
       - Removed assertion that fails on hardened kernels.
     - Changes in 0.8.0 (Closes: #494646, #486213):
       - Ability to change sort column with the mouse by
         clicking column titles.
       - Added support for Linux per-process IO statistics.
       - Added Unicode support.
       - Fixed display of CPU count for threaded processes.
       - Avoid crashing when using many meters.
     - Other fixes:
       - Significantly increased line length limit (to 65535).
         (Closes: #470280)
   * debian/control:
     - Bumped 'Standards-Version' to 3.8.0, no changes needed.
     - Changed Build-Depends on debhelper to (>= 7) and 'libncurses5-dev' ->
       'libncursesw5-dev'. Added dependency on quilt (>= 0.40).
   * debian/rules:
     - Some cleanup, used debhelper v7 commands.
     - Pass '--enable-taskstats' and '--enable-unicode' options to configure.
     - Pass '--enable-openvz' to configure. (Closes: #480541)
   * debian/patches:
     - New 010-make-desktop-file-valid.patch: makes desktop file valid.
       Thanks to Nathan Handler <[EMAIL PROTECTED]> (Closes: #488912)
   * debian/copyright:
     - Fixed path for GPLv2 license.
   * debian/menu:
     - Set proper section, removed hint (now useless).
Checksums-Sha1: 
 af852a2cd2bc340236517b913a2da87233239cba 1031 htop_0.8.1-2.dsc
 b41b4d83ab7ac40b79f6eeb730cd561293b62fd4 414870 htop_0.8.1.orig.tar.gz
 923a9593cae17838bb1874e2047fd1c504b02c1f 4296 htop_0.8.1-2.diff.gz
 2487daf7731306a4215278903b99dd5b38e942f5 53506 htop_0.8.1-2_i386.deb
Checksums-Sha256: 
 889ebf177ff982a60b1b78bb337d234c9ebd3fe7ccd05ed77a335181d88bd41b 1031 
htop_0.8.1-2.dsc
 25ae28202fa4b782ed0e1298d3feee407bdeb56eaf9c652d0a6f9dbf22125d28 414870 
htop_0.8.1.orig.tar.gz
 7d399b7e7ee2b1859536819f9562fe1c4d47f550ace958655671d1f158e58db4 4296 
htop_0.8.1-2.diff.gz
 31fc506c0570c52b97d849fe38f147c5f3e8c3dcc4d8046fe2bf12e032f9d048 53506 
htop_0.8.1-2_i386.deb
Files: 
 234f3430514ee16f25128f9cb923429c 1031 utils optional htop_0.8.1-2.dsc
 f0b259ca29175656de48bf0fa0a2e619 414870 utils optional htop_0.8.1.orig.tar.gz
 149db29f56dd67cd6fb1d51fea77ead1 4296 utils optional htop_0.8.1-2.diff.gz
 b128051ad4828392079f485d446e6b07 53506 utils optional htop_0.8.1-2_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkk9WIgACgkQhQui3hP+/EBRjwCgm43O25NjOWcSWD8gxJ8g1xkP
5a8AoLBRETj7URghfToV6M5f9vap37Vo
=/MlL
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to