stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [STUMP] Bug report: division by zero when starting a video


From: Ben Spencer
Subject: Re: [STUMP] Bug report: division by zero when starting a video
Date: Sun, 24 Apr 2011 19:46:13 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Mon, Mar 14, 2011 at 11:16:32PM -0500, Philip M. White wrote:
> When I try to play a video file with mplayer or vlc within stumpwm,
> stumpwm reproducibly crashes as soon as I try it.  I am attaching stdout
> and stderr of 'startx'.  Please let me know if I can collect better
> debugging info.
> 
> When I play the same file the same way outside of stumpwm, it plays
> fine, but it seems somewhat malformed.  VLC first sizes the player
> window very large, then resizes it to a much smaller size.

Hi Philip,

It seems that mplayer/vlc is setting the Y part of the aspect ratio in
WM_NORMAL_HINTS to zero.  CLX attempts to divide the two numbers to
produce a ratio value, hence the error.

I don't know if this is considered a valid value for the hint, but
clearly CLX should be handling it better than it is.  I notice that in
the latest version of new-clx there is a workaround:

diff -r d8a9837e3d6e -r 9a5e059ec9d7 modules/clx/new-clx/clx.lisp
--- a/modules/clx/new-clx/clx.lisp      Fri Sep 18 18:39:11 2009 +0000
+++ b/modules/clx/new-clx/clx.lisp      Fri Sep 18 18:55:34 2009 +0000
@@ -783,8 +783,12 @@
         (setf (wm-size-hints-width-inc hints) (aref vector 9)
               (wm-size-hints-height-inc hints) (aref vector 10)))
       (when (logbitp 7 flags)
-        (setf (wm-size-hints-min-aspect hints) (/ (aref vector 11) (aref 
vector 12))
-              (wm-size-hints-max-aspect hints) (/ (aref vector 13) (aref 
vector 14))))
+        (let ((low (aref vector 12)))
+          (unless (zerop low)
+            (setf (wm-size-hints-min-aspect hints) (/ (aref vector 11) low))))
+        (let ((low (aref vector 14)))
+          (unless (zerop low)
+            (setf (wm-size-hints-max-aspect hints) (/ (aref vector 13) low)))))
       (when (> (length vector) 15)
         ;; This test is for backwards compatibility since old Xlib programs
         ;; can set a size-hints structure that is too small.  See ICCCM.

Assuming you're using new-clx, you could give this a try and see if it
helps.  Puzzlingly, however, portable-clx appears to suffer from the
same issue, yet mplayer works fine for me.  Could you provide details of:

* The versions of mplayer and vlc you're using
* How you are running them, and any config files you're using
* Whether this happens for just one particular file or set of files,
  and if so which (assuming they're publically available)

So I can attempt to reproduce the crash?


Thanks, Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]