[omniORB] omniidl2 and omniNames hanging under egcs and linux 2.0.35 (RH5.1)

Tkil tkil@scrye.com
Thu, 10 Sep 1998 02:33:02 -0600 (MDT)


--1es/K/x6fU
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


I'm trying to get ominORB running on my system:

   Linux reptile.scrye.com 2.0.35 #1 Thu Jul 23 14:01:04 EDT 1998 i586 unknown

This is a fairly fresh RedHat 5.1 install, with glibc 2.0.7:

   lrwxrwxrwx   1 root     root           13 Aug 29 08:31 /lib/libc.so.6 -> libc-2.0.7.so

The first time I tried to install omniORB was off the 2.5.0 release,
and the compile would go along well until it hit the stage where it
would try to use omniidl2 to compile "omniLifeCycle.idl".  At that
point, it would just hang; I don't recall it hammering the CPU, it
would just sit there.  'strace' revealed that it was just doing
sched_yield continuously.

Later, I downloaded the latest omniORB snapshot (ss-980827) and
compiling with the latest EGCS snapshot:

   Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnulibc2/egcs-2.91.55/specs
   gcc version egcs-2.91.55 19980824 (gcc2 ss-980609 experimental)

and with the egcs-1.1 release (which i'm currently having other
problems compiling).

It successfully builds, and I install it to /usr/local/omniORB-ss-980827, 
with a symlink to /usr/local/omniORB in place.

But when I try to bootstrap the omniNames server, it also hangs in the 
same infinite loop.  Not having any better ideas, I've attached the
output from strace and from a quick gdb.  I'm currently guessing that
this might be a case of glibc2 not initializing something right, but
I'd love to be told wrong.

Any hints you could provide would be appreciated.  Thanks in advance.

Tony


--1es/K/x6fU
Content-Type: text/plain
Content-Description: strace output
Content-Disposition: inline;
	filename="strace-output.txt"
Content-Transfer-Encoding: 7bit

[tkil@reptile i586_linux_2.0_glibc]$ strace ./omniNames -start 4242
execve("./omniNames", ["./omniNames", "-start", "4242"], [/* 23 vars */]) = 0
brk(0)                                  = 0x805a43c
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libomniORB2.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libomniORB2.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libomniORB2.so.6", O_RDONLY) = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000b000
munmap(0x4000b000, 4096)                = 0
mmap(0, 986284, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4000b000
mprotect(0x400d6000, 154796, PROT_NONE) = 0
mmap(0x400d6000, 151552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xca000) = 0x400d6000
mmap(0x400fb000, 3244, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400fb000
close(3)                                = 0
open("../../../lib/i586_linux_2.0_glibc/libomnithread.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libomnithread.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libomnithread.so.2", O_RDONLY) = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x400fc000
munmap(0x400fc000, 4096)                = 0
mmap(0, 49644, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400fc000
mprotect(0x40106000, 8684, PROT_NONE)   = 0
mmap(0x40106000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000) = 0x40106000
close(3)                                = 0
open("../../../lib/i586_linux_2.0_glibc/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 21975, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40109000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY)  = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4010f000
munmap(0x4010f000, 4096)                = 0
mmap(0, 50948, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4010f000
mprotect(0x40117000, 18180, PROT_NONE)  = 0
mmap(0x40117000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x40117000
close(3)                                = 0
open("../../../lib/i586_linux_2.0_glibc/libtcpwrapGK.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libtcpwrapGK.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libtcpwrapGK.so.1", O_RDONLY) = 3
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4011c000
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4011d000
munmap(0x4011d000, 4096)                = 0
mmap(0, 96776, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4011d000
mprotect(0x40131000, 14856, PROT_NONE)  = 0
mmap(0x40131000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x13000) = 0x40131000
close(3)                                = 0
open("../../../lib/i586_linux_2.0_glibc/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY)        = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40135000
munmap(0x40135000, 4096)                = 0
mmap(0, 100064, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40135000
mprotect(0x4014d000, 1760, PROT_NONE)   = 0
mmap(0x4014d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x17000) = 0x4014d000
close(3)                                = 0
open("../../../lib/i586_linux_2.0_glibc/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("../../../lib/i586_linux_2.0_glibc/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/omniORB-ss-980827/lib/i586_linux_2.0_glibc/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4014e000
munmap(0x4014e000, 4096)                = 0
mmap(0, 670580, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4014e000
mprotect(0x401df000, 76660, PROT_NONE)  = 0
mmap(0x401df000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x90000) = 0x401df000
mmap(0x401e6000, 47988, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401e6000
close(3)                                = 0
mprotect(0x4011d000, 81920, PROT_READ|PROT_WRITE) = 0
mprotect(0x4011d000, 81920, PROT_READ|PROT_EXEC) = 0
mprotect(0x4000b000, 831488, PROT_READ|PROT_WRITE) = 0
mprotect(0x4000b000, 831488, PROT_READ|PROT_EXEC) = 0
personality(0 /* PER_??? */)            = 0
getpid()                                = 6851
brk(0)                                  = 0x805a43c
brk(0x805a46c)                          = 0x805a46c
brk(0x805b000)                          = 0x805b000
getpid()                                = 6851
sigaction(SIGUSR1, {0x40114650, [], SA_NOMASK|0x160f9c}, NULL) = 0
sigaction(SIGUSR2, {0x401146f0, [], SA_NOCLDSTOP|0x6}, NULL) = 0
sigprocmask(SIG_BLOCK, [USR1], NULL)    = 0
brk(0x805c000)                          = 0x805c000
brk(0x805d000)                          = 0x805d000
uname({sys="Linux", node="reptile.scrye.com", ...}) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0
sched_yield(0x4011b4f0, 0xbffff878, 0x40119144, 0x805ad30, 0xbffff888) = 0

--1es/K/x6fU
Content-Type: text/plain
Content-Description: gdb output during "infinite loop"
Content-Disposition: inline;
	filename="gdb-where.txt"
Content-Transfer-Encoding: quoted-printable

Starting program: /usr/local/omniORB-ss-980827/bin/i586_linux_2.0_glibc=
/omniNames -start 4242

Program received signal SIGINT, Interrupt.
0x401b5fe7 in __sched_yield ()
(gdb) where
#0  0x401b5fe7 in __sched_yield ()
#1  0x40113987 in __pthread_mutex_lock (mutex=3D0xbffff838) at spinlock=
.h:20
#2  0x401152cc in __flockfile (stream=3D0xbffff850) at lockfile.c:32
#3  0x40187f25 in _IO_vsprintf (string=3D0x805ad30 "=D8\013\036@=D8\013=
\036@\025",=20
    format=3D0x8056129 "%s/omninames-%s", args=3D0xbffff8d0) at iovspri=
ntf.c:47
#4  0x40183291 in sprintf (s=3D0x805ad30 "=D8\013\036@=D8\013\036@\025"=
,=20
    format=3D0x8056129 "%s/omninames-%s") at sprintf.c:33
#5  0x804f2d7 in log::log ()
#6  0x804bac1 in main ()

--1es/K/x6fU
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit




--1es/K/x6fU--