Sorry for very basic question - but, I think I have vibe installed correctly (although I could not use dub because I had issues with libcurl on my ubuntu). I can, for example do:

$ ./run-example.sh json

and will see some json written. But when I run those that involve web stuff I don't think it is working (or I don't know what to look for). For example, if I run the 'diet' example, I see one Failed to listen on 0.0.0.0:8080, which I think is ok since it keeps going and prints Running event loop.... Not sure what to do then. I expected to enter "0.0.0.0:8080" in the browser and see something, but all I see is the error below.

400 - Bad Request

Bad Request

Internal error information:
core.exception.RangeError@vibe.utils.array(92): Range violation
----------------
/tmp/.rdmd-1000/rdmd-app.d-D171C94ECB54675B9965F1B51CDCFF17/app() [0x51dc22]
/tmp/.rdmd-1000/rdmd-app.d-D171C94ECB54675B9965F1B51CDCFF17/app() [0x4fc57d]
/tmp/.rdmd-1000/rdmd-app.d-D171C94ECB54675B9965F1B51CDCFF17/app() [0x411fc0]
...

Well, actually - in trying to troubleshoot I tracked down this file and added an import for core log, and a couple log infos around where the exception was, so the line 92 is this:

    m_remaining[0 .. arr.length] = arr;

which will not match exactly to original. Anyway, I put two loginfo's before and after grow:

        logInfo(text("before grow remaining len:", m_remaining.length, " vs arr.length: ", arr.length, ' ', m_remaining.length < arr.length ));

and the results:

 ./run-example.sh diet
/usr/local/bin/vibe: 21: /usr/local/bin/vibe: cannot create /dev/null: Permission denied
/usr/local/bin/vibe: 22: /usr/local/bin/vibe: cannot create /dev/null: Permission denied
Checking dependencies in '/home/dbdavidson/stage/vibe.d/examples/diet'
Compiling diet template 'diet.dt' (compat)...
Compiling diet template 'diet.dt' (compat)...
[7FD80FCFC0D8:00000000 INF] Listening for HTTP requests on :::8080
[7FD80FCFC0D8:00000000 WRN] Failed to listen on 0.0.0.0:8080
[7FD80FCFC0D8:00000000 INF] Running event loop...
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:64 vs arr.length: 2 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:64 vs arr.length: 2 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:62 vs arr.length: 12 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:62 vs arr.length: 12 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:64 vs arr.length: 20 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:64 vs arr.length: 20 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:64 vs arr.length: 22 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:64 vs arr.length: 22 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:64 vs arr.length: 24 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:64 vs arr.length: 24 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:64 vs arr.length: 71 true
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:64 vs arr.length: 71 true
[7FD80FCFC0D8:7FD80FCFC1D8 INF] before grow remaining len:0 vs arr.length: 0 false
[7FD80FCFC0D8:7FD80FCFC1D8 INF] after grow remaining len:0 vs arr.length: 0 false
...

So for some reason, it looks like grow did not do its thing when it hit 71?

Thanks
Dan