orbitcpp-list Mailing List for orbitcpp (Page 26)
Status: Beta
Brought to you by:
philipd
You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(19) |
Feb
(45) |
Mar
(53) |
Apr
(64) |
May
(22) |
Jun
(6) |
Jul
(56) |
Aug
(11) |
Sep
(32) |
Oct
(27) |
Nov
(43) |
Dec
(25) |
2001 |
Jan
(11) |
Feb
(26) |
Mar
(16) |
Apr
(19) |
May
(19) |
Jun
(28) |
Jul
(16) |
Aug
(12) |
Sep
(7) |
Oct
(9) |
Nov
(1) |
Dec
(35) |
2002 |
Jan
(45) |
Feb
(66) |
Mar
(25) |
Apr
(20) |
May
(15) |
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(26) |
2003 |
Jan
(8) |
Feb
|
Mar
|
Apr
(4) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2004 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(2) |
Jul
(4) |
Aug
(4) |
Sep
(4) |
Oct
(17) |
Nov
(23) |
Dec
(5) |
2007 |
Jan
(37) |
Feb
(20) |
Mar
(16) |
Apr
(23) |
May
(20) |
Jun
(12) |
Jul
(20) |
Aug
(25) |
Sep
(15) |
Oct
(8) |
Nov
(5) |
Dec
(3) |
2008 |
Jan
(9) |
Feb
(6) |
Mar
(37) |
Apr
(28) |
May
(12) |
Jun
(9) |
Jul
(30) |
Aug
(7) |
Sep
(20) |
Oct
(26) |
Nov
(50) |
Dec
(75) |
2009 |
Jan
(63) |
Feb
(46) |
Mar
(54) |
Apr
(53) |
May
(125) |
Jun
(102) |
Jul
(90) |
Aug
(46) |
Sep
(26) |
Oct
(32) |
Nov
(9) |
Dec
(29) |
2010 |
Jan
(9) |
Feb
(8) |
Mar
(45) |
Apr
(56) |
May
(74) |
Jun
(73) |
Jul
(34) |
Aug
(48) |
Sep
(23) |
Oct
(3) |
Nov
|
Dec
(3) |
2011 |
Jan
(5) |
Feb
(3) |
Mar
(17) |
Apr
(3) |
May
(2) |
Jun
(3) |
Jul
(4) |
Aug
(8) |
Sep
(17) |
Oct
(6) |
Nov
(5) |
Dec
(10) |
2012 |
Jan
(3) |
Feb
(15) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(5) |
Aug
(3) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(2) |
2013 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(6) |
Aug
(52) |
Sep
(3) |
Oct
(5) |
Nov
(1) |
Dec
(8) |
2014 |
Jan
(1) |
Feb
(16) |
Mar
(9) |
Apr
(11) |
May
(16) |
Jun
(15) |
Jul
(13) |
Aug
(4) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
(3) |
2015 |
Jan
(5) |
Feb
(1) |
Mar
(5) |
Apr
(1) |
May
(5) |
Jun
(3) |
Jul
(4) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(1) |
2017 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(5) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <la...@se...> - 2000-12-07 04:12:37
|
/* * This file was generated by orbit-idl - DO NOT EDIT! */ #include <errno.h> // lance #include <string.h> #include "zone.h" CORBA_char * ZoneModule_ZoneInterface_setTransport(ZoneModule_ZoneInterface _obj, const CORBA_char * ior, CORBA_Environment * ev) { register GIOP_unsigned_long _ORBIT_request_id, _ORBIT_system_exception_minor; register CORBA_completion_status _ORBIT_completion_status; register GIOPSendBuffer *_ORBIT_send_buffer; register GIOPRecvBuffer *_ORBIT_recv_buffer; register GIOPConnection *_cnx; CORBA_char *_ORBIT_retval; register CORBA_unsigned_long _ORBIT_tmpvar_4; CORBA_unsigned_long _ORBIT_tmpvar_5; if (_obj->servant && _obj->vepv && ZoneModule_ZoneInterface__classid) { _ORBIT_retval = ((POA_ZoneModule_ZoneInterface__epv *) _obj-> vepv[ZoneModule_ZoneInterface__classid])->setTransport(_obj-> servant, ior, ev); return _ORBIT_retval; } if (0) return *(&_ORBIT_retval); _cnx = ORBit_object_get_connection(_obj); _ORBIT_retry_request: _ORBIT_send_buffer = NULL; _ORBIT_recv_buffer = NULL; _ORBIT_completion_status = CORBA_COMPLETED_NO; _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0)); { /* marshalling */ static const struct { CORBA_unsigned_long len; char opname[13]; } _ORBIT_operation_name_data = { 13, "setTransport"}; static const struct iovec _ORBIT_operation_vec = { (gpointer) & _ORBIT_operation_name_data, 17 }; register CORBA_unsigned_long _ORBIT_tmpvar_0; CORBA_unsigned_long _ORBIT_tmpvar_1; _ORBIT_send_buffer = giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec), &_ORBIT_operation_vec, &ORBit_default_principal_iovec); _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE; if (!_ORBIT_send_buffer) goto _ORBIT_system_exception; _ORBIT_tmpvar_1 = strlen(ior) + 1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER (_ORBIT_send_buffer), 4); { guchar *_ORBIT_t; _ORBIT_t = alloca(sizeof(_ORBIT_tmpvar_1)); memcpy(_ORBIT_t, &(_ORBIT_tmpvar_1), sizeof(_ORBIT_tmpvar_1)); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER (_ORBIT_send_buffer), (_ORBIT_t), sizeof(_ORBIT_tmpvar_1)); } giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (ior), sizeof(ior[_ORBIT_tmpvar_0]) * _ORBIT_tmpvar_1); giop_send_buffer_write(_ORBIT_send_buffer); _ORBIT_completion_status = CORBA_COMPLETED_MAYBE; giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_send_buffer = NULL; } { /* demarshalling */ register guchar *_ORBIT_curptr; _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE); if (!_ORBIT_recv_buffer) goto _ORBIT_system_exception; _ORBIT_completion_status = CORBA_COMPLETED_YES; if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) goto _ORBIT_msg_exception; _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur; if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); (*((guint32 *) & (_ORBIT_tmpvar_5))) = GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr)); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_5); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_4]) * _ORBIT_tmpvar_5); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_4]) * _ORBIT_tmpvar_5; } else { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); _ORBIT_tmpvar_5 = *((CORBA_unsigned_long *) _ORBIT_curptr); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_5); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_4]) * _ORBIT_tmpvar_5); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_4]) * _ORBIT_tmpvar_5; } giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; _ORBIT_system_exception: CORBA_exception_set_system(ev, _ORBIT_system_exception_minor, _ORBIT_completion_status); giop_recv_buffer_unuse(_ORBIT_recv_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); return _ORBIT_retval; _ORBIT_msg_exception: if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) { if (_obj->forward_locations != NULL) ORBit_delete_profiles(_obj->forward_locations); _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer); _cnx = ORBit_object_get_forwarded_connection(_obj); giop_recv_buffer_unuse(_ORBIT_recv_buffer); goto _ORBIT_retry_request; } else { ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; } } } CORBA_char * ZoneModule_ZoneInterface_clearTransport(ZoneModule_ZoneInterface _obj, CORBA_Environment * ev) { register GIOP_unsigned_long _ORBIT_request_id, _ORBIT_system_exception_minor; register CORBA_completion_status _ORBIT_completion_status; register GIOPSendBuffer *_ORBIT_send_buffer; register GIOPRecvBuffer *_ORBIT_recv_buffer; register GIOPConnection *_cnx; CORBA_char *_ORBIT_retval; register CORBA_unsigned_long _ORBIT_tmpvar_2; CORBA_unsigned_long _ORBIT_tmpvar_3; if (_obj->servant && _obj->vepv && ZoneModule_ZoneInterface__classid) { _ORBIT_retval = ((POA_ZoneModule_ZoneInterface__epv *) _obj-> vepv[ZoneModule_ZoneInterface__classid])->clearTransport(_obj-> servant, ev); return _ORBIT_retval; } if (0) return *(&_ORBIT_retval); _cnx = ORBit_object_get_connection(_obj); _ORBIT_retry_request: _ORBIT_send_buffer = NULL; _ORBIT_recv_buffer = NULL; _ORBIT_completion_status = CORBA_COMPLETED_NO; _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0)); { /* marshalling */ static const struct { CORBA_unsigned_long len; char opname[15]; } _ORBIT_operation_name_data = { 15, "clearTransport"}; static const struct iovec _ORBIT_operation_vec = { (gpointer) & _ORBIT_operation_name_data, 19 }; _ORBIT_send_buffer = giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec), &_ORBIT_operation_vec, &ORBit_default_principal_iovec); _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE; if (!_ORBIT_send_buffer) goto _ORBIT_system_exception; giop_send_buffer_write(_ORBIT_send_buffer); _ORBIT_completion_status = CORBA_COMPLETED_MAYBE; giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_send_buffer = NULL; } { /* demarshalling */ register guchar *_ORBIT_curptr; _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE); if (!_ORBIT_recv_buffer) goto _ORBIT_system_exception; _ORBIT_completion_status = CORBA_COMPLETED_YES; if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) goto _ORBIT_msg_exception; _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur; if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); (*((guint32 *) & (_ORBIT_tmpvar_3))) = GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr)); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_3); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3; } else { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); _ORBIT_tmpvar_3 = *((CORBA_unsigned_long *) _ORBIT_curptr); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_3); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3; } giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; _ORBIT_system_exception: CORBA_exception_set_system(ev, _ORBIT_system_exception_minor, _ORBIT_completion_status); giop_recv_buffer_unuse(_ORBIT_recv_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); return _ORBIT_retval; _ORBIT_msg_exception: if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) { if (_obj->forward_locations != NULL) ORBit_delete_profiles(_obj->forward_locations); _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer); _cnx = ORBit_object_get_forwarded_connection(_obj); giop_recv_buffer_unuse(_ORBIT_recv_buffer); goto _ORBIT_retry_request; } else { ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; } } } CORBA_char * ZoneModule_ZoneInterface_getTransport(ZoneModule_ZoneInterface _obj, CORBA_Environment * ev) { register GIOP_unsigned_long _ORBIT_request_id, _ORBIT_system_exception_minor; register CORBA_completion_status _ORBIT_completion_status; register GIOPSendBuffer *_ORBIT_send_buffer; register GIOPRecvBuffer *_ORBIT_recv_buffer; register GIOPConnection *_cnx; CORBA_char *_ORBIT_retval; register CORBA_unsigned_long _ORBIT_tmpvar_2; CORBA_unsigned_long _ORBIT_tmpvar_3; if (_obj->servant && _obj->vepv && ZoneModule_ZoneInterface__classid) { _ORBIT_retval = ((POA_ZoneModule_ZoneInterface__epv *) _obj-> vepv[ZoneModule_ZoneInterface__classid])->getTransport(_obj-> servant, ev); return _ORBIT_retval; } if (0) return *(&_ORBIT_retval); _cnx = ORBit_object_get_connection(_obj); _ORBIT_retry_request: _ORBIT_send_buffer = NULL; _ORBIT_recv_buffer = NULL; _ORBIT_completion_status = CORBA_COMPLETED_NO; _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0)); { /* marshalling */ static const struct { CORBA_unsigned_long len; char opname[13]; } _ORBIT_operation_name_data = { 13, "getTransport"}; static const struct iovec _ORBIT_operation_vec = { (gpointer) & _ORBIT_operation_name_data, 17 }; _ORBIT_send_buffer = giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec), &_ORBIT_operation_vec, &ORBit_default_principal_iovec); _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE; if (!_ORBIT_send_buffer) goto _ORBIT_system_exception; errno=0 ; // lance giop_send_buffer_write(_ORBIT_send_buffer); if (errno) // lance goto _ORBIT_system_exception; // lance _ORBIT_completion_status = CORBA_COMPLETED_MAYBE; giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_send_buffer = NULL; } { /* demarshalling */ register guchar *_ORBIT_curptr; _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE); if (!_ORBIT_recv_buffer) goto _ORBIT_system_exception; _ORBIT_completion_status = CORBA_COMPLETED_YES; if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) goto _ORBIT_msg_exception; _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur; if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); (*((guint32 *) & (_ORBIT_tmpvar_3))) = GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr)); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_3); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3; } else { _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4); _ORBIT_tmpvar_3 = *((CORBA_unsigned_long *) _ORBIT_curptr); _ORBIT_curptr += 4; _ORBIT_retval = CORBA_string_alloc(_ORBIT_tmpvar_3); memcpy(_ORBIT_retval, _ORBIT_curptr, sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3); _ORBIT_curptr += sizeof(_ORBIT_retval[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3; } giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; _ORBIT_system_exception: CORBA_exception_set_system(ev, _ORBIT_system_exception_minor, _ORBIT_completion_status); giop_recv_buffer_unuse(_ORBIT_recv_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); return _ORBIT_retval; _ORBIT_msg_exception: if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) { if (_obj->forward_locations != NULL) ORBit_delete_profiles(_obj->forward_locations); _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer); _cnx = ORBit_object_get_forwarded_connection(_obj); giop_recv_buffer_unuse(_ORBIT_recv_buffer); goto _ORBIT_retry_request; } else { ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; } } } |
From: Richard A. <ric...@ix...> - 2000-12-07 03:38:26
|
If anyone actually reads this list... I've just managed to get ORBit-cpp 0.29 to build with ORBit-0.5.4-helix but when I try to use it I get the following errors from orbit-idl orbit-idl -lc++ test.idl ** WARNING **: Module load failed: /usr/lib/orbit-idl/liborbit-idl-c++-backend.so: undefined symbol: __vt_9exception ** CRITICAL **: file orbit-idl-driver.c: line 50 (orbit_idl_to_backend): assertion `binfo && binfo->op_output' failed. ** WARNING **: test.idl compilation failed Please reply directly as I'm not on this list Thanks Rich <ric...@ix...> |
From: John L. <jk...@lu...> - 2000-12-03 00:40:51
|
> Hi! > I upgraded Orbitcpp from version 0.28.1 to 0.29 and I found a little > problem: compilation of file orbitcpp_tools.cc fails on method > _orbitcpp::TypeCode_allocate() - compiler cannot find functions > ORBit_RootObject_init() and ORBit_TypeCode_dup(). > What's up? > Will using newest CVS ORBit version solve the problem? > > Kuba Hmm... it seems you are using the orbitcpp CVS version not 0.29. But that is irrelevant because both need a more up to date version of ORBit. So the best bet is to get a special snapshot that Phil put together. You go to the orbitcpp download page and take a look at the release notes for 0.29, which has a link to both the ORBit sources and GTK+ 2.0. You can use ORBit CVS but sometimes it won't compile. Also, remember not to put ORBit where it will conflict with 0.5.4 or the newly released 0.5.5 because gnome's CORBA stuff doesn't play nice with bleeding edge ORBit. John |
From: <kp...@po...> - 2000-12-02 17:18:03
|
Hi! I upgraded Orbitcpp from version 0.28.1 to 0.29 and I found a little problem: compilation of file orbitcpp_tools.cc fails on method _orbitcpp::TypeCode_allocate() - compiler cannot find functions ORBit_RootObject_init() and ORBit_TypeCode_dup(). What's up? Will using newest CVS ORBit version solve the problem? Kuba |
From: Phil D. <ph...@us...> - 2000-12-02 09:59:01
|
Hi Lance, la...@se... writes: > First, is it possible to check if orit has already been initialized? > Calling orb =CORBA::ORB_init(argc, argv, "orbit-local-orb") > more than once crashes. For now, I will keep a local flag. > Err.. not on my machine it doesn't. Which version of orbitcpp / ORBit are you running. > Perhaps more importanly, if the server has gone down, what > is the best way for the client to avoid hanging or crashing on > subsequent calls to that server? Is there a way to validate > the object such as objectPointer->isWorking() or even > objectPointer->wontHang(). Perhaps I can embed and > catch an alarm signal before each client call. > I'm not sure about this one. If orbit is unable to connect to the server you get a CORBA::COMM_FAILURE system exception. However if ORBit has previously connected to the server then you do seem to get a hang. I'll do some experimenting over the weekend... Cheers, Phil |
From: <la...@se...> - 2000-11-30 17:16:40
|
First, is it possible to check if orit has already been initialized? Calling orb =CORBA::ORB_init(argc, argv, "orbit-local-orb") more than once crashes. For now, I will keep a local flag. Perhaps more importanly, if the server has gone down, what is the best way for the client to avoid hanging or crashing on subsequent calls to that server? Is there a way to validate the object such as objectPointer->isWorking() or even objectPointer->wontHang(). Perhaps I can embed and catch an alarm signal before each client call. Any elightenment appreciated. Thanks, -Lance. -- -=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=- Lance Welsh la...@se... Seascape Communications (650) 327-6890 -=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=--=+=- |
From: Phil D. <ph...@us...> - 2000-11-24 11:42:16
|
Hi Martin, I've grabbed a copy of ORBit-2.3.0 so I'll try and get it to work on my train journey home tonight. Thanks for your Cheers, Phil Martin Schulze writes: > Hi, > > Maybe you should also make orbitcpp link against the latest > ORBit2-preview that was recently announced on the orbit-list. > > It seems that there are only few changes necessary: > > - the conviniece-macros TC_short, TC_..., ..., > ORBit_TypeCode_release, ORBit_TypeCode_dup > aren't defined at the moment (affects orbitcpp_any.hh, > the latter orbitcpp_tools.hh) > > - in orbitcpp_poa.hh it has to be: > ORBITCPP_DECLARE_SIMPLE_SEQUENCE(CORBA::Octet, > CORBA_sequence_CORBA_octet__alloc, > CORBA_sequence_CORBA_octet_allocbuf, > PortableServer_ObjectId, > ObjectId) > > - CORBA_Object_struct has been renamed to CORBA_Object_type > (affects orbitcpp_object.hh) > > - Hmm, no this is annoying: the orbitcpp-backend isn't working any more: > ** CRITICAL **: file orbit-idl-driver.c: line 50 (orbit_idl_to_backend): > assertion `binfo && binfo->op_output' failed > (every idl-file generates the same output) > Hopefully this is an obvious bug to you! > > I'm looking forward to orbitcpp-0.30! > > Cheers, > Martin > > > _______________________________________________ > orbitcpp-list mailing list > orb...@li... > http://lists.sourceforge.net/mailman/listinfo/orbitcpp-list > |
From: <MHL...@t-...> - 2000-11-23 20:47:27
|
On 11/22/2000, 03:11:36 Phil Dawes wrote: > Hi Martin, > > Glad you solved your problem - sorry about my reply arriving too > late. > > I agree that it`s unfortunate that this sort of mistake results in > such a nebulus error - can you think of a way we could trap this in > orbitcpp?. > The problem is that all variables xxx_ptr that get initialized from the same reference xxx_var point to a "profile_list". This profile_list is freed when xxx_var is destroyed (unless the reference is duplicated, of course). Now can you look at a xxx_ptr and say whether profile_list still points to a valid memory block or not ? I found my bug because "next" in profile_list was 0x0 but that doesn't necessarily have to be the case. Hmm, perhaps we could define a macro like #ifdef DEBUG #define REFERENCE_IS_VALID(obj) \ if(obj->profile_list) obj->profile_list->data->profile_type = \ obj->profile_list->data->profile_type; #else #define REFERENCE_IS_VALID(obj) #endif and use it in the cpp-stubs before passing obj to the c-stub which in turn passes it to liborbit where the segfault happens. I think this macro should a segfault?! If yes the users attendence should be drawn on the right track! Anyway I think it would be good to add a few comments to client.cc in the test everything. People that start using a new library will first have a look at the examples. Maybe you could modify the program a little so that it stores a refence to a Factory and use it later in another function. Cheers, Martin. |
From: <MHL...@t-...> - 2000-11-23 20:47:20
|
Hi, Maybe you should also make orbitcpp link against the latest ORBit2-preview that was recently announced on the orbit-list. It seems that there are only few changes necessary: - the conviniece-macros TC_short, TC_..., ..., ORBit_TypeCode_release, ORBit_TypeCode_dup aren't defined at the moment (affects orbitcpp_any.hh, the latter orbitcpp_tools.hh) - in orbitcpp_poa.hh it has to be: ORBITCPP_DECLARE_SIMPLE_SEQUENCE(CORBA::Octet, CORBA_sequence_CORBA_octet__alloc, CORBA_sequence_CORBA_octet_allocbuf, PortableServer_ObjectId, ObjectId) - CORBA_Object_struct has been renamed to CORBA_Object_type (affects orbitcpp_object.hh) - Hmm, no this is annoying: the orbitcpp-backend isn't working any more: ** CRITICAL **: file orbit-idl-driver.c: line 50 (orbit_idl_to_backend): assertion `binfo && binfo->op_output' failed (every idl-file generates the same output) Hopefully this is an obvious bug to you! I'm looking forward to orbitcpp-0.30! Cheers, Martin |
From: Sam C. <sa...@to...> - 2000-11-23 07:18:44
|
John Luebs <jk...@lu...> wrote: > > Being able to do this stuff is contingent on being able to successfully > do a 'cvs update' sometime in the near future....You would think that > sourceforge would do system maintenance during midday or afternoon not > late at night when people really get this kind of work done.. Late at night for who? It's early evening here (Australia). Where in the world are you, anyway? I think you, Phil and I are all on different continents. Cool. --=20 Sam Couter | Internet Engineer | http://www.topic.com.au/ sa...@to... | tSA Consulting | PGP key available on key servers PGP key fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: John L. <jk...@lu...> - 2000-11-23 07:02:31
|
It is a holiday week for me and yes I do have the time for (a) making some test for any and I might throw in some more aggressive sequence and array testing (b) putting the finishing touches on the Any implementation to include methods involving Typecodes, and provide Any_var (c) fixing the TypeCode constant generation in the compiler and having the generated Any inserter/extractors use those generated TypeCode constants. (d) Get IDLArray to generate Array_forany and the inserter/extractors. (e) Look for anything stupid in some of the modifications I made to IDLArray and friends, and make sure things are clean. Being able to do this stuff is contingent on being able to successfully do a 'cvs update' sometime in the near future....You would think that sourceforge would do system maintenance during midday or afternoon not late at night when people really get this kind of work done.. John |
From: Sam C. <sa...@to...> - 2000-11-22 23:14:05
|
Phil Dawes <ph...@us...> wrote: >=20 > Sam, I'll have a few hours free later on this week to do the Typecode > merge if you'd like. Is the patch you sent to the list a couple of > weeks ago up to date? They are, but I haven't done any work on integrating them with John's Any support yet. I did spend some time building ORBit-C++ against ORBit-mt and testing some of the multithread features. Works real good. All that's missing is the thread policy stuff on the POA object, which doesn't matter if you use the default thread policy. I need to work out how I can (cleanly) modify the configure script and such to add a command-line argument to compile against ORBit-mt. --=20 Sam Couter | Internet Engineer | http://www.topic.com.au/ sa...@to... | tSA Consulting | PGP key available on key servers PGP key fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: Phil D. <ph...@us...> - 2000-11-22 11:10:41
|
Hi Martin, Glad you solved your problem - sorry about my reply arriving too late. I agree that it's unfortunate that this sort of mistake results in such a nebulus error - can you think of a way we could trap this in orbitcpp?. Cheers, Phil Martin Schulze writes: > Hi, > > I'm sorry to have bothered you that way! > After a few hours' debugging session I found I made a silly mistake: > > I didn't _duplicate() the reference in pA (I thought everything would > be fine duplicating it in pB, the prosess that holds the referred > object) so it got freed at the end of the cpp-skeleton of the retrieving > function and my reference got invalid. > However a SEGFAULT in my opinion is a little overreacted; but this is > not an orbitcpp- but an orbit-related topic. > > Cu, Martin. > |
From: Phil D. <ph...@us...> - 2000-11-22 11:02:33
|
Ladies & Gentlemen, The Union support is now complete, and I'd like to do a new orbitcpp release asap (release early, release often - all that kind of thing). So the question is: do we include full Typecode and Any support in 0.30, or delay until 0.31? As far as I can see, the following needs doing before we can say we support Typecode and Any: 1) A test for John's Any stuff needs including in test/everything 2) Sam's typecode stuff needs integrating with the current build, so that the Any support can use CORBA::Typecode rather than CORBA_typecode. 3) Need to write compiler 'deep copy' code for any and typecode so that they work in arrays and unions correctly. 4) Need a test for typecode and the above deep copy stuff. John, have you got time to do (1)? - You've probably got more experience with Any than any-one else here. Sam, I'll have a few hours free later on this week to do the Typecode merge if you'd like. Is the patch you sent to the list a couple of weeks ago up to date? Ideally I'd like to get 0.30 out in the next couple of weeks, and maybe do a freshmeat announce etc... Cheers, Phil |
From: Phil D. <ph...@us...> - 2000-11-22 11:02:27
|
Hi Martin, Sorry for the late reply - I've been a bit busy recently (and it took me a couple of reads to understand this mail ;-) Martin Schulze writes: > > Hi, > > I ran into some troubles implementing a signal-slot-technology > with CORBA-objects: > > > Given three processes pA, pB, pC. > Is it possible to pass a reference retrieved in process pC from > the IOR referring to an object in the address space of pB > to process pA directly ? > Yes, you can pass the object reference as an idl argument to a corba method. You must ensure that you call the relevant reference '_duplicate' function though. (This duplicates the object reference, not the corba object implementation) e.g. for function returning a reference to interface foo: return foo::_duplicate(myfooreference); > > > In details: > > Let's say I have interfaces iA, iAA, iB, iBB. > class iA_impl contains a class iAA_impl (= oAA), > class iB_impl contains a calss iBB_impl (= oBB). > > Now I have two processes running, pA and pB. > pA has an iA_impl on the heap (= oA), pB an iB_impl (= oB). > With you so far (I think). > A third process pC is created, retrieving refences to oA and oB > through their IORs. A function of iA is called, returning a > reference to oAA and a function of iB gives a reference to oBB. > Now a function of iAA is called, giving the REFERENCE to oBB > AS its ARGUMENT. Yep - sounds okay. (must do your _duplicates though). > > Another function of oAA is called. It implicitely calls a function > of oBB - so process pA uses the reference of oBB that was > retrieved in process pC. > > => A SEGFAULT in pA occurs in the function _orb_get_connection > called by the skel of the very last function call mentioned obove. > => Bug in orbit or my design error ??? > > Unlike EJB, CORBA doesn't have any rules govening callback functions (recursive calls etc), so this should all work AFAIK. It's a little difficult to see what the problem could be without code - could you send me a copy of your idl and impl C++ files? Cheers, Phil |
From: <MHL...@t-...> - 2000-11-20 17:27:33
|
Hi, I'm sorry to have bothered you that way! After a few hours' debugging session I found I made a silly mistake: I didn't _duplicate() the reference in pA (I thought everything would be fine duplicating it in pB, the prosess that holds the referred object) so it got freed at the end of the cpp-skeleton of the retrieving function and my reference got invalid. However a SEGFAULT in my opinion is a little overreacted; but this is not an orbitcpp- but an orbit-related topic. Cu, Martin. _______________________________________________________________________ On Son, 19 Nov 2000 00:31:21 Martin Schulze wrote: > > On Son, 19 Nov 2000 00:08:36 Martin Schulze wrote: > Hi, > > I ran into some troubles implementing a signal-slot-technology > with CORBA-objects: > > > Given three processes pA, pB, pC. > Is it possible to pass a reference retrieved in process pC from > the IOR referring to an object in the address space of pB > to process pA directly ? > > [snip] > |
From: Sam C. <sa...@to...> - 2000-11-20 00:14:21
|
John Luebs <jk...@lu...> wrote: >=20 > Hehe, Thanks for giving me my 5 minutes of fame Phil! Sam, I was > wondering what you are waiting for in regards to checking in your > TypeCode support. >=20 > John 'I am the prettiest girl at the dance' Luebs Mostly just time. I was previously building against the Debian woody ORBit libraries, not CVS ORBit. So I need to build that, then build ORBit-C++ and make sure my TypeCode stuff still compiles. And all of this during my Copious Spare Time (tm). Feel free to commit the patches I sent to the list a couple of weeks ago. Sam 'I need at least 28 hours in each day' Couter --=20 Sam Couter | Internet Engineer | http://www.topic.com.au/ sa...@to... | tSA Consulting | PGP key available on key servers PGP key fingerprint: A46B 9BB5 3148 7BEA 1F05 5BD5 8530 03AE DE89 C75C |
From: <MHL...@t-...> - 2000-11-18 23:30:08
|
On Son, 19 Nov 2000 00:08:36 Martin Schulze wrote: Hi, I ran into some troubles implementing a signal-slot-technology with CORBA-objects: Given three processes pA, pB, pC. Is it possible to pass a reference retrieved in process pC from the IOR referring to an object in the address space of pB to process pA directly ? In details: Let's say I have interfaces iA, iAA, iB, iBB. class iA_impl contains a class iAA_impl (= oAA), class iB_impl contains a calss iBB_impl (= oBB). Now I have two processes running, pA and pB. pA has an iA_impl on the heap (= oA), pB an iB_impl (= oB). A third process pC is created, retrieving refences to oA and oB through their IORs. A function of iA is called, returning a reference to oAA and a function of iB gives a reference to oBB. Now a function of iAA is called, giving the REFERENCE to oBB AS its ARGUMENT. Another function of oAA is called. It implicitely calls a function of oBB - so process pA uses the reference of oBB that was retrieved in process pC. => A SEGFAULT in pA occurs in the function _orb_get_connection called by the skel of the very last function call mentioned obove. => Bug in orbit or my design error ??? In ASCII: ___________________________________________________________________ Process: pA pB pC ======= ======= ======= Heap: oA <----- oB <----- -oAA <-- | -oBB <-- | | | | | Refs: | | | --(IOR)-- rB | | --(rB->f())- rBB <-- | | | | -----------(IOR)--------- rA | -----------(rA->f1())------- rAA | | -rBB -------------(rA->f2(rBB))------------ (xx->fx(): function calls invoked in pC for retrieving the references) In pA: oA.rBB->callback() segfaults ! ______________________________________________________________________ Sorry for this being a little long! cu Martin. |
From: John L. <jk...@lu...> - 2000-11-18 05:58:58
|
> > You did a great job an CORBA::Any by the way. > > Thanks, but John Leubs is the guy you should be thanking for this! > > Cheers, > > Phil 'credit where credit's due' Dawes > > --__--__-- Hehe, Thanks for giving me my 5 minutes of fame Phil! Sam, I was wondering what you are waiting for in regards to checking in your TypeCode support. John 'I am the prettiest girl at the dance' Luebs |
From: Phil D. <ph...@us...> - 2000-11-17 10:04:10
|
Martin Schulze writes: > Phil Dawes wrote > > > > Hope this helps, > > Phil > > Thank's for your help - I hope installing two different versions > of the same library will get more convinient some day ... Agreed. Actually, more than that, I hope that a decent version of ORBit makes it into gnome one day! > You did a great job an CORBA::Any by the way. Thanks, but John Leubs is the guy you should be thanking for this! Cheers, Phil 'credit where credit's due' Dawes |
From: <MHL...@t-...> - 2000-11-16 20:23:41
|
Phil Dawes wrote > Hi Martin, > Martin Schulze writes: > > > Hi ! > > There are two or three little bugs in the make system of orbitcpp: > > - The makefiles in the directories test/.../generated depend on the > > makro ORBIT_IDL that isn`t defined anywhere. > It`s generated by the configure script. See AM_PATH_ORBIT() macro in > ORBit.m4. Ah, I see! It now works (see below). > > - The makefiles in the directories test/... define the makro > > ORBIT_NAME_LIBS but try to make use of the makro > > ORBIT_LIBS that hasn`t been defined. > Again, it`s generated by the above macro. (which in turn calls > `orbit-config --libs client`) Hmm, I had some problems with autogen.sh. After getting a brand new version of libtool I still have to append the contents of a file libtool.m4 to e.g. acinclude.m4 in the orbitcpp-path, but well ... ORBIT_LIBS indeed is now defined correctly. > > - The makefile services/name/Makefile directly uses the command > > orbit-idl not caring about the "--wtih-orbit-exec-prefix" - flag one > > can give to configure. > Yep - that`s a bug. It should use the ORBIT_IDL macro. Thanks for finding > this. (fixed in CVS now!) Ok. > > - Missing feature: a "--with-orbit-include-prefix" - flag ! > > After correcting those, orbitcpp and the examples make and install > > as expected but I can`t run the examples! > > I installed the orbit-snapshot and the orbitcpp-CVS-version in the > > directory "/opt/orbit" so that there is no interference with my > > running gnome-system and added "/opt/orbit/lib" to "/etc/ld.so.conf" > > (and run ldoncfig). > You shouldn`t do this - instead, use the LD_LIBRARY_PATH to identify the > /opt/orbit/lib directory. The point is that you want your code to use > this library; the dynamic linker will link with the first lib it finds - > if you just append /opt/orbit/lib to the end of ld.so.conf it will find > your original lib first. You're so right - I moved the entry in ld.so.conf to the top of the file and it had no effect. So back to LD_LIBRARY_PATH ... > > When I type "server" in the directory "test/string", > > the program quits and gives the following error message: > > > > server: error in loading shared libraries: server: undefined symbol: > > ORBit_classinfo_register > > > > Did the sources link to the old version of orbit? > That sounds likely. You need to do the following: > 1) Set your PATH and LD_LIBRARY_PATH: > export PATH=/opt/orbit/bin:$PATH > export LD_LIBRARY_PATH=/opt/orbit/lib:$LD_LIBRARY_PATH > 2) Run autogen.sh --prefix=/opt/orbitcpp This should now all work. > (Setting the PATH to /opt/orbit/bin should enable configure to find the > correct orbit-config, which should point the makefiles at the right > include and lib directories.) > > Hope this helps, > Phil Thank's for your help - I hope installing two different versions of the same library will get more convinient some day ... You did a great job an CORBA::Any by the way. I'm working on CORBA-support for libsigc++ - should soon be finisched. Martin. |
From: Phil D. <ph...@us...> - 2000-11-16 15:04:59
|
Hi Martin, Martin Schulze writes: > Hi ! > > There are two or three little bugs in the make system of orbitcpp: > > - The makefiles in the directories test/.../generated depend on the > makro ORBIT_IDL that isn't defined anywhere. > It's generated by the configure script. See AM_PATH_ORBIT() macro in ORBit.m4. > - The makefiles in the directories test/... define the makro > ORBIT_NAME_LIBS but try to make use of the makro > ORBIT_LIBS that hasn't been defined. > Again, it's generated by the above macro. (which in turn calls `orbit-config --libs client`) > - The makefile services/name/Makefile directly uses the command > orbit-idl not caring about the "--wtih-orbit-exec-prefix" - flag one > can give to configure. > Yep - that's a bug. It should use the ORBIT_IDL macro. Thanks for finding this. (fixed in CVS now!) > - Missing feature: a "--with-orbit-include-prefix" - flag ! > > > After correcting those, orbitcpp and the examples make and install > as expected but I can't run the examples! > I installed the orbit-snapshot and the orbitcpp-CVS-version in the > directory "/opt/orbit" so that there is no interference with my > running gnome-system and added "/opt/orbit/lib" to "/etc/ld.so.conf" > (and run ldoncfig). You shouldn't do this - instead, use the LD_LIBRARY_PATH to identify the /opt/orbit/lib directory. The point is that you want your code to use this library; the dynamic linker will link with the first lib it finds - if you just append /opt/orbit/lib to the end of ld.so.conf it will find your original lib first. > When I type "server" in the directory "test/string", > the program quits and gives the following error message: > > server: error in loading shared libraries: server: undefined symbol: > ORBit_classinfo_register > > Did the sources link to the old version of orbit? > That sounds likely. You need to do the following: 1) Set your PATH and LD_LIBRARY_PATH: export PATH=/opt/orbit/bin:$PATH export LD_LIBRARY_PATH=/opt/orbit/lib:$LD_LIBRARY_PATH 2) Run autogen.sh --prefix=/opt/orbitcpp This should now all work. (Setting the PATH to /opt/orbit/bin should enable configure to find the correct orbit-config, which should point the makefiles at the right include and lib directories. Hope this helps, Phil |
From: <MHL...@t-...> - 2000-11-15 21:01:10
|
Hi ! There are two or three little bugs in the make system of orbitcpp: - The makefiles in the directories test/.../generated depend on the makro ORBIT_IDL that isn't defined anywhere. - The makefiles in the directories test/... define the makro ORBIT_NAME_LIBS but try to make use of the makro ORBIT_LIBS that hasn't been defined. - The makefile services/name/Makefile directly uses the command orbit-idl not caring about the "--wtih-orbit-exec-prefix" - flag one can give to configure. - Missing feature: a "--with-orbit-include-prefix" - flag ! After correcting those, orbitcpp and the examples make and install as expected but I can't run the examples! I installed the orbit-snapshot and the orbitcpp-CVS-version in the directory "/opt/orbit" so that there is no interference with my running gnome-system and added "/opt/orbit/lib" to "/etc/ld.so.conf" (and run ldoncfig). When I type "server" in the directory "test/string", the program quits and gives the following error message: server: error in loading shared libraries: server: undefined symbol: ORBit_classinfo_register Did the sources link to the old version of orbit? Thanks for any help, Martin |
From: John L. <jk...@lu...> - 2000-11-13 22:56:48
|
Yes, the Any support is based on features rather new to ORBit. You have two options: ORBit CVS (which as of this writing will not build due to a configure script problem, it has to be modified a bit), but the orbitcpp CVS should build fine with ORBit CVS snapshot that is "released" for use with orbitcpp found at this address: ftp://orbitcpp.sourceforge.net/pub/orbitcpp/ORBit-cvs-20000918.tar.gz You also should install this in a place like /opt/glib2.0 and then configure ORBit with options: --prefix=(not /usr or /usr/local) --with-glib-prefix=/opt/glib2.0 ftp://ftp.gtk.org/pub/gtk/v1.3/ Please note that you must make sure to install all this stuff in another prefix, definitely not /usr or /usr/local, something like /opt/ORBit (or whatever directory you want), because any libraries on your machine with code generated from an old ORBit IDL compiler will fail! John Luebs |
From: ERDI G. <ca...@ca...> - 2000-11-13 17:56:46
|
On Sun, 12 Nov 2000, ERDI Gergo wrote: > Now it is, thanks. But it wasn't in the afternoon. Do I need some super-ultra-mega-latest ORBit for the new stuff to work? orbitcpp_tools.cc: In function `struct CORBA_TypeCode_struct * _orbitcpp::TypeCode_allocate()': orbitcpp_tools.cc:68: implicit declaration of function `int ORBit_RootObject_init(...)' orbitcpp_tools.cc:69: implicit declaration of function `int ORBit_TypeCode_dup(...)' (with ORBit 0.5.4) -- .--= ULLA! =----------------------------. finger ca...@ca... \ http://cactus.rulez.org \ for PGP public key `----------= ca...@ca... =--' Windows '95. Az eredeti. Csak az EDLIN készítôitôl. |