[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#1111: signal bug with session manager
From:       Navindra Umanee <navindra () cs ! mcgill ! ca>
Date:       1999-03-31 11:05:22
[Download RAW message or body]

Package: KWM
Version: 0.14 patchlevel 0

The session manager has a signal bug that interferes with the Debian
package manager.  Typical symptoms:

[asimov] [/var/cache/apt/archives] sudo dpkg -i isapnptools_1.16-4.1.deb
(Reading database ... 46936 files and directories currently installed.) 
Preparing to replace isapnptools 1.13-3.1 (using isapnptools_1.16-4.1.deb) ...
Unpacking replacement isapnptools ...
gzip: stdout: Broken pipe            
dpkg-deb: subprocess gzip -dc returned error exit status 1
dpkg: error processing isapnptools_1.16-4.1.deb (--install):
 subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:                       
 isapnptools_1.16-4.1.deb                                       
Exit 1                                                          

The problem can be demonstrated by the following test program.
Running it under "kwm" and "kwm -nosession" provide an unexpected
result in the first case and the expected result in the second case.

--------------------
/* from Myth <frb@umr.edu> on #debian@irc.debian.org */
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/wait.h>
#include <string.h>

/* <miguel> Myth: write a program that does: sigaction (SIGPIPE, NULL,
   &old) 
*/

int main() 
{
  int err;
  struct sigaction oldact;
  if(!(err = sigaction(SIGPIPE, NULL, &oldact)))
    {
      printf("SIGPIPE details are:\n");
      printf("\tsa_handler: %p\n", oldact.sa_handler);
      printf("\tsa_mask:    %d\n", oldact.sa_mask);
      printf("\tsa_flags:   %d\n", oldact.sa_flags);
      printf("\tsa_restorer: %d\n", oldact.sa_restorer);
    }
  else
    {
      printf("sigaction failed, error code = %s\n", strerror(err));
      
    }
}
--------------------

Under "kwm", typical results are:

SIGPIPE details are:
        sa_handler: 0x1
        sa_mask:    0
        sa_flags:   0
        sa_restorer: 1078601072

Under "kwm -nosession", typical results are:

SIGPIPE details are:
        sa_handler: (nil)
        sa_mask:    0
        sa_flags:   0                                              
        sa_restorer: 1073935728

As a side note, gnome-session had the very same problem.  What a
coincidence.

Thanks,
Navin.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic