[GHC] #8935: Obscure linker bug leads to crash in GHCi
GHC
ghc-devs at haskell.org
Thu May 8 06:49:25 UTC 2014
#8935: Obscure linker bug leads to crash in GHCi
-------------------------------------+------------------------------------
Reporter: simonmar | Owner: trommler
Type: bug | Status: patch
Priority: high | Milestone: 7.8.3
Component: Runtime System | Version: 7.8.1-rc2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: GHCi crash | Difficulty: Rocket Science
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by trommler):
No, the library would not be loaded again.
POSIX says:
Only a single copy of an object file is brought into the address space,
even if dlopen()
is invoked multiple times in reference to the file, and even if
different pathnames are
used to reference the file.
The Linux man page:
If the same library is loaded again with dlopen(), the same file handle
is returned. The dl library maintains reference counts for library
handles, so a dynamic library is not deallocated until dlclose() has
been called on it as many times as dlopen() has succeeded on it. The
_init() routine, if present, is called only once. But a subsequent
call with RTLD_NOW may force symbol resolution for a library earlier
loaded with RTLD_LAZY.
So I think we will be good.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8935#comment:44>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list