Your message dated Sun, 11 May 2014 12:41:13 +0800
with message-id 
<can3vereh0daxt+tlnygm7k7n7xvldniwfkmebheknz-mn--...@mail.gmail.com>
and subject line Re: Bug#747442: aptitude: progs run by aptitude (apt-listbugs, 
how-can-I-help block apt when they crash
has caused the Debian Bug report #747442,
regarding aptitude: progs run by aptitude (apt-listbugs, how-can-I-help block 
apt when they crash
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.)


-- 
747442: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747442
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: aptitude
Version: 0.6.10
Severity: grave
Justification: renders package unusable

Dear Maintainer,

the specific situation:
-       [ already filed as #747406 against ruby]
-        a ruby corruption is crashing both apt-listbugs AND how-can-I-help 
-       thus aptitude returns a failure and does NOT install the desired 
packages
-       the apt system is now completely broken: these packages can not be 
removed
        and no others can be installed.
-       apt-get is also affected and no longer works.

the general case <--- important
-       any program run by aptitude (such as apt-listbugs or how-can-I-help) 
that 
        crashes will break the apt system.
-       this is a critical bug: any type of failure in sub-programs should have 
NO
        effect on aptitude.

The code should be changed so that any problem in sub-programs run by aptitude
will have NO effect on aptitude (or apt-get). Otherwise the apt system is at 
risk from any such program

The bug I have filed above is related to a collection of recent (the week up to 
today 
2014-05-08) bugs in ruby.

See that bug #747406  for more detail. 

HOWEVER, the problem is the general case: corruptions such as this ruby problem 
should
have NO effect on aptitude. 



-- Package-specific info:
Terminal: rxvt-unicode-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude

aptitude version information:
aptitude 0.6.10 compiled at Feb 20 2014 18:22:07
Compiler: g++ 4.8.2
Compiled against:
  apt version 4.12.0
  NCurses version 5.9
  libsigc++ version: 2.2.11
  Ept support enabled.
  Gtk+ support disabled.
  Qt support disabled.

Current library versions:
  NCurses version: ncurses 5.9.20140118
  cwidget version: 0.5.17
  Apt version: 4.12.0

aptitude linkage:
        linux-gate.so.1 (0xb778f000)
        libapt-pkg.so.4.12 => /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12 
(0xb7227000)
        libncursesw.so.5 => /lib/i386-linux-gnu/libncursesw.so.5 (0xb71ef000)
        libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb71cc000)
        libsigc-2.0.so.0 => /usr/lib/i386-linux-gnu/libsigc-2.0.so.0 
(0xb71c6000)
        libcwidget.so.3 => /usr/lib/i386-linux-gnu/libcwidget.so.3 (0xb70c2000)
        libept.so.1.aptpkg4.12 => 
/usr/lib/i386-linux-gnu/libept.so.1.aptpkg4.12 (0xb7069000)
        libxapian.so.22 => /usr/lib/sse2/libxapian.so.22 (0xb6e6f000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6e55000)
        libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6d96000)
        libboost_iostreams.so.1.54.0 => 
/usr/lib/i386-linux-gnu/libboost_iostreams.so.1.54.0 (0xb6d7d000)
        libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 
(0xb6d61000)
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6c75000)
        libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb6c2e000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6c12000)
        libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb6a67000)
        libutil.so.1 => /lib/i386-linux-gnu/i686/cmov/libutil.so.1 (0xb6a63000)
        libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb6a5e000)
        libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb6a4b000)
        liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xb6a24000)
        libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb6a1e000)
        librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb6a15000)
        /lib/ld-linux.so.2 (0xb7790000)

-- System Information:
Debian Release: jessie/sid
Architecture: i386 (i686)

Kernel: Linux 3.12-1-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.utf8)
Shell: /bin/sh linked to /bin/dash

--- End Message ---
--- Begin Message ---
On 9 May 2014 16:47, Stephen McGregor <[email protected]> wrote:
> Thanks for your response.
>
> I think you have confused two different situations:
> 1.  Normal operation: a sub program runs, returns a code be it -1 or
> BUG_REJETED or whatever. The parent program responds to this. The parent
> process continues.
> 2.  The sub program crashes. It doesn't send a code through its pipe or
> whatever IPC channel. The parent process then does NOT continue in any
> responsible way: in this case, the entire apt system can no longer be
> used.
>

I certainly have not confused those situations.  As explained, one
intended use for this protocol is to allow a third-party program to
approve or deny package installation, effectively enforcing some
policy as chosen by the administrator.  Such a policy might be "only
packages without severe bugs should be installed".  If the program
apt-listbugs "crashes" and apt continues anyway then the policy has
been circumvented.

Now it is up to the administrator of the system to decide how to
proceed if the programs crash.  You can remove the instruction to run
the programs from apt.conf, or change the invocation to something like
"apt-listbugs || true".

> You have to understand:
> - the two sub processes crashed, it's not that they returned a 'yay' or
> 'nay'
> - the parent process - and the entire apt system - is now unuseable.
> This is a *serious* problem - the inability to install or remove any
> packages. What if such a problem wasn't fixed?
>

You are running testing and occasionally there are issues requiring
manual intervention.  If you require further assistance to recover
your system you should contain a user support forum.

It is unfortunate that such manual intervention is required, but that
is part of life when running non-stable software.

>
> What I expected to happen:
> - the sub-process crashes (I didn't expect this, but in the case where
> such a problem exists, well, then this happens)
> - the parent apt process then continues operating as if this sub-process
> hadn't run: in this case by continuing supplying access to the apt
> packaging system, allowing packages to be installed and removed: for
> example, to remove these corrupt packages (ruby-using apt-listbugs &
> how-can-I-help).
> - I expected a sub-program crash to not propagate to the parent process.
>
> What does happen:
> - the (two) sub-process(es) crash(es).
> - neither apt-get nor aptitide can be used to install or remove any
> programs.
>
>
>
>
>
> # trying to install some other package
> # NB: this is a solution to a similar, current ruby install bug
>
> prompt> apt-get install ruby-colored
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following NEW packages will be installed:
>   ruby-colored
> 0 upgraded, 1 newly installed, 0 to remove and 345 not upgraded.
> Need to get 3,682 B of archives.
> After this operation, 63.5 kB of additional disk space will be used.
> Get:1 http://ftp.tr.debian.org/debian/ jessie/main ruby-colored all
> 1.2-1 [3,682 B]
> Fetched 3,682 B in 0s (11.7 kB/s)
> /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require':
> cannot load such file -- debian_version (LoadError)
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from /usr/lib/ruby/vendor_ruby/debian.rb:24:in `<top
>         (required)>'
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from /usr/sbin/apt-listbugs:314:in `<main>'
> E: Sub-process /usr/sbin/apt-listbugs apt returned an error code (1)
> E: Failure running script /usr/sbin/apt-listbugs apt
>
>
>
>
>
> #trying to remove the offending programs
> # they can not be removed

You must edit your apt.conf (/etc/apt/apt.conf.d) to comment out the programs.

>
> prompt> apt-get remove --purge apt-listbugs how-can-i-help
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following packages will be REMOVED:
>   apt-listbugs* how-can-i-help*
> 0 upgraded, 0 newly installed, 2 to remove and 345 not upgraded.
> After this operation, 493 kB disk space will be freed.
> Do you want to continue? [Y/n] Y
> /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require':
> cannot load such file -- debian_version (LoadError)
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from /usr/lib/ruby/vendor_ruby/debian.rb:24:in `<top
>         (required)>'
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from
>         /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
>         `require'
>         from /usr/sbin/apt-listbugs:314:in `<main>'
> E: Sub-process /usr/sbin/apt-listbugs apt returned an error code (1)
> E: Failure running script /usr/sbin/apt-listbugs apt
>

--- End Message ---
_______________________________________________
Aptitude-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/aptitude-devel

Reply via email to