Re: Problem Shutting Down the ORB




Michael Meeks wrote:
> Hi Craig,
> 
> On Thu, 2003-03-06 at 01:47, Craig Wright wrote:
> 
>>Yeah... I'm using Qt with ORBit2. Are you amused? :)
> 
> 
> 	Amused / pleased yes :-) good on you. I'd like to make it work nicely
> for you.
> 

I'm sorry, but I had to pull ORBit out because I really needed 
threading. I'm still using ORBit in my server though, but that doesn't 
use Qt. :) I replaced it with omniORB 4.0.

The goods news is, is that it worked flawlessly without threads. I just 
wanted to beable to start it in one thread, shut it down in another and 
let it execute requests without supervision. :)

Do you know of any issues with omniORB 4.0 and ORBit2 not communicating. 
I couldn't get them to work together. I'm back to ORBit 0.5.15 again in 
my server. :(

> 
> 	You seem to be dumping the contents of some symbol table instead of the
> linc internal protocol list :-) not optimal.
> 
What can I do to get you what you need?

> 	Does make check in 'linc' pass ? it might be worth adding a -lefence to
> client.c's link, and running it in gdb to see if we can catch the memory
> corruption and/or valgrinding it.
> 
Here's the output of "make check" for linc

$ make check
Making check in include
make[1]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/include'
Making check in linc
make[2]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/include/linc'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/include/linc'
make[2]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/include'
make[2]: Nothing to be done for `check-am'.
make[2]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/include'
make[1]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/include'
Making check in src
make[1]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/src'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/src'
Making check in test
make[1]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/test'
make  check-TESTS
make[2]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/test'
Available protocols: {
	'    IPv4':  2,  16,  6, 0x0000 [s-ail]
	'    IPv6': 10,  28,  6, 0x0000 [s-ail]
	'    UNIX':  1, 110,  0, 0x0003 [-dail]
	'    IrDA': 23,  36,  0, 0x0002 [--ai-]
  }
Testing 'broken' ...
Testing blocking code ...
  buffer 512
  buffer 1024
  buffer 0
Testing is_local checking ...
  UNIX
  IPv4
  IPv6
  'abyss': 'abyss.cometsolutions.com'
  official name 'abyss.cometsolutions.com' aliases:  'abyss'
All tests passed successfully
PASS: test-linc
==================
All 1 tests passed
==================
make[2]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/test'
make[1]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/test'
Making check in docs
make[1]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1/docs'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1/docs'
make[1]: Entering directory `/nfs/home/craig/ORBit2/linc-1.0.1'
make[1]: Leaving directory `/nfs/home/craig/ORBit2/linc-1.0.1'

************************************************************************
I linked ORBit2 with efence... here's is the new output of "make check"
It looks to be the same.

Initial References:
	POACurrent ... okay
	RootPOA ... okay
Protocol       dr: disabled
Protocol  oy_addr: disabled
Protocol destroy_addr: disabled
Protocol ocol_destroy_addr: disabled
Local server test passed

** ERROR **: file client.c: line 1882 (dump_protos): assertion failed: 
(enabled_count > 0)
aborting...
././test.sh: line 33:  8956 Aborted                 ./client $params
=============================================================
Test failed with params: --ORBIIOPIPv4=0 --ORBIIOPUSock=1
=============================================================
././test.sh: line 33:  8955 Terminated              ./server $params
FAIL: ./test.sh
===================
1 of 1 tests failed
===================
make[3]: *** [check-TESTS] Error 1
make[3]: Leaving directory 
`/nfs/home/craig/ORBit2/ORBit2-2.6.0/test/everything'make[2]: *** 
[check-am] Error 2



**************** stack trace of echo-client with -lefence *************

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 9072)]
0x400303d8 in ORBit_RootObject_release (obj=0x404e6fd8) at 
orbit-object.c:180
180		if (robj && robj->refs != ORBIT_REFCOUNT_STATIC) {
(gdb) bt
#0  0x400303d8 in ORBit_RootObject_release (obj=0x404e6fd8)
     at orbit-object.c:180
#1  0x4002dbd4 in shutdown_orb () at corba-orb.c:218
#2  0x4016a42b in exit (status=0) at exit.c:54
#3  0x40155510 in __libc_start_main (main=0x8048db0 <main>, argc=2,
     ubp_av=0xbfffe164, init=0x8048b7c <_init>, fini=0x80492d0 <_fini>,
     rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbfffe15c)
     at ../sysdeps/generic/libc-start.c:129
(gdb)


I don't know if this is different than before.. I'm not keeping track. 
Sorry.
> 	So - I'm guessing this is some optimisation / compilation / system
> wierdness at your end. Or your system is revealing some curious bug that
> we don't see for odd reasons here.
> 

I notice it compiles with -O2.... I know compiling with optimization can 
produce erroneous results sometimes.

I can get you an account on my machine here if you want to investigate 
this beyond what my level of expertise is. Otherwise I'll help as much 
as I can.

-Craig.


> 	Either way - most interesting.
> 
> 	Regards,
> 
> 		Michael.
> 




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