aqsis-1.0.0 don't work due to a internal deadlock on some mutexes. No patch or fix can be made. (from what I understand during source investigation) This is kinda boost bug. Reproducible: Always Steps to Reproduce: Try to render any "rib" file. Actual Results: Aqsis die on some mutex. I.e. program is running, but does nothing. No CPU usage, etc. It waits on some mutex which is never fired. Expected Results: Correct work. This is fixed in upcoming 1.1 version. I don't completely understand the origin of this bug. Maybe "NPTL" cause the problem. Any feedback is welcome. Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.12-gentoo-r1 i686) ================================================================= System uname: 2.6.12-gentoo-r1 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.6.13 ccache version 2.4 [disabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=athlon-xp -msse -mfpmath=sse -mmmx -m3dnow -fomit-frame-pointer -ffast-math -funroll-loops -pipe -ftracer -funit-at-a-time" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -msse -mfpmath=sse -mmmx -m3dnow -fomit-frame-pointer -ffast-math -funroll-loops -pipe -ftracer -funit-at-a-time" DISTDIR="/mnt/oktet/tmp/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/mnt/oktet/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 7zip X aalib acl adns alsa apache2 apm arts avi bash-completion berkdb bitmap-fonts blas bzip2 cairo cdr crypt cscope css cups curl dga doc dvd dvdr dynagraph eds emacs emboss encode esd evo fam firebird firefox flac font-server foomaticdb fortran gd gdbm gif gimpprint glitz gnome gphoto2 gpm graphviz gstreamer gtk gtk2 guile hal idea imagemagick imlib innodb ipv6 ithreads java javascript jce jpeg junit kcal kde kdeenablefinal ladspa lcms ldap libg++ libgda libwww lzw-tiff mad mcal mikmod mmx mng motif mozdevelop mozilla mozsvg mozxmlterm mp3 mpeg mysql nas ncurses nls nntp no-old-linux nptl nsplugin offensive ogg oggvorbis opengl pam pcre pdflib perl pic plotutils png postgres povray python qt quicktime readline rrdtool ruby samba scanner sdk sdl slang sndfile speex spell sqlite sse ssl subversion svg tcltk tcpd tetex theora threads tidy tiff truetype truetype-fonts type1-fonts unicode vdesktop vorbis wmf xine xml xml2 xmms xprint xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, MAKEOPTS P.S. Yes, I tried without -ffast-math. Same result.
Please provide some debugging information and reopen then, information provided here is really not sufficient to find and fix the problem. http://www.gentoo.org/doc/en/bugzilla-howto.xml
1. Simple way to reproduce bug: (I don't use emerge system, cause "aqsis" ebuild is pretty naive and does almost same thing). # extract aqsis-1.0.0.tgz in some directory and cd in $ ./configure --enable-debug $ make $ make check "make check" will stall forever. The last output line should look like this: 07/15/2005 12:26:32 INFO: Loading plugin "/home/snob/tmp/aqsis/lib/aqsis/libdisplay.so" Warning: with --enable-debug you will get errors in render/parameter.h file. Just comment offensive lines. This error is not visible without debug, because errors are inside assert statements. 2. More detailed information "vase.rib" is supplied with aqsis distribution. 2.1 strace output $ strace ./aqsis vase.rib ... open("/home/snob/.fltk/fltk.org/filechooser.prefs", O_RDONLY) = 9 fstat64(9, {st_mode=S_IFREG|0644, st_size=97, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7917000 read(9, "; FLTK preferences file format 1"..., 4096) = 97 read(9, "", 4096) = 0 close(9) = 0 munmap(0xb7917000, 4096) = 0 munmap(0xb7522000, 195243) = 0 futex(0x805d13c, FUTEX_WAIT, 2, NULL And here we wait forever... full strace output can be attached if required. 2.2 gdb output $ gdb ./aqsis (gdb) run vase.rib Starting program: /home/snob/tmp/aqsis/bin/aqsis vase.rib [Thread debugging using libthread_db enabled] [New Thread -1217988928 (LWP 25367)] Program received signal SIGINT, Interrupt. [Switching to Thread -1217988928 (LWP 25367)] 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb79a141e in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0 #2 0xb799e0d3 in _L_mutex_lock_26 () from /lib/tls/libpthread.so.0 #3 0xb798e048 in _dlfcn_hook () from /lib/libdl.so.2 #4 0xbf99afcc in ?? () #5 0xbf99aeb0 in ?? () #6 0xb7f93a45 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #7 0xb774b4ad in pthread_mutex_lock () from /lib/tls/libc.so.6 #8 0xb7d32819 in scoped_lock (this=0xbf99af50, m=@0x805d154) at lwm_pthreads.hpp:71 #9 0xb7d33202 in boost::detail::sp_counted_base::add_ref (this=0x805d148) at shared_count.hpp:121 #10 0xb7d331d3 in shared_count (this=0xbf99afe4, r=@0x8070494) at shared_count.hpp:387 #11 0xb7d497a6 in shared_ptr (this=0xbf99afe0, _ctor_arg=@0x8070490) at graphicsstate.h:214 #12 0xb7d4b3d6 in Aqsis::CqModeBlock::pconParent (this=0x8070478) at graphicsstate.h:214 #13 0xb7d4b359 in Aqsis::CqWorldModeBlock::optCurrent (this=0x8070478) at graphicsstate.h:401 #14 0xb7e20438 in Aqsis::CqRenderer::optCurrent (this=0x80591c8) at renderer.cpp:534 #15 0xb7977d14 in Aqsis::CqDDManager::LoadDisplayLibrary (this=0x805af68, req=@0x8070510) at ddmanager.cpp:322 ---Type <return> to continue, or q <return> to quit--- #16 0xb797639f in Aqsis::CqDDManager::OpenDisplays (this=0x805af68) at ddmanager.cpp:114 #17 0xb7e20b2b in Aqsis::CqRenderer::RenderWorld (this=0x80591c8) at renderer.cpp:640 #18 0xb7e34f35 in RiWorldEnd () at ri.cpp:833 #19 0xb7bca87f in librib2ri::Engine::RiWorldEnd (this=0x80591b8) at librib2ri.cpp:457 #20 0xb7b90428 in yyparse () at parser.yxx:404 #21 0xb7bb0e83 in Parse (InputStream=0x8059050, StreamName=Cannot access memory at address 0x0 ) at librib.cpp:232 #22 0x0804fad0 in RenderFile (file=0x8059050, name=@0xbf99bed0) at aqsis.cpp:614 #23 0x0804f37c in main (argc=2, argv=0xbf99c004) at aqsis.cpp:534 (gdb) 3. Conclusion This is some bug in "boost" library supplied with aqsis distribution. I'm not able to fix it myself in acceptable time. "Boost" guru should handle this much faster. P.S. Is this amount of information sufficient?
Please report upstream and/or try the latest unstable. If that solves the issue we may think about provide that one instead.
Eventually found some time to test it myself (sorry for not reading the full bug before) aqsis /var/tmp/portage/aqsis-1.0.0/work/aqsis-1.0.0/ribfiles/vase.rib *** glibc detected *** double free or corruption (fasttop): 0x081fa790 *** Aborted aqsis on my system renders correctly the file BUT on window close has that double free.
(In reply to comment #4) Can you post your system info? I thought that I have tracked bug to boost library, but you have absolutely different behaviour.
I tracked part of my issue too and is in libtiff. I'll rebuild it with full debug info and then I'll see what's wrong, not an aqsis problem if happens just on my system.
I was just taking a look at the status of aqsis in gentoo and found this bug. I decided to try 0.9.3 but it also has this same problem. However 1.0.1 works but there is no ebuild currently in portage. I'm submitting a seperate bug for this but copying and renaming the 1.0.0 ebuild to 1.0.1 works. (In reply to comment #6) > I tracked part of my issue too and is in libtiff. > > I'll rebuild it with full debug info and then I'll see what's wrong, not an > aqsis problem if happens just on my system. (In reply to comment #0) > aqsis-1.0.0 don't work due to a internal deadlock on some mutexes. No patch or > fix can be made. (from what I understand during source investigation) This is > kinda boost bug. > > Reproducible: Always > Steps to Reproduce: > Try to render any "rib" file. > Actual Results: > Aqsis die on some mutex. I.e. program is running, but does nothing. No CPU > usage, etc. It waits on some mutex which is never fired. > > Expected Results: > Correct work. > > This is fixed in upcoming 1.1 version. I don't completely understand the > origin of this bug. Maybe "NPTL" cause the problem. Any feedback is welcome. > > Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, > 2.6.12-gentoo-r1 i686) > ================================================================= > System uname: 2.6.12-gentoo-r1 i686 AMD Athlon(tm) XP 2500+ > Gentoo Base System version 1.6.13 > ccache version 2.4 [disabled] > dev-lang/python: 2.3.5, 2.4.1-r1 > sys-apps/sandbox: 1.2.10 > sys-devel/autoconf: 2.13, 2.59-r7 > sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 > sys-devel/binutils: 2.16.1 > sys-devel/libtool: 1.5.18-r1 > virtual/os-headers: 2.6.11-r2 > ACCEPT_KEYWORDS="x86 ~x86" > AUTOCLEAN="yes" > CBUILD="i686-pc-linux-gnu" > CFLAGS="-O3 -march=athlon-xp -msse -mfpmath=sse -mmmx -m3dnow > -fomit-frame-pointer -ffast-math -funroll-loops -pipe -ftracer > -funit-at-a-time" > CHOST="i686-pc-linux-gnu" > CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" > CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" > CXXFLAGS="-O3 -march=athlon-xp -msse -mfpmath=sse -mmmx -m3dnow > -fomit-frame-pointer -ffast-math -funroll-loops -pipe -ftracer > -funit-at-a-time" > DISTDIR="/mnt/oktet/tmp/distfiles" > FEATURES="autoconfig distlocks sandbox sfperms strict" > GENTOO_MIRRORS="http://distfiles.gentoo.org > http://distro.ibiblio.org/pub/Linux/distributions/gentoo" > LANG="en_US.UTF-8" > LC_ALL="en_US.UTF-8" > PKGDIR="/usr/portage/packages" > PORTAGE_TMPDIR="/mnt/oktet/tmp" > PORTDIR="/usr/portage" > PORTDIR_OVERLAY="/usr/local/portage" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > USE="x86 3dnow 7zip X aalib acl adns alsa apache2 apm arts avi bash-completion > berkdb bitmap-fonts blas bzip2 cairo cdr crypt cscope css cups curl dga doc dvd > dvdr dynagraph eds emacs emboss encode esd evo fam firebird firefox flac > font-server foomaticdb fortran gd gdbm gif gimpprint glitz gnome gphoto2 gpm > graphviz gstreamer gtk gtk2 guile hal idea imagemagick imlib innodb ipv6 > ithreads java javascript jce jpeg junit kcal kde kdeenablefinal ladspa lcms > ldap libg++ libgda libwww lzw-tiff mad mcal mikmod mmx mng motif mozdevelop > mozilla mozsvg mozxmlterm mp3 mpeg mysql nas ncurses nls nntp no-old-linux nptl > nsplugin offensive ogg oggvorbis opengl pam pcre pdflib perl pic plotutils png > postgres povray python qt quicktime readline rrdtool ruby samba scanner sdk sdl > slang sndfile speex spell sqlite sse ssl subversion svg tcltk tcpd tetex theora > threads tidy tiff truetype truetype-fonts type1-fonts unicode vdesktop vorbis > wmf xine xml xml2 xmms xprint xv zlib userland_GNU kernel_linux elibc_glibc" > Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, MAKEOPTS > > P.S. Yes, I tried without -ffast-math. Same result.
Fixed in 1.0.1, closing a stale bug.