taskwarrior-web
taskwarrior-web copied to clipboard
Incompatibility with version 2.5.1
I am trying to run taskwarrior-web with the newest stable version of taskwarrior (2.5.1 (Released 2016-02-24) but it is not working. It does not show any task ("Congrats, you're in the clear!") and when I start I get:
"[2016-10-25 18:08:43 +0200] Starting 'taskwarrior-web'... [2016-10-25 18:08:43 +0200] trying port 5678... Couldn't get a file descriptor referring to the console"
I can create tasks through the web interface but they are not shown there (in the console, yes).
Thank you
+1 on this error too
+1 I get the same error. Any idea what's causing it?
+1
$ task --version
2.5.1
$ task-web --version
rack 1.3
sinatra 2.0.3
vegas 0.1.11
$ task-web
[2018-07-03 12:51:12 +0200] Starting 'taskwarrior-web'...
[2018-07-03 12:51:12 +0200] trying port 5678...
Couldn't get a file descriptor referring to the console
On which OS it's happening?
Newest Ubuntu with latest updates
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
Thanks! I'll check it on Ubuntu and try to figure out what's going on.
Couldn't reproduce the issue in Ubuntu 18.04 running as a Docker container. Additional info could help:
- ruby version
- all gems versions
- Run
strace -yyf -o out.txt task-web
and attach the output
Sure thing!
$ ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
$ gem --version
2.7.6
$ gem list --local
*** LOCAL GEMS ***
activesupport (3.2.22.5)
bigdecimal (default: 1.3.4)
blockenspiel (0.5.0)
cmath (default: 1.0.0)
concurrent-ruby (1.0.5)
csv (default: 1.0.0)
date (default: 1.0.0)
dbm (default: 1.0.0)
did_you_mean (1.2.0)
etc (default: 1.0.0)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.0.2)
gdbm (default: 2.0.0)
i18n (0.9.5)
io-console (default: 0.4.6)
ipaddr (default: 1.2.0)
json (default: 2.1.0, 1.8.6)
minitest (5.10.3)
multi_json (1.13.1)
mustermann (1.0.2)
net-telnet (0.1.1)
openssl (default: 2.1.0)
parseconfig (1.0.8)
power_assert (0.2.7)
psych (default: 3.0.2)
rack (2.0.5)
rack-flash3 (1.0.5)
rack-protection (2.0.3)
rake (12.3.1)
rdoc (default: 6.0.1)
rinku (2.0.4)
scanf (default: 1.0.0)
sdbm (default: 1.0.0)
simple-navigation (4.0.5)
sinatra (2.0.3)
sinatra-simple-navigation (4.1.0)
stringio (default: 0.0.1)
strscan (default: 1.0.0)
taskwarrior-web (1.1.12)
test-unit (3.2.5)
tilt (2.0.8)
vegas (0.1.11)
versionomy (0.5.0)
webrick (default: 1.4.2)
zlib (default: 1.0.0)
Anything else? Maybe some port allocation going wrong?
Great! I'll check the info. For now it looks like some permissions problem, but I'm not sure.
Okay, I've got an idea. Please, try to run it as follows:
$ task-web --no-launch
My theory: task-web
tries to open a web page after a launch. And instead of using xdg-open
utility on Linux, it's trying to use open
as on Mac OS. But there is no open
or xdg-open
executables in the dockerized Ubuntu, so I can't reproduce.
So, if there is no error on task-web --no-launch
, you can get the error with
$ open http://0.0.0.0:5678
Just to confirm the theory.
You are right. open http://0.0.0.0:5678
results in the above error message and task-web
itself does work. Many thanks!
Cool, thanks for the help with catching this bug. Now we can fix it.
I'll leave the issue opened until then.
Or we can't fix it 😁 @cilynx The core issue is in the Vegas wrapper: quirkey/vegas#15. The project is not maintained for 7 years already. That's why we need to decide what to do with this wrapper thing.