[omniORB] Server crash

Björn Hagemeier bjoernh at uni-paderborn.de
Fri May 5 16:57:59 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

my server crashes (SEGFAULT) when a rather complex struct is requested
from it. I've tried initializing all attributes of the struct, so
nothing uninitialized would cause the trouble. That didn't help. Below's
a stack trace from GDB, that may help you identify the problem. If
necessary, I'll put up a minimal example that shows the behavior.

The IDL of the struct is:

 struct Job_t {
      string      drmaa_remote_command;
      util::StringSeq_t drmaa_v_argv;
      string      drmaa_js_state;
      util::StringSeq_t drmaa_v_env;
      string      drmaa_wd;
      string      drmaa_job_category;
      string      drmaa_native_specification;
      util::StringSeq_t drmaa_v_email;
      string      drmaa_block_email;
      string      drmaa_start_time;
      string      drmaa_job_name;
      string      drmaa_input_path;
      string      drmaa_output_path;
      string      drmaa_error_path;
      string      drmaa_join_files;

      JobState         state;
      string           user;
      util::OctetSeq_t afsToken;
      unsigned long    id;
      unsigned long    nrOfTasks;
      boolean          checkpoint;
};

An instance of the struct is returned by

interface JobManagerIf {
  Job_t getJobSkeleton(inout util::SessionCookie);
}

Differences in the behavior show, when I return a null-pointer from the
implementation of that method. The null-pointer doesn't cause the
trouble mentioned above, but I need the contents, not nothing ;-)  I've
also tried creating a Job_t_var and returning _retn(), that also didn't
do any good. Passing the data in the other direction, from client to
server, works just fine. Has anyone seen anything like this before?

The stack trace:

#0  piranha::jobmanager::Job_t::operator>>= (this=0xb4f6ccc8, _n=@0x80c9acc)
    at stringtypes.h:332
#1  0x08074531 in _0RL_cd_131562FCA6607AD9_20000000::marshalReturnedValues (
    this=0xb4f6cfb0, _n=@0x80c9acc) at templatedecls.h:916
#2  0xb7f3187b in omni::GIOP_S::SendReply ()
   from /usr/local/lib/libomniORB4.so.1
#3  0xb7f0c1ef in omniCallHandle::upcall ()
   from /usr/local/lib/libomniORB4.so.1
#4  0x080762d3 in piranha::jobmanager::_impl_JobManagerIf::_dispatch (
    this=0x80b39bc, _handle=@0xb4f6d1c0) at JobManagerIf.c++:624
#5  0xb7ef8fc2 in omni::omniOrbPOA::dispatch ()
   from /usr/local/lib/libomniORB4.so.1
#6  0xb7edaaa4 in omniLocalIdentity::dispatch ()
   from /usr/local/lib/libomniORB4.so.1
#7  0xb7f2f7ce in omni::GIOP_S::handleRequest ()
   from /usr/local/lib/libomniORB4.so.1
#8  0xb7f3064a in omni::GIOP_S::dispatcher ()
   from /usr/local/lib/libomniORB4.so.1
#9  0xb7f2d027 in omni::giopWorker::real_execute ()
   from /usr/local/lib/libomniORB4.so.1
#10 0xb7f2d8bb in omni::giopWorkerInfo::run ()
   from /usr/local/lib/libomniORB4.so.1
#11 0xb7f2d8fa in omni::giopWorker::execute ()
   from /usr/local/lib/libomniORB4.so.1
#12 0xb7ed06b2 in omniAsyncWorkerInfo::run ()
   from /usr/local/lib/libomniORB4.so.1
#13 0xb7ed171a in omniAsyncWorker::run () from
/usr/local/lib/libomniORB4.so.1
#14 0xb7b22543 in omni_thread_wrapper () from
/usr/local/lib/libomnithread.so.3
#15 0xb7a15c4b in start_thread () from /lib/tls/libpthread.so.0
#16 0xb79ac9ee in clone () from /lib/tls/libc.so.6


Thanks in advance,

bjoernh
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEW1nn3i6odBqWdwQRAvdVAJkBHs3ouIxjL86xFEMTZlr9npaL0gCfSgn9
roaggiTdnJuvno/+yd3bju0=
=QmqN
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bjoernh.vcf
Type: text/x-vcard
Size: 265 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060505/f1c2ba84/bjoernh.vcf


More information about the omniORB-list mailing list