Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 238079 - x11-terms/clusterssh: dies at startup with message no event type or button # or keysym
Summary: x11-terms/clusterssh: dies at startup with message no event type or button # ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Michael Imhof (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-19 07:45 UTC by Juho Rutila
Modified: 2009-08-31 09:15 UTC (History)
11 users (show)

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


Attachments
Patch to Widget.pm sub MouseWheelBind() (perl-tk-804.028-Widget-mousewheel-bind.patch,1.19 KB, patch)
2009-01-15 21:29 UTC, Bryan Stine (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juho Rutila 2008-09-19 07:45:28 UTC
When I try to start program clusterssh (versions 3.18.1-r1 and ~3.22) it dies and gives following error

no event type or button # or keysym at /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/Tk/Widget.pm line 1035.
 at /usr/bin/cssh line 1434

There were no problem installing cssh via portage or straigth from sourceforge.

Reproducible: Always

Steps to Reproduce:
1. emerge clusterssh
2. cssh

Actual Results:  
no event type or button # or keysym at /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/Tk/Widget.pm line 1035.
 at /usr/bin/cssh line 1434

Expected Results:  
cssh should start

I'm running wmii as window manager but don't think it has to do anything with window-manager.

Here is the packages that clusterssh depends on installed on my system:
dev-lang/perl-5.8.8-r5
dev-perl/perl-tk-804.027
dev-perl/Config-Simple-4.58
dev-perl/X11-Protocol-0.56
x11-apps/xlsfonts-1.0.2

emerge --info
Portage 2.1.4.4 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 x86_6
4)
=================================================================
System uname: 2.6.25-gentoo-r7 x86_64 Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz
Timestamp of tree: Thu, 18 Sep 2008 06:34:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/
gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.ing.umu.se/linux/gentoo/ "
LANG="en_US.utf-8"
LC_ALL="en_US.utf-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en fi"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file -
-delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups c
url dbus djvu dri dvd dvdr dvdread eds encode esd evo fam ffmpeg firefox fortran gdbm gif gimp gnome g
nome-keyring gpm gstreamer gtk hal hdaps iconv imagemagick ipv6 isdnlog java6 joystick jpeg kerberos l
dap libnotify mad midi mmx mp3 mpeg mudflap multilib ncurses networkmanager nls nptl nptlonly ogg open
gl openmp pam pcre pdf perl png ppds pppd python quicktime readline reflection sdl session spell spl s
se sse2 ssl startup-notification svg sysfs tcpd threads tiff truetype unicode usb vim-syntax vorbis x2
64 xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0
106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident 
usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empt
y extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate rou
te share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn
_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoinde
x cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers in
clude info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status uniq
ue_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard wacom mouse joystick" KERNE
L="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS=
"en fi" USERLAND="GNU" VIDEO_CARDS="i810"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRE
SS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 walt 2008-09-23 03:12:36 UTC
I've been getting the same error when trying to run pysol -- but only on some
machines, not all.  One obvious difference is that my error is coming from
a python program (pysol) and yours from a perl program.

Your error:
no event type or button # or keysym at
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/Tk/Widget.pm line 1035.
And here are lines 1034-5 from Widget.pm:
 $mw->Tk::bind($class, '<MouseWheel>',
               [ sub { $_[0]->yview('scroll',-($_[1]/120)*3,'units') }, 

My error:
/usr/lib64/tk8.4/tk.tcl: no event type or button # or keysym
no event type or button # or keysym
    while executing
"bind Listbox <MouseWheel> {

Seems that our common problem involes MouseWheel somehow, but I don't
know how or why.
Comment 2 sebastian 2008-10-04 19:24:06 UTC
I have encountered the same problem, so I commented out lines 1034 and 1035 in /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/Tk/Widget.pm and cssh worked... 
The comment in line 1030 suggests that this is okay as a workaround.

There might be a connection to Bug 225999, but either those patches do not help to solve this problem or I did not rebuild all required packages.
Comment 3 Shyam Mani (RETIRED) gentoo-dev 2008-12-29 03:26:26 UTC
Same issue here and commenting out the lines in Widget.pm works as a solution.
Comment 4 Michael Imhof (RETIRED) gentoo-dev 2009-01-15 20:35:01 UTC
Please check if this happens with ~3.24 as well.
Comment 5 Bryan Stine (RETIRED) gentoo-dev 2009-01-15 21:29:29 UTC
Created attachment 178622 [details, diff]
Patch to Widget.pm sub MouseWheelBind()
Comment 6 Bryan Stine (RETIRED) gentoo-dev 2009-01-15 21:31:07 UTC
(Note: I'm not a clusterssh user, but tracking this issue for app-admin/bastille, which is also suffering...)

This appears to be a problem in the perl-tk package itself. The offending lines, as pointed out in comment #2, attempt to bind scroll-wheel handlers in a Windows-only way regardless of platform (using perl-tk Tk::bind).

However, looking at the function that the bind call is in, there are Unix-specific (x11) binds in a conditional below that call. Slightly restructuring the function to attempt the offending bind _only_ in a platform-specific manner has solved the issue for me, locally. I've attached a patch to hopefully solve this issue.

I'm CCing perl@g.o as they'll probably want to take over this bug.
Comment 7 Torsten Veller (RETIRED) gentoo-dev 2009-02-21 14:22:59 UTC
This should be fixed in perl-tk-804.028-r1.

@Bryan: The applied patch is from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516201 . Thanks
Comment 8 uc78 2009-03-06 14:55:02 UTC
i am getting same problem with ns2
/*-----------------------------------------------------------------
$ nam: 
[code omitted because of length]
: no event type or button # or keysym
    while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
    invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."

---------------------------------------------------------------*/



(In reply to comment #7)
> This should be fixed in perl-tk-804.028-r1.
> 
> @Bryan: The applied patch is from
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516201 . Thanks
> 

Comment 9 Torsten Veller (RETIRED) gentoo-dev 2009-03-21 07:25:22 UTC
(In reply to comment #8)
> i am getting same problem with ns2

What is ns2?

> /*-----------------------------------------------------------------
> $ nam: 
> [code omitted because of length]
> : no event type or button # or keysym
>     while executing
> "bind Listbox <MouseWheel> {
> %W yview scroll [expr {- (%D / 120) * 4}] units
> }"
>     invoked from within
> "if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
> bind Listbox <MouseWheel> {
> %W yview scroll [expr {- (%D)}] units
> }
> bind Li..."
> 
> ---------------------------------------------------------------*/

Does it at least work for the rest of you?
Comment 10 walt 2009-04-10 16:09:56 UTC
I just noticed that perl-tk-804.028-r1 is still masked as ~ and most people
would still be running 804.027.