Bug #299
Subtler: ERROR: undefined method `name' for nil:NilClass
0%
Description
When i'm using subtler like this:
[0][20:38:36] mono@laptLukasGentoo ~/.l/s/s/contrib $ subtler -c -l
I will get the error message '>>> ERROR: undefined method `name' for nil:NilClass'
Stacktrace:
>>> ERROR: undefined method `name' for nil:NilClass /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:276:in `printer' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:256:in `call_or_print' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:264:in `block in handle_result' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:263:in `each' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:263:in `handle_result' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:239:in `handle_command' /usr/lib64/ruby/site_ruby/1.9.1/subtle/subtler/runner.rb:171:in `run' /usr/bin/subtler:17:in `<main>'
Ruby-Version: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Subtle-Version: subtle 0.11.3231
Subtler-Version: subtler 0.11.3231
X11-Version: X.Org X Server 1.12.3
What's going wrong?
Do you need my configuration file?
Thank you.
History
#1 Updated by Christoph Kappel over 12 years ago
Hum, does this happen all the time? Looks like there is a stale client left in the list and subtler fails to fetch the name info.
#2 Updated by Lukas Schreiner over 12 years ago
Christoph Kappel wrote:
Hum, does this happen all the time? Looks like there is a stale client left in the list and subtler fails to fetch the name info.
Hi. Yes this happen all the time.
#3 Updated by Lukas Schreiner over 12 years ago
I don't know whether it helps or not, but i will add it simply.
A friend of me is using subtle too so we checked some things.
A clean startup with default subtle configuration does not resolve the problem.
And when i do "subtler -t -a bug299" then the 'bug299'-entry should be visible
with a "subtler -t -l", right? That's what's my friend can see. But on my
system this does not work. The result will be still empty (no error message).
Some weeks ago i've tried with my little ruby knowledge to try and catch the nil's.
But the crazy thing: all entries are nil - jf i've done it right.
It says me that the entry is nil for every open window. That is crazy, or?
An update does not help me - i've tried it yesterday.
Best regards,
Lukas
#4 Updated by Christoph Kappel over 12 years ago
Weird, I need more information about your environment. Which ruby version and are you using RVM/rbench?
#5 Updated by Lukas Schreiner over 12 years ago
Christoph Kappel wrote:
Weird, I need more information about your environment. Which ruby version and are you using RVM/rbench?
Hello Christoph,
as i've written in report:
Ruby-Version: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] on
Gentoo with Linux 3.3.4-ck.
What is RVM/rbench? If it is "Recoverable Virtual Memory (used by Coda)", than: no (that's the only thing i've found in portage ;)).
#6 Updated by Christoph Kappel over 12 years ago
Lukas Schreiner wrote:
What is RVM/rbench? If it is "Recoverable Virtual Memory (used by Coda)", than: no (that's the only thing i've found in portage ;)).
Close enough. ;)
Both can be used to install ruby into your home directory without a system wide install. They set symlinks etc. for you and provide some helpers to maintain different ruby versions.
Does your friend use the same distro and versions? Otherwise I have to check this specific ruby version tomorrow.
#7 Updated by Lukas Schreiner over 12 years ago
Christoph Kappel wrote:
Does your friend use the same distro and versions? Otherwise I have to check this specific ruby version tomorrow.
No. I know that he switched to another distro. I think it is arch linux.
But the ruby version is the same.
Thank you!
#8 Updated by Christoph Kappel over 12 years ago
After some tests I see no problems here, is this the vanilla subtler or does it include your changes?
Also, can you post me the result of following in e.g. irb?
require "subtle/subtlext"
p Subtlext::Client.all.first.views
p Subtlext::View.current
#9 Updated by Lukas Schreiner over 12 years ago
Christoph Kappel wrote:
After some tests I see no problems here, is this the vanilla subtler or does it include your changes?
Also, can you post me the result of following in e.g. irb?
[...]
No i've recompiled the subtler and subtle in the new version. So my changes are not included anymore.
Sure i can post you the result:
irb(main):001:0> require "subtle/subtlext" => true irb(main):002:0> p Subtlext::Client.all.first.views [] => [] irb(main):003:0> p Subtlext::View.current nil => nil
#10 Updated by Christoph Kappel over 12 years ago
Hm funny, didn't expect something like that. Please post more output. ;)
pequire "subtle/subtlext"
Subtlext::Client.list.each { |c| p "%s [ %s ] " % [ c, c.tags.join(",") ] }
Subtlext::View.list.each { |v| p "%s [ %s ] " % [ v, v.tags.join(",") } ] }
#11 Updated by Lukas Schreiner over 12 years ago
Yes of course ;)
irb(main):002:0> require "subtle/subtlext" => true irb(main):003:0> Subtlext::Client.list.each { |c| p "%s [ %s ] " % [ c, c.tags.join(",") ] } "subtle [ ] " "subtle [ ] " "subtle [ ] " "subtle [ ] " "subtle [ ] " "subtle [ ] " "subtle [ ] " => [subtle, subtle, subtle, subtle, subtle, subtle, subtle] irb(main):005:0> Subtlext::View.list.each { |v| p "%s [ %s ] " % [ v, v.tags.join(",") ] } => []
#12 Updated by Christoph Kappel over 12 years ago
#13 Updated by Lukas Schreiner over 12 years ago
- File subtle_root_window.txt subtle_root_window.txt added
Ha.. that's funny.
But subtle is definitely running ;)
I've put on the output of xprop as attachment.
I hope it was the right target of xprop.
#14 Updated by Christoph Kappel over 12 years ago
#15 Updated by Lukas Schreiner over 12 years ago
After gentoo is booted, the command "startx" will be executed with my user.
Following programs will be executed:
- notify-osd
- xscreensaver
- ssh-agent
- urxvtd
- mutt
- weechat
- firefox
- feh (to set the background)
and finally subtle.
In the xinitrc there is only an execution triggered for a bash script which runs all the applications for me in the background.
#16 Updated by Christoph Kappel over 12 years ago
#17 Updated by Lukas Schreiner over 12 years ago
Trying to execute subtler -cl with DISPLAY environment in the current session does not work.
Same error as reported.
But the tip with the startx manually and urxvt was correct. What's going wrong on startup?
#18 Updated by Christoph Kappel over 12 years ago
Actually no idea, I just wonder why your root window has an attached icon, that is pretty odd.
Can you start your other apps and check if the behaviour of subtler changes?
#19 Updated by Lukas Schreiner over 12 years ago
Yes it is still working.
But thats a crazy thing. In xterm i get still the same error.
In urxvt subtler is working.
#20 Updated by Christoph Kappel over 12 years ago
Did you try it in urxvt or xterm before?
#21 Updated by Lukas Schreiner over 12 years ago
Urxvt is my default terminal and thats what i've tried before.
#22 Updated by Christoph Kappel over 12 years ago
Hm, when you try it in xterm you have the same error like before? Wow that is so odd.
#23 Updated by Lukas Schreiner over 12 years ago
Yes.
And if it would actually working under xterm where it is not working under urxvt it would be really funny :)
#24 Updated by Christoph Kappel over 12 years ago
And when you start your system like you normally do it still doesn't work neither in xterm nor in urxvt, right?
#25 Updated by Lukas Schreiner over 12 years ago
So, here i'm again.
When I start my system like i do it normally it still doesn't work.
Error still in urxvt and xterm.
The starting order of applications and subtle makes no different (i tried to start subtle first and then the rest).
I'm using the fish shell as default shell. Maybe this can be the problem? I will try again with the bash shell as default.
#26 Updated by Christoph Kappel over 12 years ago
And that doesn't happen in urxvt, when you just start subtle and your urxvt. Don't think that fish is related to that problem, it just reads input and execs binaries.
#27 Updated by Lukas Schreiner over 12 years ago
You will laugh...
I've changed my default shell to bash. I've restarted and now i have the same thing as i had with the manual call:
urxvt works - xterm does not work :)
#28 Updated by Christoph Kappel over 12 years ago
That is pretty weird. Your init shellscript uses fish as well? And which shells do both your terms use, when you run subtler?
#29 Updated by Lukas Schreiner over 12 years ago
My init scripts runs all with bash.
But the fist su which runs the shell scripts is running with fish shell.
That should be no problem in future. I can fix it with a parameter.
Both are using bash now when i start subtler at the moment.
#30 Updated by Christoph Kappel over 12 years ago
Still I don't understand how a shell can change the data subtler wants to fish, except it does something nasty with the DISPLAY variable.
BTW: You might want to join #subtle on freenode, comments in a ticket are a really bad chat. ;)
#31 Updated by Christoph Kappel over 12 years ago
- Status changed from Unconfirmed to Not a bug