Package: gccgo Version: 4:4.8.1-3 Severity: important I wanted to compile a program using gccgo to see how much faster it is. However, the program segfaults. A minimum example that segfaults is this:
package main import ( "flag" "fmt" "log" "os" "strings" ) var aflag = flag.String("a", "b", "c") func verifyExtract(filename string) { u, err2 := os.Create("/tmp/ex") if err2 != nil { log.Fatal(err2) } fmt.Printf("%v\n", u) strings.HasSuffix(filename, ".bz2") log.Printf("bz2\n") strings.HasSuffix(filename, ".gzip") log.Printf("gz\n") } func main() { fmt.Println("This example compiles but segfaults") b := []string{ "/tmp/bench/audacity_2.0.4.orig.tar.xz", "/tmp/bench/ardour3_3.4~dfsg.orig.tar.xz", "/tmp/bench/anjuta_3.8.4.orig.tar.xz", "/tmp/bench/apache2_2.4.6.orig.tar.bz2", "/tmp/bench/afterstep_2.2.12.orig.tar.bz2", "/tmp/bench/abtransfers_0.0.4.1.orig.tar.bz2", "/tmp/bench/aces3_3.0.6.orig.tar.gz", "/tmp/bench/9base_6.orig.tar.gz", "/tmp/bench/3depict_0.0.13.orig.tar.gz", } for _, f := range b { fmt.Printf("f = %v\n", f) verifyExtract(f) } } $ go build $ ./helloworld.O This example compiles but segfaults f = /tmp/bench/audacity_2.0.4.orig.tar.xz &{0xc2000662a0} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/ardour3_3.4~dfsg.orig.tar.xz &{0xc200066480} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/anjuta_3.8.4.orig.tar.xz &{0xc2000664b0} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/apache2_2.4.6.orig.tar.bz2 &{0xc2000664e0} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/afterstep_2.2.12.orig.tar.bz2 &{0xc200066510} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/abtransfers_0.0.4.1.orig.tar.bz2 &{0xc200066540} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/aces3_3.0.6.orig.tar.gz &{0xc200066570} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/9base_6.orig.tar.gz &{0xc2000665a0} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz f = /tmp/bench/3depict_0.0.13.orig.tar.gz &{0xc2000665d0} 2013/10/19 12:11:05 bz2 2013/10/19 12:11:05 gz $ go build -compiler gccgo $ ulimit -c unlimited $ ./helloworld.O zsh: segmentation fault (core dumped) ./helloworld.O $ gdb helloworld.O /tmp/helloworld.O.core.18748 Reading symbols from /home/michael/gocode/src/helloworld.O/helloworld.O...done. [New LWP 18748] warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fffb3dfe000 Core was generated by `./helloworld.O'. Program terminated with signal 11, Segmentation fault. #0 0x00007fd957f2f124 in read_uint32 () from /usr/lib/x86_64-linux-gnu/libgo.so.4 gdb $ bt #0 0x00007fd957f2f124 in read_uint32 () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #1 0x00007fd957f31c14 in backtrace_dwarf_add () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #2 0x00007fd957f33a97 in elf_add () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #3 0x00007fd957f33e5f in backtrace_initialize () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #4 0x00007fd957f32be5 in fileline_initialize () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #5 0x00007fd957f32ce2 in backtrace_pcinfo () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #6 0x00007fd957f33051 in unwind () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #7 0x00007fd9572f3ea9 in _Unwind_Backtrace () from /lib/x86_64-linux-gnu/libgcc_s.so.1 #8 0x00007fd957f330a5 in backtrace_full () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #9 0x00007fd957ce15e6 in runtime_callers () from /usr/lib/x86_64-linux-gnu/libgo.so.4 #10 0x00007fd957cf1eeb in mcommoninit () at ../../../src/libgo/runtime/proc.c:666 #11 0x00007fd957cf31c3 in runtime_schedinit () at ../../../src/libgo/runtime/proc.c:476 #12 0x0000000000401c61 in main () gdb $ quit $ ldd helloworld.O linux-vdso.so.1 (0x00007fff373fe000) libgo.so.4 => /usr/lib/x86_64-linux-gnu/libgo.so.4 (0x00007ff338c4f000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff338951000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff33873a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff33838d000) /lib64/ld-linux-x86-64.so.2 (0x00007ff339998000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff338171000) $ dpkg -S /usr/lib/x86_64-linux-gnu/libgo.so.4 libgo4:amd64: /usr/lib/x86_64-linux-gnu/libgo.so.4 $ dpkg -S /lib/x86_64-linux-gnu/libm.so.6 libc6:amd64: /lib/x86_64-linux-gnu/libm.so.6 $ dpkg -S /lib/x86_64-linux-gnu/libgcc_s.so.1 libgcc1:amd64: /lib/x86_64-linux-gnu/libgcc_s.so.1 $ dpkg -S /lib/x86_64-linux-gnu/libc.so.6 libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6 $ dpkg -S /lib/x86_64-linux-gnu/libpthread.so.0 libc6:amd64: /lib/x86_64-linux-gnu/libpthread.so.0 $ dpkg -l libc6 libgo4 libgcc1 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================================-======================-======================-=========================================================================== ii libc6:amd64 2.17-2 amd64 Embedded GNU C Library: Shared libraries rc libc6:armel 2.13-38 armel Embedded GNU C Library: Shared libraries rc libc6:i386 2.13-38 i386 Embedded GNU C Library: Shared libraries ii libgcc1:amd64 1:4.8.1-10 amd64 GCC support library rc libgcc1:armel 1:4.7.2-5 armel GCC support library rc libgcc1:i386 1:4.7.2-5 i386 GCC support library ii libgo4:amd64 4.8.1-10 amd64 Runtime library for GNU Go applications Let me know if you need more information. -- System Information: Debian Release: 7.0 APT prefers testing APT policy: (990, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: armel i386 Kernel: Linux 3.8.3 (SMP w/8 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages gccgo depends on: ii cpp 4:4.8.1-3 ii gcc 4:4.8.1-3 ii gccgo-4.8 4.8.1-10 gccgo recommends no packages. Versions of packages gccgo suggests: pn gccgo-multilib <none> -- no debconf information -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20131019101418.18297.35390.report...@midna.lan