EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Segment fault for edm 1-11-0s
From: "Ernest L. Williams Jr." <[email protected]>
To: Dirk Kraemer <[email protected]>
Cc: Eric Norum <[email protected]>, [email protected]
Date: Mon, 20 Nov 2006 11:23:03 -0500
On Mon, 2006-11-20 at 16:28 +0100, Dirk Kraemer wrote:
> Eric Norum schrieb:
> > On Nov 20, 2006, at 5:50 AM, Dirk Kraemer wrote:
> >
> >> Hello all,
> >>
> >> I have a problem with EDM. If I start EDM ,then
> >> I see for a moment the message  "loading fonts" and a moment later
> >> I get the message "segmentations fault".
> >>
> >>
> >> I am running EDM on :
> >>
> >> - Fedora 5 - gcc 4.1.0-3.i386
> >> - Epics 3.14.8.2
> >> - openMotif 2.3.0-0.1.9.i386
> >> - edm 1-11-0s
> >>
> >> I hope that someone can help me. It's the first time that I get this 
> >> fault.
> >>
> >> Regards
> >> Dirk Kraemer
> >>
> >>
> >>
> >
> > Sounds suspiciously like the problem I encountered on OS X.  Here's a 
> > copy of the letter I sent to Jeff about this.  Perhaps you're seeing 
> > the same sort of condition, but with some other pair of static 
> > constructors.
> >
> > ====================================================================================== 
> >
> >
> > I downloaded and built the latest version of edm with the current 
> > R3.14.2 CVS branch of EPICS.  Things build fine, but the executable 
> > suffers an access fault when run.  I tracked the problem down to a 
> > race condition in the C++ static constructors.  Code in 
> > EPICS_PV_Factory is invoking a guard class mutex that has yet to be 
> > set up.
> >
> > Program received signal EXC_BAD_ACCESS, Could not access memory.
> > Reason: KERN_PROTECTION_FAILURE at address: 0x00000008
> > 0x0008ae23 in epicsMutex::lock ()
> > (gdb) where
> > #0  0x0008ae23 in epicsMutex::lock ()
> > #1  0x00088e3a in ipAddrToAsciiEngine::allocate ()
> > #2  0x004aff0b in cac::cac ()
> > #3  0x004cfb5b in ca_client_context::ca_client_context ()
> > #4  0x004b25f4 in ca_context_create ()
> > #5  0x0041f4df in EPICS_PV_Factory::EPICS_PV_Factory ()
> > #6  0x0044cb2b in __static_initialization_and_destruction_0 ()
> > #7  0x8fe0fcb2 in 
> > __dyld__ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 
> > ()
> > #8  0x8fe0a1c6 in 
> > __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextE ()
> > #9  0x8fe0a164 in 
> > __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextE ()
> > #10 0x8fe0a164 in 
> > __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextE ()
> > #11 0x8fe0c646 in 
> > __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE ()
> > #12 0x8fe03070 in __dyld__ZN4dyld24initializeMainExecutableEv ()
> > #13 0x0000245a in _start ()
> > #14 0x000023c5 in start ()
> >
> >
> >
> >
> >
> > The offending code in misc/ipAddrToAsciiAsynchronous.cpp is:
> > // for now its probably sufficent to allocate one
> > // DNS transaction thread for all codes sharing
> > // the same process that need DNS services but we
> > // leave our options open for the future
> > ipAddrToAsciiEngine & ipAddrToAsciiEngine::allocate ()
> > {
> >     epicsGuard < epicsMutex > guard ( 
> > ipAddrToAsciiEnginePrivate::globalMutex );
> >     if ( ! ipAddrToAsciiEnginePrivate::pEngine ) {
> >         ipAddrToAsciiEnginePrivate::pEngine = new 
> > ipAddrToAsciiEnginePrivate ();
> >     }
> >     ipAddrToAsciiEnginePrivate::numberOfReferences++;
> >     return * ipAddrToAsciiEnginePrivate::pEngine;
> > }
> >
> >
> >
> >
> > As a quick fix I just link libCom before the EDM libraries as well as 
> > after:
> > diff -ur /home/phoebus/NORUME/Desktop/edm/edmMain/Makefile 
> > /home/phoebus/NORUME/
> > src/EPICS/extensions/src/edm/edmMain/Makefile
> > --- /home/phoebus/NORUME/Desktop/edm/edmMain/Makefile   2006-03-06 
> > 13:25:32.0000
> > 00000 -0600
> > +++ 
> > /home/phoebus/NORUME/src/EPICS/extensions/src/edm/edmMain/Makefile  
> > 2006-11-
> > 14 13:12:30.000000000 -0600
> > @@ -10,7 +10,7 @@
> >     edm_LIBS_Linux += 114135a4-6f6c-11d3-95bc-00104b8742df
> >     edm_SYS_LIBS_Linux += Xm Xmu Xt Xp Xtst X11 pthread dl
> >
> > -   edm_LIBS_Darwin += EdmBase cfcaa62e-8199-11d3-a77f-00104b8742df
> > +   edm_LIBS_Darwin += Com EdmBase cfcaa62e-8199-11d3-a77f-00104b8742df
> >     edm_LIBS_Darwin += 114135a4-6f6c-11d3-95bc-00104b8742df
> >     edm_SYS_LIBS_Darwin += Xm Xmu Xt Xp Xtst X11 pthread dl
> >
> >
> >
> >
> >
> > I've sent mail to Jeff to see if he has a better fix, but for now I 
> > can at least work with EDM.
> >
> > --Eric Norum <[email protected]>
> > Advanced Photon Source
> > Argonne National Laboratory
> > (630) 252-4793
> >
> Hi
> 
> I have tried it with your changes, but the result is the same.
> 
> GNU gdb Red Hat Linux (6.3.0.0-1.122rh)
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-redhat-linux-gnu"...Using host
> libthread_db library "/lib/libthread_db.so.1".
> 
> (gdb) run
> Starting program: /home/Dirk/extensions/bin/linux-x86/edm
> Reading symbols from shared object read from target memory...done.
> Loaded system supplied DSO at 0x41cfd000
> [Thread debugging using libthread_db enabled]
> [New Thread -1208293152 (LWP 7736)]
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208293152 (LWP 7736)]
> 0x00000000 in ?? ()
> (gdb)


Make sure that you are not having a problem with fonts.
Sheng Peng recently had run-time core dumps due to some font issue.
Hopefully, Sheng will reply to this thread.


I and not having any problems and have the following setup:
=====================================================================
OS: Fedora Core release 5 (Bordeaux)

KERNEL: Linux bengal 2.6.18-1.2200.fc5

Compiler: gcc version 4.1.1 20060525 (Red Hat 4.1.1-1)

MOTIF: openmotif-2.3.0-0.1.9.3

EPICS_BASE: R3.14.8.2

EDM: edm 1-11-0s
=======================================================================


Thanks,
Ernest


> 
> regards Dirk
> 
> 
> 


References:
Segment fault for edm 1-11-0s Dirk Kraemer
Re: Segment fault for edm 1-11-0s Eric Norum
Re: Segment fault for edm 1-11-0s Dirk Kraemer

Navigate by Date:
Prev: Re: Error while cross-compiling EPICS for arm Andrew Johnson
Next: Re: Segment fault for edm 1-11-0s John William Sinclair
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Segment fault for edm 1-11-0s Dirk Kraemer
Next: Incorrect display of Y label of X-Y Graph in edm Jianguo DING
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·