Crash in 'inflate' when linking app with ROOT

From: Steven Morrow <morrow_at_dosisoft.com>
Date: Thu, 1 Mar 2007 10:22:25 +0100


I tried sending this message a couple of days ago, but it didn't seem to get through. Sorry if you get it twice.

Hello,

I'm sorry for this vague question, but I'm having a problem linking an application to ROOT and I don't know how to proceed.

I have an application (which uses Qt and OpenInventor amongst other libraries) and I'd like to link it to ROOT in order to access some of the histogramming classes. I can manage to compile, however the application crashes when I run it, just after clicking on the interface to enter a module. (At this point I don't even have calls to ROOT functions in my code, I'm just linking to the ROOT libraries.) The error messages generated are shown at the bottom of this message.

It seems that the function 'inflate' from libCore.so is being called before the crash. I'm not sure why this function should be called here (I make no direct call to it. Is there any reason why is should be called here?).

I've noticed that both libCore.so (from ROOT) and libInventor.a (from OpenInventor) contain functions called 'inflate' and 'inflate_fast'. I wonder if this could possibly be the cause of a conflict? (I've tried reording my $LD_LIBRARY_PATH by placing the OpenInventor paths before the ROOT ones, but this made no difference.)

I see the problem using ROOT v5.11/02 and v5.14/00c, both of which I compiled from source on RHE3. I am also using Open Inventor v3.1.

So, once again, I'm sorry if the question is vague, but: Can anyone please shed some light on this problem? Has anyone seen something like it before? Can anyone suggest something stupid that I might be doing wrong, or how I might go about debugging it? I don't know where to go from here.

Thanks,

   Steven



Without gdb: (ROOT v5.14/00c)

With gdb: (ROOT v5.14/00c)

(gdb) r -tps -standalone
Starting program: /home/nfs/morrow/isogray/rhe3/bin/isogray -tps -standalone

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

[Thread debugging using libthread_db enabled] [New Thread -1218633568 (LWP 2363)]
Detaching after fork from child process 2415.
Detaching after fork from child process 2416.
Detaching after fork from child process 2417.
Detaching after fork from child process 2418.

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1218633568 (LWP 2363)] 0x06c78d24 in inflate_fast () from
/usr/local/OpenInv/OpenInv311/lib/libInventor.so (gdb) bt
#0 0x06c78d24 in inflate_fast () from

/usr/local/OpenInv/OpenInv311/lib/libInventor.so
#1 0x0204a6ea in inflate () from

/home/nfs/morrow/root/root_v5.14.00c.Hermes.rhe3.gcc3.2.3/lib/libCore.so
#2 0x01c98386 in png_decompress_chunk () from /usr/lib/libpng12.so.0
#3 0x01c998de in png_handle_iCCP () from /usr/lib/libpng12.so.0
#4 0x01ca1132 in png_read_info () from /usr/lib/libpng12.so.0
#5 0x063bc093 in qInitJpegIO () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#6 0x06149d86 in QImageIO::read () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#7 0x061852ce in QPixmap::load () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#8 0x06184236 in QPixmap::QPixmap () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#9 0x008e540f in isogray_std::ImoToolbar::createControllerIcon ()

   from /home/nfs/morrow/isogray/rhe3/shlib/libisograymodules.so.1
#10 0x008e4350 in isogray_std::ImoToolbar::setControllers ()

   from /home/nfs/morrow/isogray/rhe3/shlib/libisograymodules.so.1
#11 0x008e4cbb in isogray_std::ImoToolbar::layoutChanged ()

   from /home/nfs/morrow/isogray/rhe3/shlib/libisograymodules.so.1
#12 0x008d0878 in isogray_std::ImoStandardModule::activate ()

   from /home/nfs/morrow/isogray/rhe3/shlib/libisograymodules.so.1
#13 0x0805dfc8 in isogray_std::IgFrame::clickedModule ()
#14 0x080785b0 in isogray_std::IgFrame::qt_invoke ()
#15 0x06173139 in QObject::activate_signal () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#16 0x06173215 in QObject::activate_signal () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#17 0x080794c5 in isogray_std::IgModuleListView::selected ()
#18 0x080745dc in isogray_std::IgModuleListView::select ()
#19 0x08079521 in isogray_std::IgModuleListView::qt_invoke ()
#20 0x06173139 in QObject::activate_signal () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#21 0x06173215 in QObject::activate_signal () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#22 0x080790b4 in isogray_std::IgModuleItemButton::selected ()
#23 0x08073c30 in isogray_std::IgModuleItemButton::mouseReleaseEvent ()
#24 0x061a727c in QWidget::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#25 0x061155b4 in QApplication::internalNotify () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#26 0x06114de3 in QApplication::notify () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#27 0x060bba38 in QETWidget::translateMouseEvent () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#28 0x060b9134 in QApplication::x11ProcessEvent () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#29 0x060ce3d1 in QEventLoop::processEvents () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#30 0x06129306 in QEventLoop::enterLoop () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#31 0x061291a8 in QEventLoop::exec () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#32 0x061157e1 in QApplication::exec () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#33 0x08059c67 in main ()

(gdb) q
The program is running. Exit anyway? (y or n) y [s_morrow]$ Received on Thu Mar 01 2007 - 10:22:39 CET

This archive was generated by hypermail 2.2.0 : Thu Mar 01 2007 - 17:50:01 CET