bonobo activation test segfault on Solaris, forte 6u2



Still using forte 6 update 2, moved to bonobo-activation.  I've set CPP to
/usr/lib/cpp and recompiled libIDL and ORBit2 2.4.1.  (Could we perhaps
include a wee note for Solaris Forte users to set $CPP in the INSTALL
instructions for ORBit2 and libIDL?  In ORBit2, because that's where the
error manifests itself.  Ideally, I guess, a configure test for this
would be nice, but that is beyond me.)

bonobo-activation 1.0.3 compiled successfully.  "make check" ends with

make[2]: Entering directory
`/scratch/langfml/bonobo-activation-1.0.3/test'
 FORKING: '/opt/gnome-2.0.x/libexec/bonobo-activation-server' for
'IDL:Bonobo/ActivationContext:1.0Segmentation Fault
FAIL: bonobo-activation-test
testing async interfaces
 FORKING: '/opt/gnome-2.0.x/libexec/bonobo-activation-server' for
'IDL:Bonobo/ActivationContext:1.0Segmentation Fault
FAIL: bonobo-activation-test-async
===================
2 of 2 tests failed
===================
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory `/scratch/langfml/bonobo-activation-1.0.3/test'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/scratch/langfml/bonobo-activation-1.0.3/test'
make: *** [check-recursive] Error 1


Now, trying to do my homework, I found a link from past December about
changing bonobo-activation/bonobo-activation-init.c to NULL initialize the
base_service variable.  It looks like that patch is somewhat in place, but
I fiddle around anyway.  If I change the

base_service.name = "IDL:Bonobo/ObjectDirectory:1.0";

to

base_service.name = "IDL:Bonobo/ObjectDirectory:1.0 ";


I get errors like this:

make[2]: Entering directory
`/scratch/langfml/bonobo-activation-1.0.3/test'

** (process:7164): CRITICAL **: file bonobo-activation-activate.c: line
288: assertion `ac' failed
Time to query '0.161469'
Waiting to see if the server erroneously quits
Segmentation Fault
FAIL: bonobo-activation-test
testing async interfaces
testing activate_async...  passed
testing activate_async...  failed
testing activate_from_id_async...  passed
testing activate_from_id_async...  failed
Async Test Results: 2 passed upon 4
FAIL: bonobo-activation-test-async
===================
2 of 2 tests failed
===================
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory `/scratch/langfml/bonobo-activation-1.0.3/test'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/scratch/langfml/bonobo-activation-1.0.3/test'
make: *** [check-recursive] Error 1


which looks like
        ac = bonobo_activation_activation_context_get ();
        g_return_val_if_fail (ac, CORBA_OBJECT_NIL);
failed.


Here's a truss output, which seems to point to bad things about using the
Sun iconv...I've installed a bunch of the SUNW{q}iu8[x] packages, and set
$LANG to en_US.UTF-8; locale seems to be comfortable as en_US.UTF-8.  Is
this hopeless?  Must I use the gnu iconv stuff, and if so, how do I force
the libs to look around /usr/lib for just that one lib?  I've compiled it
in the past (and libiconv and libintl and gettext, and don't get me
started about stupid it is that universally available and
simple-to-compile programs (eg flex) now depend on this foolishness, which
is poorly cross-plat, circularly dependent, and does not compile
as easily--faugh!), but saw no improvements.


close(4)                                        = 0
access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%ASCII.bt", 4) Err#2
ENOENT
open("/usr/lib/iconv/UTF-8%ASCII.so", O_RDONLY) Err#2 ENOENT
access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%UTF2.bt", 4) Err#2
ENOENT
open("/usr/lib/iconv/UTF-8%UTF2.so", O_RDONLY)  Err#2 ENOENT
access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%ASCII.bt", 4) Err#2
ENOENT
open("/usr/lib/iconv/UTF-8%ASCII.so", O_RDONLY) Err#2 ENOENT
access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%UTF2.bt", 4) Err#2
ENOENT
open("/usr/lib/iconv/UTF-8%UTF2.so", O_RDONLY)  Err#2 ENOENT
access("/usr/lib/iconv/geniconvtbl/binarytables/UTF-8%646.bt", 4) Err#2
ENOENT
open("/usr/lib/iconv/UTF-8%646.so", O_RDONLY)   = 4
fstat(4, 0xFFBED29C)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xFF070000
mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xFED30000
mmap(0xFED40000, 2560, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 4, 0) = 0xFED40000
munmap(0xFED32000, 57344)                       = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFED20000
memcntl(0xFED30000, 1080, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4)                                        = 0
munmap(0xFF070000, 8192)                        = 0

** (process:9723): CRITICAL **: file bonobo-activation-activate.c: line
288: assertion `ac' failed
write(2, "\n * *   ( p r o c e s s".., 100)     = 100
Time to query 'write(2, " T i m e   t o   q u e r".., 15)       = 15
0.048887write(2, " 0 . 0 4 8 8 8 7", 8)                 = 8
'
write(2, " '\n", 2)                             = 2
Waiting to see if the server erroneously quits
write(2, " W a i t i n g   t o   s".., 47)      = 47
lwp_create(0xFFBEF1E0, LWP_DETACHED|LWP_SUSPENDED, 0xFEA0BDB8) = 8
lwp_create()    (returning as new lwp ...)      = 0
lwp_continue(8)                                 = 0
lwp_self()                                      = 8
lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFEA0BD0C) = 0
sigaction(SIGALRM, 0xFEA0BC38, 0x00000000)      = 0
lwp_sema_post(0xFF1BFA10)                       = 0
sigprocmask(SIG_BLOCK, 0xFEA0BDE4, 0x00000000)  = 0
sigprocmask(SIG_UNBLOCK, 0xFF1BFA00, 0x00000000) = 0
lwp_sema_wait(0xFF1BFA10)                       = 0
sigprocmask(SIG_BLOCK, 0xFF1BFA00, 0x00000000)  = 0
setitimer(ITIMER_REAL, 0xFEA0BC68, 0x00000000)  = 0
sigprocmask(SIG_UNBLOCK, 0xFF1BFA00, 0x00000000) = 0
lwp_sema_wait(0x00023A08)       (sleeping...)
signotifywait()                 (sleeping...)
lwp_sema_wait(0xFEB0DE30)       (sleeping...)
lwp_cond_wait(0xFF1C5550, 0xFF1C5560, 0xFF1BEDB8) (sleeping...)
lwp_cond_wait(0xFF1C5550, 0xFF1C5560, 0xFF1BEDB8) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
lwp_cond_wait(0xFF1C5550, 0xFF1C5560, 0xFF1BEDB8) (sleeping...)
lwp_sema_wait(0xFF1BFA10)       (sleeping...)
    Received signal #14, SIGALRM, in lwp_sema_wait() [caught]
lwp_sema_wait(0xFF1BFA10)                       Err#91 ERESTART
sigprocmask(SIG_SETMASK, 0xFEA0BDE4, 0x00000000) = 0
lwp_sema_post(0x00023A08)                       = 0
lwp_sema_wait(0x00023A08)                       = 0
sigprocmask(SIG_SETMASK, 0xFF1CAD70, 0x00000000) = 0
setcontext(0xFEA0B6C8)
sigprocmask(SIG_BLOCK, 0xFF1BFA00, 0x00000000)  = 0
sigprocmask(SIG_UNBLOCK, 0xFF1BFA00, 0x00000000) = 0
    Incurred fault #6, FLTBOUNDS  %pc = 0xFF31FD30
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000008
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000008
        *** process killed ***



Any ideas?


--
MattLangford




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]