RE: [ROOT] Crashing before main()

From: Philippe Canal (pcanal@fnal.gov)
Date: Wed May 19 2004 - 23:01:14 MEST


Hi,

Indeed, the most likely cause is a load ordering issue.
Surprisingly (actually I think this is a compiler error), gSystem 
must be neither zero nor a valid value.

You could assert this 'guess' by putting a fprintf(stderr,"0x%x\n",gSystem); 
in TTimer::Reset().

You may also want to check that ldd esmd returns the expected libraries.

Cheers,
Philippe.

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Mathes, Hermann-Josef
Sent: Monday, May 10, 2004 10:46 AM
To: roottalk@cern.ch
Cc: Mathes, Hermann-Josef; kopmann@ik.fzk.de;
michael.funcke@physik.uni-wuppertal.de
Subject: [ROOT] Crashing before main()


Dear Rooters,

I have a problem in a large application coming probably from some dynamic library incompatibilities.

The program is crashing before main() is executed.

I am using the following 'environment':
- SuSE Linux 7.3 with gcc 2.95.3 and kernel 2.4.10
- root 3.05.07, generated with the options:
  "./configure linux --enable-table --enable-thread --enable-soversion"
- Mico 2.3.0 (a free CORBA implementation)
- Entire-X 6.1.1 (DCOM for Linux/Unix) + OCSLTK 1.1 (this is an OPC=OLE for
  Process Control built on top of DCOM)

The problem persits independent from the fact if a TROOT object is created. Im not using any ROOT classes (like TObject & Co. or TSocket) simply the dictionary compiled into one of my own libs. 

Using this rather 'old' releases is done for technical (hardware & driver compatibility) reasons.

The DCOM-stuff is using threads (intrinsically for IUnknown derived client side interfaces=callbacks).

This is the error I get (with/without debugger):

mathes@ikauger2:~/FD-DAS/Eye/Esm/daemon> esmd
Segmentation fault
mathes@ikauger2:~/FD-DAS/Eye/Esm/daemon> gdb esmd
GNU gdb 20010316
CThis GDB was configured as "i386-suse-linux"...
(gdb) r
Starting program: /home/mathes/FD-DAS/Eye/Esm-devel/daemon/esmd
[New Thread 1024 (LWP 4509)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 4509)]
0x410547b1 in TTimer::Reset () from /usr/local/root-3.05.07/lib/libCore.so.3.05
(gdb) back
#0  0x410547b1 in TTimer::Reset ()
   from /usr/local/root-3.05.07/lib/libCore.so.3.05
#1  0x41054317 in TTimer::TTimer ()
   from /usr/local/root-3.05.07/lib/libCore.so.3.05
#2  0x41054b8e in __static_initialization_and_destruction_0 ()
   from /usr/local/root-3.05.07/lib/libCore.so.3.05
#3  0x41054e12 in global constructors keyed to TTimer::TTimer ()
   from /usr/local/root-3.05.07/lib/libCore.so.3.05
#4  0x412d8f27 in __do_global_ctors_aux ()
   from /usr/local/root-3.05.07/lib/libCore.so.3.05
#5  0x40fe4452 in _init () from /usr/local/root-3.05.07/lib/libCore.so.3.05
#6  0x4000b7a7 in call_init () from /lib/ld-linux.so.2
#7  0x4000b900 in _dl_init () from /lib/ld-linux.so.2
(gdb)

Thanks for any help or proposal to solve the problem.
Regards
Hermann-Josef



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET