pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/41603 (Making ECL work with threads)
The following reply was made to PR pkg/41603; it has been noted by GNATS.
From: Matthew Mondor <mm_lists%pulsar-zone.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: asau%NetBSD.org@localhost
Subject: Re: pkg/41603 (Making ECL work with threads)
Date: Tue, 16 Jun 2009 22:20:33 -0400
So I played with the pkgsrc-wip ecl stub to upgrade it and test 9.6.0
(which actually has first-level directory ecl-9.6.1), and unfortunately
ecl_min also has the same endless loop problem after various SIGSEGV.
I here include the result of ktrace on it:
27702 1 ktrace EMUL "netbsd"
27702 1 ktrace RET ktrace 0
27702 1 ktrace CALL execve(0xbfbffb33,0xbfbfea70,0xbfbfea78)
27702 1 ktrace NAMI "./ecl_min"
27702 1 ktrace NAMI "/usr/libexec/ld.elf_so"
27702 1 ecl_min EMUL "netbsd"
27702 1 ecl_min RET syscall JUSTRETURN
27702 1 ecl_min CALL mmap(0,0x8000,3,0x1002,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145135104/0xbbbea000
27702 1 ecl_min CALL open(0xbbbfc6cd,0,0)
27702 1 ecl_min NAMI "/etc/ld.so.conf"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbfbfe340,0,0)
27702 1 ecl_min NAMI "/usr/pkg/lib/libgc.so.1"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1145139200/0xbbbe9000
27702 1 ecl_min CALL munmap(0xbbbe9000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0x2f000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1145327616/0xbbbbb000
27702 1 ecl_min CALL mmap(0xbbbd9000,0x1000,3,0x12,3,0,0x1d000,0)
27702 1 ecl_min RET mmap -1145204736/0xbbbd9000
27702 1 ecl_min CALL mmap(0xbbbda000,0x10000,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145200640/0xbbbda000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/pkg/lib/libgmp.so.3"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1145331712/0xbbbba000
27702 1 ecl_min CALL munmap(0xbbbba000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0x43000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1145602048/0xbbb78000
27702 1 ecl_min CALL mmap(0xbbbba000,0x1000,3,0x12,3,0,0x42000,0)
27702 1 ecl_min RET mmap -1145331712/0xbbbba000
27702 1 ecl_min CALL mmap(0xbbbbb000,0,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145327616/0xbbbbb000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/pkg/lib/libpthread.so.0"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/lib/libpthread.so.0"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1145606144/0xbbb77000
27702 1 ecl_min CALL munmap(0xbbb77000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0xe000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1145659392/0xbbb6a000
27702 1 ecl_min CALL mmap(0xbbb76000,0x1000,3,0x12,3,0,0xc000,0)
27702 1 ecl_min RET mmap -1145610240/0xbbb76000
27702 1 ecl_min CALL mmap(0xbbb77000,0x1000,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145606144/0xbbb77000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/pkg/lib/libm.so.0"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/lib/libm.so.0"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1145663488/0xbbb69000
27702 1 ecl_min CALL munmap(0xbbb69000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0x19000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1145761792/0xbbb51000
27702 1 ecl_min CALL mmap(0xbbb69000,0x1000,3,0x12,3,0,0x17000,0)
27702 1 ecl_min RET mmap -1145663488/0xbbb69000
27702 1 ecl_min CALL mmap(0xbbb6a000,0,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145659392/0xbbb6a000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/pkg/lib/libc.so.12"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/lib/libc.so.12"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1145765888/0xbbb50000
27702 1 ecl_min CALL munmap(0xbbb50000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0xfe000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1146802176/0xbba53000
27702 1 ecl_min CALL mmap(0xbbb39000,0x8000,3,0x12,3,0,0xe5000,0)
27702 1 ecl_min RET mmap -1145860096/0xbbb39000
27702 1 ecl_min CALL mmap(0xbbb41000,0x10000,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1145827328/0xbbb41000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/pkg/lib/librt.so.0"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/usr/lib/librt.so.0"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x1000,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1146806272/0xbba52000
27702 1 ecl_min CALL munmap(0xbba52000,0x1000)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL mmap(0,0x3000,5,2,3,0,0,0)
27702 1 ecl_min RET mmap -1146814464/0xbba50000
27702 1 ecl_min CALL mmap(0xbba52000,0x1000,3,0x12,3,0,0x1000,0)
27702 1 ecl_min RET mmap -1146806272/0xbba52000
27702 1 ecl_min CALL mmap(0xbba53000,0,3,0x1012,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1146802176/0xbba53000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL open(0xbfbfe340,0,0xbfbfe280)
27702 1 ecl_min NAMI "/lib/libc.so.12"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfe280)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL __sysctl(0xbfbfe994,2,0xbbb4f9a0,0xbfbfe99c,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL __sysctl(0xbfbfe98c,2,0xbbb77cf0,0xbfbfe998,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL __sysctl(0xbfbfe98c,2,0xbbb77cf4,0xbfbfe998,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL rasctl(0xbbb71764,6,0)
27702 1 ecl_min RET rasctl 0
27702 1 ecl_min CALL _lwp_unpark_all(0,0,0)
27702 1 ecl_min RET _lwp_unpark_all 1024/0x400
27702 1 ecl_min CALL __sysctl(0xbfbfe8a8,2,0xbbb4fe00,0xbfbfe8b0,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL getrlimit(3,0xbfbfe97c)
27702 1 ecl_min RET getrlimit 0
27702 1 ecl_min CALL mprotect(0xbfa01000,0x1000,0)
27702 1 ecl_min RET mprotect 0
27702 1 ecl_min CALL _lwp_self
27702 1 ecl_min RET _lwp_self 1
27702 1 ecl_min CALL _lwp_ctl(1,0xbfa00184)
27702 1 ecl_min RET _lwp_ctl 0
27702 1 ecl_min CALL __sysctl(0xbfbfe934,2,0xbfbfe93c,0xbfbfe940,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGSEGV,0xbfbfe90c,0xbfbfe8f4,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGBUS,0xbfbfe90c,0xbfbfe8f4,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGINT,0xbfbfe90c,0xbfbfe8f4,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGUSR1,0xbfbfe90c,0xbfbfe8f4,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGSEGV,0xbfbfe868,0xbbbd9fa8,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGBUS,0xbfbfe868,0xbbbd9fc0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL __sigprocmask14(0,0,0xbbbda098)
27702 1 ecl_min RET __sigprocmask14 0
27702 1 ecl_min PSIG SIGSEGV caught handler=0xbbbcf4f0 mask=(11):
code=SEGV_MAPERR, addr=0x8047f00, trap=6)
27702 1 ecl_min CALL __sigprocmask14(3,0xbbbda098,0)
27702 1 ecl_min RET __sigprocmask14 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGSEGV,0xbbbd9fa8,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGBUS,0xbbbd9fc0,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGSEGV,0xbfbfe858,0xbbbd9fa8,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGBUS,0xbfbfe858,0xbbbd9fc0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL __sigprocmask14(0,0,0xbbbda098)
27702 1 ecl_min RET __sigprocmask14 0
27702 1 ecl_min PSIG SIGSEGV caught handler=0xbbbcf4f0 mask=(11):
code=SEGV_MAPERR, addr=0xbfc00000, trap=6)
27702 1 ecl_min CALL __sigprocmask14(3,0xbbbda098,0)
27702 1 ecl_min RET __sigprocmask14 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGSEGV,0xbbbd9fa8,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGBUS,0xbbbd9fc0,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL break(0x80e5000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL break(0x80f5000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL break(0x8105000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL break(0x8115000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL break(0x8125000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL break(0x8135000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL __sysctl(0xbfbfe3a8,2,0xbbb48fb4,0xbfbfe3b0,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL readlink(0xbbb32db8,0xbfbfe3b5,0x400)
27702 1 ecl_min NAMI "/etc/malloc.conf"
27702 1 ecl_min RET readlink -1 errno 2 No such file or directory
27702 1 ecl_min CALL break(0x8200000)
27702 1 ecl_min RET break 0
27702 1 ecl_min CALL mmap(0,0x100000,3,0x14001002,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1148190720/0xbb900000
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGRT6,0xbfbfe888,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGRT5,0xbfbfe888,0,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL __sysctl(0xbfbfe8dc,2,0xbfbfe8e8,0xbfbfe8e4,0,0)
27702 1 ecl_min RET __sysctl 0
27702 1 ecl_min CALL getpid
27702 1 ecl_min RET getpid 27702/0x6c36, 12223/0x2fbf
27702 1 ecl_min CALL getcontext(0xbfbfe4e8)
27702 1 ecl_min RET getcontext 0
27702 1 ecl_min CALL mmap(0,0x280,3,0x1002,0xffffffff,0,0,0)
27702 1 ecl_min RET mmap -1146884096/0xbba3f000
27702 1 ecl_min PSIG SIGSEGV caught handler=0x80a3580 mask=(11):
code=SEGV_MAPERR, addr=0x0, trap=6)
27702 1 ecl_min PSIG SIGINT caught handler=0x80a342d mask=(11):
code=SI_NOINFO
27702 1 ecl_min CALL __fstat30(1,0xbfbfd720)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL ioctl(1,TIOCGETA,0xbfbfd758)
27702 1 ecl_min GIO fd 1 read 44 bytes
000 00 03 00 00 07 00 00 00 00 5a 00 00 cf 05 00 00 .........Z......
010 04 ff 00 08 17 15 12 00 03 1c 1a 19 11 13 16 0f ................
020 01 00 14 00 00 96 00 00 00 96 00 00 ............
27702 1 ecl_min RET ioctl 0
27702 1 ecl_min CALL write(1,0xbb902000,1)
27702 1 ecl_min GIO fd 1 wrote 1 bytes
000 0a .
27702 1 ecl_min RET write 1
27702 1 ecl_min CALL write(1,0xbb902000,0x24)
27702 1 ecl_min GIO fd 1 wrote 36 bytes
000 49 6e 74 65 72 6e 61 6c 20 6f 72 20 75 6e 72 65 Internal.or.unre
010 63 6f 76 65 72 61 62 6c 65 20 65 72 72 6f 72 20 coverable.error.
020 69 6e 3a 0a in:.
27702 1 ecl_min RET write 36/0x24
27702 1 ecl_min CALL write(1,0xbb902000,0x3b)
27702 1 ecl_min GIO fd 1 wrote 59 bytes
000 47 6f 74 20 73 69 67 6e 61 6c 20 62 65 66 6f 72 Got.signal.befor
010 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 77 61 e.environment.wa
020 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 6f s.installed.on.o
030 75 72 20 74 68 72 65 61 64 2e 0a ur.thread..
27702 1 ecl_min RET write 59/0x3b
27702 1 ecl_min CALL issetugid
27702 1 ecl_min RET issetugid 0
27702 1 ecl_min CALL issetugid
27702 1 ecl_min RET issetugid 0
27702 1 ecl_min CALL open(0xbfbfd470,0,0xbbbf76cf)
27702 1 ecl_min NAMI "/usr/share/nls/nls.alias.db"
27702 1 ecl_min RET open -1 errno 2 No such file or directory
27702 1 ecl_min CALL open(0xbbb32c23,0,0xbbbf76cf)
27702 1 ecl_min NAMI "/usr/share/nls/nls.alias"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL fcntl(3,2,1)
27702 1 ecl_min RET fcntl 0
27702 1 ecl_min CALL __fstat30(3,0xbfbfd3c0)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x5f0,1,2,3,0,0,0)
27702 1 ecl_min RET mmap -1146888192/0xbba3e000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL munmap(0xbba3e000,0x5f0)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL open(0xbfbfd8ff,0,0xbfbfd860)
27702 1 ecl_min NAMI "/usr/share/nls/C/libc.cat"
27702 1 ecl_min RET open 3
27702 1 ecl_min CALL __fstat30(3,0xbfbfd850)
27702 1 ecl_min RET __fstat30 0
27702 1 ecl_min CALL mmap(0,0x10be,1,1,3,0,0,0)
27702 1 ecl_min RET mmap -1146892288/0xbba3d000
27702 1 ecl_min CALL close(3)
27702 1 ecl_min RET close 0
27702 1 ecl_min CALL munmap(0xbba3d000,0x10be)
27702 1 ecl_min RET munmap 0
27702 1 ecl_min CALL write(1,0xbb902000,0x21)
27702 1 ecl_min GIO fd 1 wrote 33 bytes
000 20 20 5b 32 3a 20 4e 6f 20 73 75 63 68 20 66 69 ..[2:.No.such.fi
010 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 5d le.or.directory]
020 0a .
27702 1 ecl_min RET write 33/0x21
27702 1 ecl_min CALL
__sigaction_sigtramp(SIGABRT,0xbfbfe140,0xbfbfe128,0xbbac9f00,2)
27702 1 ecl_min RET __sigaction_sigtramp 0
27702 1 ecl_min CALL __sigprocmask14(3,0xbfbfe148,0)
27702 1 ecl_min RET __sigprocmask14 0
27702 1 ecl_min CALL _lwp_self
27702 1 ecl_min RET _lwp_self 1
27702 1 ecl_min CALL _lwp_kill(1,6)
27702 1 ecl_min RET _lwp_kill 0
27702 1 ecl_min PSIG SIGABRT SIG_DFL: code=-5 unimplemented)
The next steps would probably be to attempt to debug ecl itself
building ecl_min with -g and debugging it with gdb and read its
sources, but I will probably be unable to investigate further until the
beginning of the next week.
I also tried to subscribe to the ecl mailing list as well although the
confirmation message is still pending because of sourceforge
greylisting. Not exactly about this problem, but because I noticed
that the threading code does not detach created threads while also not
joining them, when one of the two must be done according to POSIX
(implementations are free to leave resources pending until the thread
is joined, like its return code, possibly even its whole stack, unless
the threads are started in detached mode). So three is a problem there
already, including in the latest release.
If you're also subscribed there and the bug really is an ECL one, we
could resume further technical discussion there as well, until we get a
working ECL to update this PR with the news. If this can't be resolved
in a reasonable time frame, it might be best to fix -current and
pkgsrc-2009Q1 boehm-gc and ecl as per the first message, potentially
making thread support a pkgsrc option as well... I also could provide
an additional diff so created threads are detached in 8.12.0. I'll
also forward it upstream via the mailing list once I'm subscribed
(although against their CVS HEAD).
--
Matt
Home |
Main Index |
Thread Index |
Old Index