Hi,
Philippe Canal <pcanal@fnal.gov> wrote concerning
RE: [ROOT] Crashing before main() [Wed, 19 May 2004 16:01:14 -0500]
----------------------------------------------------------------------
> Hi,
>
> Indeed, the most likely cause is a load ordering issue.
A long time ago, I had a similar problem that was bothering me a lot.
I was trying to run a small program that used a third-party,
proprietary, binary-only, library - it kept SIGSEGV even before I
could break into main.
Well, it turned out, that the third-party library I was linking
against, was compiled with another (and incompatible) compiler than
the one I was using (I think it was EGCS vs. GCC - yes, that long time
ago :-). I solved the problem by using the compiler used to build the
third-party library.
So, I guess you should check Mico and see if it's build with the same
compiler as you build ROOT and your application with.
> Surprisingly (actually I think this is a compiler error), gSystem
> must be neither zero nor a valid value.
What about NULL?
> You could assert this 'guess' by putting a fprintf(stderr,"0x%x\n",gSystem);
> in TTimer::Reset().
Why not
std::cout << "0x" << std::hex << gSystem << std::endl;
:-)
> You may also want to check that ldd esmd returns the expected libraries.
This may also give you a hint of what I was talking about.
You can also check
nm -C <path to lib>/libmico.so
(or what ever it's called) and see what kind of GCC was used (the
symbols are obvious).
>
> 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
Yours,
___ | Christian Holm Christensen
|_| | -------------------------------------------------------------
| | Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91
_| DK-2200 Copenhagen N Cell: (+45) 24 61 85 91
_| Denmark Office: (+45) 353 25 404
____| Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
| |
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET