Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 81179 - (Updated ebuild) Pornview crashes on exit
Summary: (Updated ebuild) Pornview crashes on exit
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2005-02-07 17:04 UTC by Roel Brook
Modified: 2005-08-01 14:21 UTC (History)
2 users (show)

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


Attachments
strace log (st.log.gz,33.80 KB, text/plain)
2005-02-08 11:56 UTC, Roel Brook
Details
Portage log (p.log,90.28 KB, text/plain)
2005-02-09 06:39 UTC, Roel Brook
Details
gtkmplayer.diff (gtkmplayer.diff,650 bytes, patch)
2005-02-10 06:34 UTC, Roland Bär
Details | Diff
pornview-0.2.0_pre1.ebuild (pornview-0.2.0_pre1.ebuild,1.68 KB, text/plain)
2005-02-10 06:40 UTC, Roland Bär
Details
Build log with patch (4918-pornview-0.2.0_pre1.log,73.52 KB, text/plain)
2005-02-10 07:24 UTC, Roel Brook
Details
gtkmplayer.diff (gtkmplayer.diff,1.23 KB, patch)
2005-02-10 07:56 UTC, Roland Bär
Details | Diff
gtkxine.diff (gtkxine.diff,676 bytes, patch)
2005-02-10 15:27 UTC, Roland Bär
Details | Diff
gtkxine.diff (gtkxine.diff,676 bytes, patch)
2005-02-10 15:27 UTC, Roland Bär
Details | Diff
pornview-0.2.0_pre1.ebuild (pornview-0.2.0_pre1.ebuild,1.68 KB, text/plain)
2005-02-10 15:32 UTC, Roland Bär
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roel Brook 2005-02-07 17:04:11 UTC
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
Comment 1 Roland Bär 2005-02-08 08:23:08 UTC
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
Comment 2 Roel Brook 2005-02-08 11:56:26 UTC
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
Comment 3 Roland Bär 2005-02-08 12:57:07 UTC
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
Comment 4 Roel Brook 2005-02-08 13:48:34 UTC
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.
Comment 5 Roel Brook 2005-02-08 14:41:01 UTC
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
Comment 6 Roland Bär 2005-02-09 00:37:54 UTC
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....
Comment 7 Roel Brook 2005-02-09 05:33:56 UTC
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".

Comment 8 Roland Bär 2005-02-09 05:48:41 UTC
Could you:
emerge pornview > p.log 2>&1 
and attach p.log here?
Comment 9 Roel Brook 2005-02-09 06:39:09 UTC
Created attachment 50822 [details]
Portage log
Comment 10 Roland Bär 2005-02-09 07:21:27 UTC
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....
Comment 11 Roel Brook 2005-02-09 10:05:24 UTC
That sure did it!

compiling with -mpeg solved it.

Should we get this filtered in the ebuild?

Thanks for the quick respose + solution!
Comment 12 Roel Brook 2005-02-09 17:59:47 UTC
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.
Comment 13 Roland Bär 2005-02-10 00:29:15 UTC
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.
Comment 14 Roland Bär 2005-02-10 06:34:54 UTC
Created attachment 50912 [details, diff]
gtkmplayer.diff

Save this to /usr/portage/media-gfx/pornview/files/ 
as gtkmplayer.diff
(Untested "guessed" port from gimageview)
Comment 15 Roland Bär 2005-02-10 06:40:19 UTC
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"
...
Comment 16 Roel Brook 2005-02-10 07:24:51 UTC
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
Comment 17 Roland Bär 2005-02-10 07:56:55 UTC
Created attachment 50920 [details, diff]
gtkmplayer.diff

Sorry, had that "xine" somewhere in the useflags.... Should at least
compile....
Comment 18 Roel Brook 2005-02-10 09:09:21 UTC
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
Comment 19 Roland Bär 2005-02-10 15:27:26 UTC
Created attachment 50957 [details, diff]
gtkxine.diff

Copy attachment to /usr/portage/media-gfx/pornview/
Comment 20 Roland Bär 2005-02-10 15:27:40 UTC
Created attachment 50958 [details, diff]
gtkxine.diff

Copy attachment to /usr/portage/media-gfx/pornview/
Comment 21 Roland Bär 2005-02-10 15:32:37 UTC
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.
Comment 22 Roland Bär 2005-02-11 08:04:42 UTC
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
Comment 23 Roel Brook 2005-02-11 17:18:17 UTC
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!
Comment 24 kaouete 2005-03-14 06:55:02 UTC
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.
Comment 25 Roland Bär 2005-03-14 07:35:49 UTC
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....
Comment 26 Roel Brook 2005-03-14 12:23:27 UTC
done
Comment 27 genbug 2005-04-24 12:42:13 UTC
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.
Comment 28 genbug 2005-04-25 07:25:14 UTC
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.
Comment 29 Peter Oettl 2005-08-01 04:01:26 UTC
the bug is solved for some months now but still exists in portage...
Comment 30 Karol Wojtaszek (RETIRED) gentoo-dev 2005-08-01 14:21:27 UTC
Fixed in portage, thanks for help and sorry it took so long time, it's because
pornview doesn't have any maintainer.