When starting pornview (version 0.2.0-pre1) and closing it afterwards, the application hangs. The window can still be minimized or moved to other dekstops. Even when doing something as simple as changing some settings, it hangs on exit, without even looking at a picture / video. Reproducible: Always Steps to Reproduce: 1. emerge pornview 2. exec pornview 3. close pornview Actual Results: App hangs, need xkill to terminate it. Expected Results: Exit cleanly Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.11-rc3-nitro0 i686) ================================================================= System uname: 2.6.11-rc3-nitro0 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 7 2005, 14:36:22)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.7.9-r1, 1.8.5-r3, 1.6.3, 1.9.4, 1.5 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -mmmx -msse -m3dnow -mfpmath=sse,387 -ffast-math" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/fax /usr/share/config /var/qmail/alias /var/qmail/control /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -mmmx -msse -m3dnow -mfpmath=sse,387 -ffast-math" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks parallel-fetch sandbox sfperms"GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo" LANG="nl_NL@euro" LC_ALL="nl_NL@euro" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X aalib alsa apache2 apm arts audiofile avi bash-completion bitmap-fonts bzlib calender cdparanoia cdr chroot crypt cups dba divx4linux dvd dvdr dvdread encode esd f77 fam filepro flac font-server foomaticdb fortran gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 guile hal imagemagick imlib insecure-drivers java jpeg jpeg2k junit kde ldap libg++ libwww live mad mikmod mime mmx motif mpeg msn mysql ncurses network nls nptl nvidia odbc offensive oggvorbis ooo-kde opengl pam pdflib perl php pic png postgres python qmail qt quicktime readline real rplay samba scanner sdk sdl session sftplogging slang softmmu speex spell sse ssl stroke svga tcltk tcpd threads tiff truetype truetype-fonts type1-fonts usb userlocales v4l wmf xine xinerama xml xml2 xmms xprint xscreensaver xv xvid zlib video_cards_nvidia linguas_nl" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS
Could you: > strace -o st.log /usr/bin/pornview > #Exit the app to get it crashed > gzip st.log > #Attach st.log.gz to this Bug Thanks
Created attachment 50767 [details] strace log No matter how many times I try to close the window manager, the last line is always futex(0x823fd34, FUTEX_WAIT, 1, NULL) = -1 EINTR (Interrupted system call) Nothing gets added when I try to close it via the window manager. I closed the app using control-c in the terminal I started it from, so ignore the --- SIGINT (Interrupt) @ 0 (0) --- +++ killed by SIGINT +++ lines at the end Thanks for your response
My strace on amd64 shows no system calls to futex(). Does this happen also, if you choose File->Exit ot Ctrl-X If not, then try with another window-manager. If yes, mail-me /usr/bin/pornview
when using ctrl-x or "exit", the program also hangs (already tried that) and also has these calls: read(14, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\25"..., 512) = 512fstat64(14, {st_mode=S_IFREG|0644, st_size=37012, ...}) = 0 mmap2(NULL, 34052, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 14, 0) = 0xa4bee000 mmap2(0xa4bf6000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 14, 0x7) = 0xa4bf6000 close(14) = 0 munmap(0xa4bf7000, 132466) = 0 tgkill(13139, 13147, SIGRTMIN) = 0 futex(0xa6465bf8, FUTEX_WAIT, 13141, NULL) = 0 write(12, "\216\r\4\0k\0\0\0N\0\0\0\1\0\0\0\216\r\4\0k\0\0\0K\0\0"..., 132) = 132 I mailed you the binairy. Might be a case of exessive CFLAG'ing then? I'll try re-emerging it with a few different ones.
It's not a question of CLFAGS or the window manager. Even with CFLAGS="-O1" emerge pornview, the error remains. Running pornview in xface, afterstep, kde and gnome all results in a hang on exit. Futex is always called, no matter what cflags or window manager is used
This is same as Debian Bug 288202 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288202 With the Debian package, it happens here on a Debian machine also....
I doesn't even seem to be app-specific. On the redhat bugzilla, there to are several bugs. http://www.google.com/search?hl=nl&lr=&q=+site:bugzilla.redhat.com+futex+system+call+application+hang Especially mozilla and java apps seem to be suffering from this "bug".
Could you: emerge pornview > p.log 2>&1 and attach p.log here?
Created attachment 50822 [details] Portage log
Ok, it's a xine problem. Taking your ./configure line I get it reproducible here. If I then remove "--enable-xine" and add "--disable-xinetest --enable-mplayer" then this problem is gone. You have to get rid of the "mpeg" USE flag, then it works. (As drawback, it uses mplayer to play movies) Drop me a note....
That sure did it! compiling with -mpeg solved it. Should we get this filtered in the ebuild? Thanks for the quick respose + solution!
Bug not completely resolved I'm afraid, after watching a lot of (about 20) movies in a row, after ending pornview, I'm left with an equal number of processes of mplayer -slave. They don't eat up a lot of recourses, but combined, it caused me to swap on this machine (1 Gig of RAM). After a "killall mplayer", the memory was released. I'm not sure if this is in any way related. Just thought I'd mention it.
Hi, ok. This multiple mplayer -slave thing is a secondary, will have a look (weekend)... We seam to have a deadlock in this thread handling stuff, after switching to the right thread, I got following backtrace: #0 0x0000002a96c746bc in __pthread_sigsuspend () from /lib/libpthread.so.0 #1 0x0000002a96c73ed0 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0 #2 0x0000002a96c70f1a in pthread_cond_wait@GLIBC_2.2.5 () from /lib/libpthread.so.0 #3 0x0000002a972832e0 in _XReply () from /usr/lib/libX11.so.6 #4 0x0000002a9727ddd4 in XSync () from /usr/lib/libX11.so.6 #5 0x0000002a9e981a6a in _x_alphablend_free () from /usr/lib/xine/plugins/1.0.0/xineplug_vo_out_xv.so #6 0x0000002a9690e0d7 in xine_free_video_frame () from /usr/lib/libxine.so.1 #7 0x00000000004398b9 in gtk_xine_unrealize (widget=0x7c4400) at gtkxine.c:634 #8 0x0000002a962f705a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #9 0x0000002a9630a62f in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0 #10 0x0000002a9630b9be in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #11 0x0000002a9630bd23 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #12 0x0000002a9585fa1e in gtk_widget_unrealize () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x0000002a95860515 in gtk_widget_unparent () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x0000002a956e0e27 in gtk_bin_get_type () from /usr/lib/libgtk-x11-2.0.so.0 #15 0x0000002a962f705a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 Program was configured with ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-gnu-ld --with-gtk2 --enable-xine This "mpeg" use flag is wrong, it should be "xine". The "avi" use flag also wrong, could be "mplayer".... Fixing the ebuild, in sense of nuking xine support/switching to mplayer support, is not a problem.
Created attachment 50912 [details, diff] gtkmplayer.diff Save this to /usr/portage/media-gfx/pornview/files/ as gtkmplayer.diff (Untested "guessed" port from gimageview)
Created attachment 50913 [details] pornview-0.2.0_pre1.ebuild Complementary ebuild for the previous attachement. This should fix the mplayer's still running bug. Note: Have remove "avi" and "mpeg" use flags, therefor added xine -Add support for the XINE movie libraries mplayer -- Enable mplayer support For this patch to work, you must have "mplayer" in your use flag, and no "xine" ...
Created attachment 50918 [details] Build log with patch Sorry, but it doesn't seem to compile with this patch. I've added mplayer and xine to USE in make.conf, then used =media-gfx/pornview-0.2.0_pre1 -xine in cat /etc/portage/package.use it shows up right in pretend mode: These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] media-gfx/pornview-0.2.0_pre1 +gtk2 +jpeg +mplayer* +nls -static -xine* 0 kB
Created attachment 50920 [details, diff] gtkmplayer.diff Sorry, had that "xine" somewhere in the useflags.... Should at least compile....
well, it compiles now! To bad this patch now borks the complete program. It closes the application and prevents switching movies while one is running. 1. start a movie 2. while movie is still playing, click on another movie in preview pane 3. instead of showing the newly selected movie, the pane is black 4. after selecting yet another movie, the application terminates without error Only thing I noticed in terminal are these messages: ** (pornview:22905): CRITICAL **: gtk_mplayer_send_command: assertion `context->stdin_fd > 0' failed
Created attachment 50957 [details, diff] gtkxine.diff Copy attachment to /usr/portage/media-gfx/pornview/
Created attachment 50958 [details, diff] gtkxine.diff Copy attachment to /usr/portage/media-gfx/pornview/
Created attachment 50959 [details] pornview-0.2.0_pre1.ebuild This mplayer -slave multiple issue is here not reproducible. Which mplayer version? Plan B: xine You must have "xine" and "gtk2" in your use flags, here it works, can view several videos and exit cleanly.
Some explanation: - The patch removes this thread_* stuff -> it seams to do no harm, just wokrs, and the problem is gone -> gimv from which the affected file is taken, has also no pthread_* stuff in any more => Assuming we are on the safe site - This crash when using xine and not gtk2 -> happens also without portage version on amd64, so not my fault -> crashs in pthread_mutex_lock() called somehwere by the libxine stuff -> with use gtk2, no problem So> USE="xine gtk2" emerge pornview #with my patch/my ebuild ==> Happy
I never meant to make it you problem, I'm sorry if I offended you in any way with my last comment. Plan B seems to work: using xine support fixed the mplayer -slave problem (duh :)) Pornview also exits cleanly now. Thank you for your time and the patch!
This problem is still here in portage. I looked a little at what you have done, but it looks like the pornview-0.2.0_pre1.ebuild was not added in portage.
Yes, no one has taken care... Could you add "Inclusion" to the Keywords here above, and append "(Updated ebuild)" to the subject. Then we have to wait again....
done
This xine-lib thing was bugging me for a while. Seems I still have the pb with xine and gtk2 in package use: bash# pv (alias pornview) xine_thread: init threads xine_thread: open display gtkxine: auto-detecting video driver... pv hangs but I can cntl-C out rather than kill. A couple of feature requests: 1/ Could we change the name ! This is an excellent browser/viewer but if I invite a real-life, 3D-girlfriend to look at my beautiful sunsets photos I dont want PORNVIEW slapped across the title bar. 2/ A major help to the user interface would be some hotkeys for the icons below the tree view (full-screen, rotate etc) and if the icons that do this in the LH pain could wrap/scroll rather than going out of sight when the main window is enlarged. Thanks for the work , great prog.
The earlier post related to xine-lib-1.0-r2 I have reverted to rc8-r1 and all is fine with regards to pornview. Seems the same fix does not work with later versions but then many things dont ! Just a fore-warning that this may come back later. Thanks for the fix.
the bug is solved for some months now but still exists in portage...
Fixed in portage, thanks for help and sorry it took so long time, it's because pornview doesn't have any maintainer.