Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 99069 - aqsis-1.0.0 don't work
Summary: aqsis-1.0.0 don't work
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-14 20:08 UTC by Nickolay Kolchin-Semyonov
Modified: 2006-08-01 02:48 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nickolay Kolchin-Semyonov 2005-07-14 20:08:19 UTC
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.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-07-15 00:52:23 UTC
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
Comment 2 Nickolay Kolchin-Semyonov 2005-07-15 01:43:50 UTC
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? 
Comment 3 Luca Barbato gentoo-dev 2005-08-15 15:24:19 UTC
Please report upstream and/or try the latest unstable. If that solves the issue
we may think about provide that one instead.
Comment 4 Luca Barbato gentoo-dev 2005-08-17 04:22:49 UTC
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.

Comment 5 Nickolay Kolchin-Semyonov 2005-08-17 09:06:03 UTC
 (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. 
 
Comment 6 Luca Barbato gentoo-dev 2005-08-18 11:26:59 UTC
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.
Comment 7 David Miller 2005-12-13 17:09:30 UTC
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.

Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-08-01 02:48:53 UTC
Fixed in 1.0.1, closing a stale bug.