theunraveler / taskwarrior-web

A web interface for the Taskwarrior todo application. Because being a neckbeard is only fun sometimes.
http://theunraveler.github.com/taskwarrior-web
MIT License
527 stars 63 forks source link

task-web fails to start due to Versionomy parse error #37

Closed mgrecar closed 11 years ago

mgrecar commented 11 years ago

When I execute task-web, the command runs and starts a process, but indicates: Couldn't get a file descriptor referring to the console

When I pull up localhost:5678 in FireFox, I get an error screen indicating the following error:

Versionomy::Errors::ParseError at / Extra characters: "\nConfiguration override rc.xterm.title:no\nConfiguration override rc.color:off\nConfiguration override rc.verbose:no"

file: delimiter.rb
location: parse
line: 199

Steps to reproduce:

  1. Execute 'task-web' from the terminal.
  2. Navigate to existing open web browser and enter 'localhost:5678' in the address bar

Output of task _version: 2.0.0

Output of task show:

Config Variable Value


_forcecolor no abbreviation.minimum 2 active.indicator * alias._query export alias.burndown burndown.weekly alias.ghistory ghistory.monthly alias.history history.monthly alias.rm delete annotations full avoidlastcolumn no bulk 3 burndown.bias 0.666 calendar.details sparse calendar.details.report list calendar.holidays none calendar.legend yes calendar.offset no calendar.offset.value -1 color off color.active rgb555 on rgb410 color.alternate on color233 color.blocked white on color8 color.burndown.done color0 on rgb050 color.burndown.pending color0 on rgb500 color.burndown.started color0 on rgb550 color.calendar.due color0 on color1 color.calendar.due.today color15 on color1 color.calendar.holiday color0 on color11 color.calendar.overdue color0 on color9 color.calendar.today color15 on rgb013 color.calendar.weekend color235 color.calendar.weeknumber rgb013 color.debug color3 color.due color1 color.due.today rgb400 color.footnote color3 color.header color3 color.history.add color0 on rgb500 color.history.delete color0 on rgb550 color.history.done color0 on rgb050 color.overdue color9 color.pri.H rgb255 color.pri.L rgb245 color.pri.M rgb250 color.pri.none color.recurring rgb013 color.summary.background white on color0 color.summary.bar black on rgb141 color.sync.added rgb005 color.sync.changed rgb550 color.sync.rejected rgb500 color.tagged rgb031 color.undo.after color2 color.undo.before color1 column.padding 1 complete.all.projects no complete.all.tags no confirmation yes data.location /home/grecar/.task dateformat m/d/Y dateformat.annotation m/d/Y dateformat.holiday YMD dateformat.report m/d/Y debug no default.command next defaultheight 24 defaultwidth 80 dependency.confirmation on dependency.indicator D dependency.reminder on detection off displayweeknumber yes dom on due 7 exit.on.missing.db no expressions on extensions off fontunderline yes gc on hyphenate on indent.annotation 2 indent.report 0 journal.info on journal.time no journal.time.start.annotation Started task journal.time.stop.annotation Stopped task json.array off list.all.projects no list.all.tags no locale locking on merge.autopush ask nag You have more urgent tasks. patterns on recurrence.indicator R recurrence.limit 1 regex no report.active.columns id,project,priority,due,start.active,entry.age,- description report.active.description Lists active tasks report.active.filter status:pending start.any: report.active.labels ID,Project,Pri,Due,Active,Age,Description report.active.sort due+,priority-,project+,description+ report.all.columns id,status,project,priority,due,end,start.active- ,entry.age,description report.all.description Lists all pending and completed tasks report.all.filter status.not:deleted report.all.labels ID,Status,Project,Pri,Due,Completed,Active,Age,- Description report.all.sort project+,due+,end+,priority-,start-,description+ report.blocked.columns id,depends,project,priority,due,start.active,en- try.age,description report.blocked.description Lists all blocked tasks report.blocked.filter status:pending depends.any: report.blocked.labels ID,Deps,Project,Pri,Due,Active,Age,Description report.blocked.sort due+,priority-,start-,project+,description+ report.completed.columns end,project,priority,entry.age,description,uuid report.completed.description Lists completed tasks report.completed.filter status:completed report.completed.labels Complete,Project,Pri,Age,Description,UUID report.completed.sort end+,priority-,project+,description+ report.list.columns id,project,priority,due,start.active,entry.age,- description report.list.description Lists all pending tasks report.list.filter status:pending report.list.labels ID,Project,Pri,Due,Active,Age,Description report.list.sort due+,priority-,start-,project+,description+ report.long.columns id,project,priority,entry,start,due,recur,due.c- ountdown,entry.age,depends,tags,description report.long.description Lists all pending tasks report.long.filter status:pending report.long.labels ID,Project,Pri,Added,Started,Due,Recur,Countdow- n,Age,Deps,Tags,Description report.long.sort due+,priority-,project+,description+ report.ls.columns id,project,priority,description report.ls.description Minimal listing of all pending tasks report.ls.filter status:pending report.ls.labels ID,Project,Pri,Description report.ls.sort priority-,project+,description+ report.minimal.columns id,project,description.truncated report.minimal.description Minimal listing of all pending tasks report.minimal.filter status:pending report.minimal.labels ID,Project,Description report.minimal.sort project+,description+ report.newest.columns id,project,priority,due,start.active,entry.age,- description report.newest.description Shows the newest tasks report.newest.filter status:pending limit:10 report.newest.labels ID,Project,Pri,Due,Active,Age,Description report.newest.sort id- report.next.columns id,project,priority,due,start.active,entry.age,- urgency,description report.next.description Lists the most urgent tasks report.next.filter status:pending limit:page report.next.labels ID,Project,Pri,Due,A,Age,Urgency,Description report.next.sort urgency-,due+,priority-,start-,project+,descrip- tion+ report.oldest.columns id,project,priority,due,start.active,entry.age,- description report.oldest.description Shows the oldest tasks report.oldest.filter status:pending limit:10 report.oldest.labels ID,Project,Pri,Due,Active,Age,Description report.oldest.sort id+ report.overdue.columns id,project,priority,due,start.active,entry.age,- description report.overdue.description Lists overdue tasks report.overdue.filter status:pending due.before:now report.overdue.labels ID,Project,Pri,Due,Active,Age,Description report.overdue.sort due+,priority-,start-,project+,description+ report.recurring.columns id,project,priority,due,recur,start.active,entr- y.age,description report.recurring.description Lists recurring tasks report.recurring.filter status:pending parent.any: report.recurring.labels ID,Project,Pri,Due,Recur,Active,Age,Description report.recurring.sort due+,priority-,start-,project+,description+ report.unblocked.columns id,depends,project,priority,due,start.active,en- try.age,description report.unblocked.description Lists all unblocked tasks report.unblocked.filter status:pending depends.none: report.unblocked.labels ID,Deps,Project,Pri,Due,Active,Age,Description report.unblocked.sort due+,priority-,start-,project+,description+ report.waiting.columns id,project,priority,wait,entry.age,description report.waiting.description Lists all waiting tasks report.waiting.filter status:waiting report.waiting.labels ID,Project,Pri,Wait,Age,Description report.waiting.sort wait+,priority-,project+,description+ row.padding 0 rule.precedence.color due.today,active,blocked,overdue,due,keyword,pr- oject,tag,recurring,pri,tagged,completed,deleted search.case.sensitive yes shell.prompt task> tag.indicator + undo.style side urgency.active.coefficient 4.0 urgency.age.coefficient 2.0 urgency.age.max 365 urgency.annotations.coefficient 1.0 urgency.blocked.coefficient -5.0 urgency.blocking.coefficient 8.0 urgency.due.coefficient 12.0 urgency.next.coefficient 15.0 urgency.priority.coefficient 6.0 urgency.project.coefficient 1.0 urgency.tags.coefficient 1.0 urgency.waiting.coefficient -3.0 verbose yes weekstart Sunday xterm.title no

Some of your .taskrc variables differ from the default values.Your .taskrc file contains these unrecognized variables: annotations

Your .taskrc file contains variables that are deprecated: annotations

I'm not sure what other information would be helpful to troubleshoot, so please let me know so I can help correct it.

liancheng commented 11 years ago

Same issue. Using task 2.0.0 (once upgraded to 2.2.0, and then downgraded to 2.0.0). task show output here:

Config Variable                 Value
------------------------------- ------------------------------------------------
_forcecolor                     no
abbreviation.minimum            2
active.indicator                *
alias._query                    export
alias.burndown                  burndown.weekly
alias.ghistory                  ghistory.monthly
alias.history                   history.monthly
alias.rm                        delete
annotations                     full
avoidlastcolumn                 no
bulk                            3
burndown.bias                   0.666
calendar.details                sparse
calendar.details.report         list
calendar.holidays               none
calendar.legend                 yes
calendar.offset                 no
calendar.offset.value           -1
color                           off
color.active                    rgb555 on rgb410
color.alternate                 on color233
color.blocked                   white on color8
color.burndown.done             color0 on rgb050
color.burndown.pending          color0 on rgb500
color.burndown.started          color0 on rgb550
color.calendar.due              color0 on color1
color.calendar.due.today        color15 on color1
color.calendar.holiday          color0 on color11
color.calendar.overdue          color0 on color9
color.calendar.today            color15 on rgb013
color.calendar.weekend          color235
color.calendar.weeknumber       rgb013
color.debug                     color3
color.due                       color1
color.due.today                 rgb400
color.footnote                  color3
color.header                    color3
color.history.add               color0 on rgb500
color.history.delete            color0 on rgb550
color.history.done              color0 on rgb050
color.overdue                   color9
color.pri.H                     rgb255
color.pri.L                     rgb245
color.pri.M                     rgb250
color.pri.none
color.recurring                 rgb013
color.summary.background        white on color0
color.summary.bar               black on rgb141
color.sync.added                rgb005
color.sync.changed              rgb550
color.sync.rejected             rgb500
color.tagged                    rgb031
color.undo.after                color2
color.undo.before               color1
column.padding                  1
complete.all.projects           no
complete.all.tags               no
confirmation                    yes
data.location                   /home/lian/.task
dateformat                      m/d/Y
dateformat.annotation           m/d/Y
dateformat.holiday              YMD
dateformat.report               m/d/Y
debug                           no
default.command                 next
defaultheight                   24
defaultwidth                    80
dependency.confirmation         on
dependency.indicator            D
dependency.reminder             on
detection                       off
displayweeknumber               yes
dom                             on
due                             7
exit.on.missing.db              no
expressions                     on
extensions                      off
fontunderline                   yes
gc                              on
hyphenate                       on
indent.annotation               2
indent.report                   0
journal.info                    on
journal.time                    no
journal.time.start.annotation   Started task
journal.time.stop.annotation    Stopped task
json.array                      off
list.all.projects               no
list.all.tags                   no
locale
locking                         on
merge.autopush                  ask
nag                             You have more urgent tasks.
patterns                        on
recurrence.indicator            R
recurrence.limit                1
regex                           no
report.active.columns           id,project,priority,due,start.active,entry.age,-
                                description
report.active.description       Lists active tasks
report.active.filter            status:pending start.any:
report.active.labels            ID,Project,Pri,Due,Active,Age,Description
report.active.sort              due+,priority-,project+,description+
report.all.columns              id,status,project,priority,due,end,start.active-
                                ,entry.age,description
report.all.description          Lists all pending and completed tasks
report.all.filter               status.not:deleted
report.all.labels               ID,Status,Project,Pri,Due,Completed,Active,Age,-
                                Description
report.all.sort                 project+,due+,end+,priority-,start-,description+
report.blocked.columns          id,depends,project,priority,due,start.active,en-
                                try.age,description
report.blocked.description      Lists all blocked tasks
report.blocked.filter           status:pending depends.any:
report.blocked.labels           ID,Deps,Project,Pri,Due,Active,Age,Description
report.blocked.sort             due+,priority-,start-,project+,description+
report.completed.columns        end,project,priority,entry.age,description,uuid
report.completed.description    Lists completed tasks
report.completed.filter         status:completed
report.completed.labels         Complete,Project,Pri,Age,Description,UUID
report.completed.sort           end+,priority-,project+,description+
report.list.columns             id,project,priority,due,start.active,entry.age,-
                                description
report.list.description         Lists all pending tasks
report.list.filter              status:pending
report.list.labels              ID,Project,Pri,Due,Active,Age,Description
report.list.sort                due+,priority-,start-,project+,description+
report.long.columns             id,project,priority,entry,start,due,recur,due.c-
                                ountdown,entry.age,depends,tags,description
report.long.description         Lists all pending tasks
report.long.filter              status:pending
report.long.labels              ID,Project,Pri,Added,Started,Due,Recur,Countdow-
                                n,Age,Deps,Tags,Description
report.long.sort                due+,priority-,project+,description+
report.ls.columns               id,project,priority,description
report.ls.description           Minimal listing of all pending tasks
report.ls.filter                status:pending
report.ls.labels                ID,Project,Pri,Description
report.ls.sort                  priority-,project+,description+
report.minimal.columns          id,project,description.truncated
report.minimal.description      Minimal listing of all pending tasks
report.minimal.filter           status:pending
report.minimal.labels           ID,Project,Description
report.minimal.sort             project+,description+
report.newest.columns           id,project,priority,due,start.active,entry.age,-
                                description
report.newest.description       Shows the newest tasks
report.newest.filter            status:pending limit:10
report.newest.labels            ID,Project,Pri,Due,Active,Age,Description
report.newest.sort              id-
report.next.columns             id,project,priority,due,start.active,entry.age,-
                                urgency,description
report.next.description         Lists the most urgent tasks
report.next.filter              status:pending limit:page
report.next.labels              ID,Project,Pri,Due,A,Age,Urgency,Description
report.next.sort                urgency-,due+,priority-,start-,project+,descrip-
                                tion+
report.oldest.columns           id,project,priority,due,start.active,entry.age,-
                                description
report.oldest.description       Shows the oldest tasks
report.oldest.filter            status:pending limit:10
report.oldest.labels            ID,Project,Pri,Due,Active,Age,Description
report.oldest.sort              id+
report.overdue.columns          id,project,priority,due,start.active,entry.age,-
                                description
report.overdue.description      Lists overdue tasks
report.overdue.filter           status:pending due.before:now
report.overdue.labels           ID,Project,Pri,Due,Active,Age,Description
report.overdue.sort             due+,priority-,start-,project+,description+
report.recurring.columns        id,project,priority,due,recur,start.active,entr-
                                y.age,description
report.recurring.description    Lists recurring tasks
report.recurring.filter         status:pending parent.any:
report.recurring.labels         ID,Project,Pri,Due,Recur,Active,Age,Description
report.recurring.sort           due+,priority-,start-,project+,description+
report.unblocked.columns        id,depends,project,priority,due,start.active,en-
                                try.age,description
report.unblocked.description    Lists all unblocked tasks
report.unblocked.filter         status:pending depends.none:
report.unblocked.labels         ID,Deps,Project,Pri,Due,Active,Age,Description
report.unblocked.sort           due+,priority-,start-,project+,description+
report.waiting.columns          id,project,priority,wait,entry.age,description
report.waiting.description      Lists all waiting tasks
report.waiting.filter           status:waiting
report.waiting.labels           ID,Project,Pri,Wait,Age,Description
report.waiting.sort             wait+,priority-,project+,description+
row.padding                     0
rule.precedence.color           due.today,active,blocked,overdue,due,keyword,pr-
                                oject,tag,recurring,pri,tagged,completed,deleted
search.case.sensitive           yes
shell.prompt                    task>
tag.indicator                   +
undo.style                      side
urgency.active.coefficient      4.0
urgency.age.coefficient         2.0
urgency.age.max                 365
urgency.annotations.coefficient 1.0
urgency.blocked.coefficient     -5.0
urgency.blocking.coefficient    8.0
urgency.due.coefficient         12.0
urgency.next.coefficient        15.0
urgency.priority.coefficient    6.0
urgency.project.coefficient     1.0
urgency.tags.coefficient        1.0
urgency.waiting.coefficient     -3.0
verbose                         yes
weekstart                       Sunday
xterm.title                     no

Some of your .taskrc variables differ from the default values.Your .taskrc file contains these unrecognized variables:
  annotations

Your .taskrc file contains variables that are deprecated:
  annotations
liancheng commented 11 years ago

Problem solved.

Short answer

  1. My TaskWarrior is built from my local git repository.
  2. Temporarily move .git/index to /tmp and rebuild TaskWarrior solves all the problems.

Long answer

While building TaskWarrior, once CMake finds out that .git/index exists, it will set the HAVE_COMMIT macro. See CMakeList.txt, line 33 to 42:

message ("-- Looking for SHA1 references")
if (EXISTS ${CMAKE_SOURCE_DIR}/.git/index)
  set (HAVE_COMMIT true)
  execute_process (COMMAND git log -1 --pretty=format:%h
                   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
                   OUTPUT_VARIABLE COMMIT)
  configure_file ( ${CMAKE_SOURCE_DIR}/commit.h.in
                   ${CMAKE_SOURCE_DIR}/commit.h)
  message ("-- Found SHA1 reference: ${COMMIT}")
endif (EXISTS ${CMAKE_SOURCE_DIR}/.git/index)

This will cause the task _version to print the SHA-1 references rather than the semantic version. See src/commands/CmdVersion.cpp, line 131 to 140:

int CmdCompletionVersion::execute (std::string& output)
{
#ifdef HAVE_COMMIT
  output = COMMIT;
#else
  output = VERSION;
#endif
  output += "\n";
  return 0;
}

So, temporarily move .git/index to /tmp and rebuild TaskWarrior solves all the problems.

mattboehm commented 11 years ago

When building from source, git _version shows the hash, but git --version shows the version number as expected. Is there a reason that git --version can't be used?

theunraveler commented 11 years ago

git _version isn't a valid git command. Perhaps you mean task _version? For what it's worth, taskwarrior-web hasn't been tested against task built from source.