[ic] service interchange start hangs at... initlog -q -c 'interchange -q'

Tim Nelson timnelson at phreaker.net
Wed Nov 9 10:53:33 EST 2005


Stefan Hornburg wrote:
> On Wed, 02 Nov 2005 10:44:14 -0500
> Tim Nelson <timnelson at phreaker.net> wrote:
> 
> 
>>I've got (what I believe to be) two identical installs of IC 5.2 on 
>>RHES4 and one is hanging when I do "service interchange start" at:
>>
>>       initlog -q -c 'interchange -q'
>>
>>but, I can just run /var/lib/interchange/bin/interchange -q and it 
>>starts fine.
>>
>>There are no errors in the error log, service interchange start just 
>>hangs.  Can anyone point me in a direction?
> 
> 
> Check with strace what Interchange is doing. How much RAM it does
> consume ? Any database activity ?
> 
> Bye
> 	Racke
> 
> 
> 
A bit more on this for anyone who cares...

Using strace I found that /usr/sbin/interchange tries to su - interch 
and run /usr/lib/interchange/bin/interchange and then gets stuck on a 
"read" system call:

8140  ioctl(0, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 opost isig icanon 
echo ...}) = 0
8140  write(2, "Do you want to choose a different one? [n]", 42) = 42
8140  read(0, "v", 511)                 = 1
8140  ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon 
echo ...}) = -1 EIO (Input/output error)
8140  write(2, "\n", 1)                 = -1 EPIPE (Broken pipe)
8140  --- SIGPIPE (Broken pipe) @ 0 (0) ---

Not sure where the prompt "Do you want to choose a different one? " is 
coming from, but it must have to do something with SELINUX being turned 
on in RHES4, since just before this prompt I see:

8140  open("/selinux/user", O_RDWR)     = 3
8140  write(3, "root:system_r:initrc_t interch", 30) = -1 EINVAL 
(Invalid argument)
8140  close(3)                          = 0
8140  open("/selinux/user", O_RDWR)     = 3
8140  write(3, "root:system_r:initrc_t user_u", 29) = 29
8140  read(3, 
"19\0user_u:system_r:unconfined_t\0user_u:system_r:httpd_t\0user_u:system_r:dhcpd_t\0user_u:system_r:initrc_t\0user_u:system_r:ldconfig_t\0user_u:system_r:mailman_mail_t\0user_u:system_r:mysqld_t\0user_u:system_r:named_t\0user_u:system_r:ndc_t\0user_u:system_r:nscd_t\0user_u:system_r:ntpd_t\0user_u:system_r:pegasus_t\0user_u:system_r:portmap_t\0user_u:system_r:postgresql_t\0user_u:system_r:snmpd_t\0user_u:system_r:squid_t\0user_u:system_r:syslogd_t\0user_u:system_r:winbind_t\0user_u:system_r:ypbind_t\0", 
4095) = 486
8140  close(3)                          = 0
8140  open("/etc/selinux/targeted/contexts/users//interch", O_RDONLY) = 
-1 ENOENT (No such file or directory)
8140  open("/etc/selinux/targeted/contexts/default_contexts", O_RDONLY) = 3
8140  fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
8140  mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0xb7df0000
8140  read(3, "system_r:unconfined_t\tsystem_r:unconfined_t\n", 4096) = 44
8140  read(3, "", 4096)                 = 0
8140  close(3)                          = 0

Guess I am stuck reading up on SELINUX, unless someone has run into this 
before.  tjen



More information about the interchange-users mailing list