Bug#682343: forcing ssh-askpass on top crashes awesome

2012-08-10 Thread Antoine Beaupré
On 2012-07-22, Julien Danjou wrote:
 On Sat, Jul 21 2012, Antoine Beaupré wrote:

 Instead, hitting that key spontaneously crashes the whole X session,
 by destroying awesome, I suspect.

 Could you check what's in ~/.xsession-errors after a crash?

Nothing special. Here is it:

/etc/gdm3/Xsession: Beginning session setup...
QOTD:
I only touch base with reality on an as-needed basis!
localuser:anarcat being added to access control list
openConnection: connect: Connection refused
cannot connect to brltty at :0
/home/anarcat/.xsession: 3: /home/anarcat/.xsession: source: not found
/home/anarcat/.xsession: 9: /home/anarcat/.xsession: gnome-power-manager: not 
found
WARNING: gnome-keyring:: couldn't connect to: 
/home/anarcat/.cache/keyring-PmkCZk/pkcs11: No such file or directory

** (process:3357): WARNING **: 
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name 
org.gnome.SessionManager was not provided by any .service files
WARNING: gnome-keyring:: couldn't connect to: 
/home/anarcat/.cache/keyring-PmkCZk/pkcs11: No such file or directory
** Message: applet now removed from the notification area
** Message: applet now embedded in the notification area

** (gnome-settings-daemon:3265): WARNING **: Unable to register client: 
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name 
org.gnome.SessionManager was not provided by any .service files
ms: Launching ssh-askpass
** Message: applet now removed from the notification area

(polkit-gnome-authentication-agent-1:3288): Gdk-WARNING **: 
polkit-gnome-authentication-agent-1: Fatal IO error 11 (Resource temporarily 
unavailable) on X server :0.

xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X 
server :0
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying 
GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server :0
  after 338 requests (338 known processed) with 0 events remaining.
gpg: about to export an unprotected subkey
gpg: failed to unprotect the subkey: bad passphrase
gpg: WARNING: nothing exported
No matching key found.

(nm-applet:3260): Gdk-WARNING **: nm-applet: Fatal IO error 2 (No such file or 
directory) on X server :0.

Notice monkeysphere (ms) starting ssh-askpass then failing to find the
key it wants. I have the feeling things start crashing before that
because of the fatal errors above...

A.

-- 
Conformity-the natural instinct to passively yield to that vague something
recognized as authority.
- Mark Twain


pgpjOCL07Mr8L.pgp
Description: PGP signature


Bug#682343: forcing ssh-askpass on top crashes awesome

2012-07-22 Thread Julien Danjou
On Sat, Jul 21 2012, Antoine Beaupré wrote:

 Instead, hitting that key spontaneously crashes the whole X session,
 by destroying awesome, I suspect.

Could you check what's in ~/.xsession-errors after a crash?

-- 
Julien Danjou
# Free Software hacker  freelance
# http://julien.danjou.info


pgpTcmKGojLAb.pgp
Description: PGP signature


Bug#682343: forcing ssh-askpass on top crashes awesome

2012-07-21 Thread Antoine Beaupré
Package: awesome
Version: 3.4.11-2
Severity: important

Weird bug that started appearing after the squeeze to wheezy
upgrade. First problem: the ssh-askpass window doesn't actually show
up in tiled layouts, but instead appears below all other windows. This
doesn't happen in a floating layout. I wonder if this may be due to my
rc.lua, but I am not sure.

The more serious bug, which I am reporting here, is that forcing that
window to show up on top completely crashes awesome, sending me back
to the gdm login screen.

My rc.lua has a meta-t key to toggle the above setting of a
window. Since the window doesn't actually show up on top, I figured
that setting that would make the window show up properly.

Instead, hitting that key spontaneously crashes the whole X session,
by destroying awesome, I suspect.

Here is my rc.lua:

-- Standard awesome library
require(awful)
require(awful.autofocus)
require(awful.rules)
-- Theme handling library
require(beautiful)
-- Notification library
require(naughty)
--require(revelation)

-- Load Debian menu entries
require(debian.menu)

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
beautiful.init(awful.util.getdir(config) ..  /current_theme/theme.lua)

-- This is used later as the default terminal and editor to run.
terminal = uxterm
editor = os.getenv(EDITOR) or editor
editor_cmd = terminal ..  -e  .. editor
su_cmd = terminal ..  -e su
mpd_host = os.getenv(MPD_HOST) or localhost

-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with 
others.
modkey = Mod4

-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
{
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier,
awful.layout.suit.floating
}

-- Define if we want to use titlebar on all applications.
use_titlebar = false
-- }}}

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, 
awful.layout.suit.tile.top)
awful.layout.set(awful.layout.suit.floating, tags[s][3])
awful.layout.set(awful.layout.suit.fair, tags[s][4])
awful.layout.set(awful.layout.suit.fair, tags[s][5])
end

-- }}}

mythememenu = {}

function theme_load(theme)
   local cfg_path = awful.util.getdir(config)

   -- Create a symlink from the given theme to 
/home/user/.config/awesome/current_theme
   awful.util.spawn(ln -sfn  .. cfg_path .. /themes/ .. theme ..   .. 
cfg_path .. /current_theme)
   awesome.restart()
end

function theme_menu()
   -- List your theme files and feed the menu table
   local cmd = ls -1  .. awful.util.getdir(config) .. /themes/
   local f = io.popen(cmd)

   for l in f:lines() do
  local item = { l, function () theme_load(l) end }
  table.insert(mythememenu, item)
   end

   f:close()
end

-- Generate your table at startup or restart
theme_menu()

-- {{{ Menu
-- Create a laucher widget and a main menu
-- Modify your awesome menu to add your theme sub-menu
myawesomemenu = {
   { manual, terminal ..  -e man awesome },
   { edit config, editor_cmd ..   .. awful.util.getdir(config) .. 
/rc.lua },
   { themes, mythememenu },
   { restart, awesome.restart },
   { quit, awesome.quit }
}

mpdtoysmenu = {
{ Move state locally, mpmv localhost },
{ Move state remotely, mpmv localhost  .. mpd_host },
{ Copy state locally, mpcp ..  localhost },
{ Copy state remotely, mpcp localhost  .. mpd_host },
}

audiomenu = {
{ MPD Toys, mpdtoysmenu },
{ Mixer, aumix }
}

mymainmenu = awful.menu({ items = { { awesome, myawesomemenu, 
beautiful.awesome_icon },
{ Debian, debian.menu.Debian_menu.Debian 
},
{ open terminal, terminal },
{ Audio, audiomenu }
  }
})

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
 menu = mymainmenu })
-- }}}

-- {{{ Wibox
-- Create a textclock widget
--mytextclock = awful.widget.textclock({ align = right })
mytextclock = awful.widget.textclock({ align = right },  %Y-%m-%d, 
%H:%M:%S, 1 )


-- Create a systray
mysystray = widget({ type = systray })

require(vicious.contrib.batpmu)
require(vicious.contrib.batacpi)
require(vicious.contrib.batproc)
require(vicious)

-- Initialize widget
batwidget = widget({ type = textbox })
-- Register widget
vicious.register(batwidget, vicious.widgets.bat,