[GHC] #8124: Possible leaks when using foreign export.

GHC ghc-devs at haskell.org
Wed Mar 5 12:56:58 UTC 2014


#8124: Possible leaks when using foreign export.
--------------------------------------------+------------------------------
        Reporter:  augustss                 |            Owner:  simonmar
            Type:  bug                      |           Status:  merge
        Priority:  high                     |        Milestone:  7.8.1
       Component:  Runtime System           |          Version:  7.8.1-rc1
      Resolution:                           |         Keywords:
Operating System:  Unknown/Multiple         |     Architecture:
 Type of failure:  Runtime performance bug  |  Unknown/Multiple
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:
--------------------------------------------+------------------------------

Comment (by nomeata):

 No, doesn’t help, sorry. Note that it does succeeds in the `threaded`
 ways:

 {{{
 ====> Scanning ./all.T
 =====> T8124(normal) 47 of 48 [0, 0, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs  T8124_c.c -no-hs-main -optl-
 lpthread  >T8124.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 [1 of 1] Compiling T8124            ( T8124.hs, T8124.o )
 Linking T8124 ...
 Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
     Call hs_init_ghc() from your main() function to set these options.
 /usr/bin/ld: T8124_c.o: undefined reference to symbol
 'pthread_create@@GLIBC_2.2.5'
 /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
 from command line
 collect2: error: ld returned 1 exit status

 *** unexpected failure for T8124(normal)
 =====> T8124(hpc) 47 of 48 [0, 1, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs -O -fhpc -hpcdir .hpc.T8124
 T8124_c.c -no-hs-main -optl-lpthread  >T8124.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 [1 of 1] Compiling T8124            ( T8124.hs, T8124.o )
 Linking T8124 ...
 Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
     Call hs_init_ghc() from your main() function to set these options.
 /usr/bin/ld: T8124_c.o: undefined reference to symbol
 'pthread_create@@GLIBC_2.2.5'
 /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
 from command line
 collect2: error: ld returned 1 exit status

 *** unexpected failure for T8124(hpc)
 =====> T8124(optasm) 47 of 48 [0, 2, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs -O -fasm T8124_c.c -no-hs-
 main -optl-lpthread  >T8124.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 [1 of 1] Compiling T8124            ( T8124.hs, T8124.o )
 Linking T8124 ...
 Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
     Call hs_init_ghc() from your main() function to set these options.
 /usr/bin/ld: T8124_c.o: undefined reference to symbol
 'pthread_create@@GLIBC_2.2.5'
 /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
 from command line
 collect2: error: ld returned 1 exit status

 *** unexpected failure for T8124(optasm)
 =====> T8124(threaded1) 47 of 48 [0, 3, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs -threaded -debug T8124_c.c
 -no-hs-main -optl-lpthread  >T8124.comp.stderr 2>&1
 cd . && ./T8124    </dev/null >T8124.run.stdout 2>T8124.run.stderr
 =====> T8124(threaded2) 47 of 48 [0, 3, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs -O -threaded -eventlog
 T8124_c.c -no-hs-main -optl-lpthread  >T8124.comp.stderr 2>&1
 cd . && ./T8124  +RTS -N2 -ls -RTS  </dev/null >T8124.run.stdout
 2>T8124.run.stderr
 =====> T8124(dyn) 47 of 48 [0, 3, 0]
 cd . && $MAKE -s --no-print-directory T8124_setup
 cd . && '/data1/breitner/ghc/ghc-T7994/inplace/bin/ghc-stage2' -fforce-
 recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -o T8124 T8124.hs -O -dynamic T8124_c.c -no-hs-
 main -optl-lpthread  >T8124.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 [1 of 1] Compiling T8124            ( T8124.hs, T8124.o )
 Linking T8124 ...
 Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
     Call hs_init_ghc() from your main() function to set these options.
 /usr/bin/ld: T8124_c.o: undefined reference to symbol
 'pthread_create@@GLIBC_2.2.5'
 /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
 from command line
 collect2: error: ld returned 1 exit status

 *** unexpected failure for T8124(dyn)
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8124#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list