Hello Marcus, So, the Waterfall sink is a custom plot that the Bokeh does not provide by default. Because of this error and the warning, I think Bokeh v0.12.6 and the current recent version has significant API changes. I may need to look at it in detail. Is it fine if I look at it in this weekend?
For now, it would suggest you downgrade the Bokeh to version 0.12.6, and NodeJS version to v6.6? Those were the versions I tested everything with. Let me know if that solves the issue (temporarily). If you don't Thanks. Regards, Kartik Patel On Tue, Feb 27, 2018 at 10:49 AM, Marcus D. Leech <[email protected]> wrote: > On 02/27/2018 02:13 AM, Kartik Patel wrote: > > Hello Marcus, > > During my testing, I think, I set the time.sleep function by try and > error. I didn't check for different PC. I will update it after testing it > on my too slow AWS may be. > > Also, this resize issue is because Bokeh stopped the support of resize > feature. If you can, use Bokeh V0.12.6, and tornado v4.4. I have to Port > the code to recent Bokeh version. > > Thanks for the extensive verifications. I will try to update the basic > suggestions this weekend probably. > > > > On Tue, Feb 27, 2018, 1:06 AM Marcus D. Leech <[email protected]> wrote: > >> On 02/27/2018 01:25 AM, Marcus D. Leech wrote: >> >> On 02/27/2018 12:15 AM, Kartik Patel wrote: >> >> Hello Marcus, >> >> Just for starters, make sure you have v3.7.12 of GNU Radio. In >> particular, your GR should contain the commit `*3c989f9`.* Also, make >> sure you select Bokeh GUI instead of QT GUI in *Generate Options* field >> in *Options* block. For Bokeh GUI we have a different `main()` function >> template that has necessary procedure to start the server and the stream. >> >> Also, thank you very much for the suggestions about the vector plotter. >> In addition to the vector plotter, the Histogram plotter and BER curve are >> also in pipeline. I am too busy with several deadlines and projects. But I >> will try to incorporate the things as soon as possible (maybe in summer). >> Sorry for the loong promise! >> >> Let me know if you still have trouble working with the module. >> >> Thanks. >> >> Regards, >> Kartik Patel >> >> Thanks for the very-prompt response. I know that you're probably very >> busy. >> >> I managed to get to the point of GRC generating the correct startup code, >> with the "Bokeh GUI". My repo was up-to-date, it's just that I hadn't >> actually built it. Too many distractions... >> >> But when I got to start now, I get: >> >> Traceback (most recent call last): >> File "./top_block.py", line 153, in <module> >> main() >> File "./top_block.py", line 136, in main >> url = "http://localhost:" <http://localhost:> + port + "/bokehgui") >> File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, >> in wrapper >> return obj(*args, **kw) >> File "/usr/lib/python2.7/site-packages/bokeh/client/session.py", line >> 161, in push_session >> session.push(document) >> File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, >> in wrapper >> return obj(*args, **kw) >> File "/usr/lib/python2.7/site-packages/bokeh/client/session.py", line >> 370, in push >> raise IOError("Cannot push session document because we failed to >> connect to the server (to start the server, try the 'bokeh serve' command)") >> IOError: Cannot push session document because we failed to connect to the >> server (to start the server, try the 'bokeh serve' command) >> >> I can get past this error by setting a longer "time.sleep()" in the >> generated "main" -- I guess it takes a bit for the server to come up to a >> state where it can accept connections. >> >> But now: >> >> File "./top_block.py", line 140, in main >> tb = top_block_cls(doc) >> File "./top_block.py", line 65, in __init__ >> legend_list = legend_list) >> File "/usr/local/lib64/python2.7/site-packages/bokehgui/freq_sink_f.py", >> line 63, in initialize >> active_scroll = 'ywheel_zoom', ) >> File "/usr/lib/python2.7/site-packages/bokeh/plotting/figure.py", line >> 793, in figure >> return Figure(**kwargs) >> File "/usr/lib/python2.7/site-packages/bokeh/plotting/figure.py", line >> 149, in __init__ >> tool_objs, tool_map = _process_tools_arg(self, opts.tools) >> File "/usr/lib/python2.7/site-packages/bokeh/plotting/helpers.py", >> line 530, in _process_tools_arg >> tool_obj = _tool_from_string(tool) >> File "/usr/lib/python2.7/site-packages/bokeh/plotting/helpers.py", >> line 467, in _tool_from_string >> raise ValueError("unexpected tool name '%s', %s tools are %s" % >> (name, text, nice_join(matches))) >> ValueError: unexpected tool name 'resize', similar tools are reset >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > OK, so, I removed the reference to 'resize' in the default tools list. > Now, it's complaining about nodejs: > > [mleech@laptop ~]$ ./top_block.py > Port is set to 5007 > > ['bokeh', 'serve', '--port', '5007', '--allow-websocket-origin=*', > '/usr/local/lib64/python2.7/site-packages/bokehgui/plots/bokehgui.py'] > Port in main is 5007 > Pid is 14986 > 2018-02-27 11:47:54,580 Starting Bokeh server version 0.12.14 (running on > Tornado 4.5.3) > 2018-02-27 11:47:54,583 Host wildcard '*' will allow connections > originating from multiple (or possibly all) hostnames or IPs. Use > non-wildcard values to restrict access explicitly > 2018-02-27 11:47:54,594 Bokeh app running at: > http://localhost:5007/bokehgui > 2018-02-27 11:47:54,594 Starting Bokeh server with process id: 14986 > 2018-02-27 11:47:55,039 101 GET /bokehgui/ws?bokeh-protocol-ve > rsion=1.0&bokeh-session-id=top_block (127.0.0.1) 2.38ms > 2018-02-27 11:47:55,039 WebSocket connection opened > 2018-02-27 11:47:55,045 ServerConnection created > INFO: Audio sink arch: alsa > /usr/lib/python2.7/site-packages/bokeh/client/session.py:316: > UserWarning: > > !!!! PLEASE NOTE !!!! > > The use of `session.loop_until_closed` and `push_session` to run Bokeh > application code outside a Bokeh server is **HIGHLY DISCOURAGED** for any > real > use. > > Running application code outside a Bokeh server with bokeh.client in this > way > has (and always will have) several intrinsic drawbacks: > > * Fast binary array transport is NOT available! Base64 fallback is much > slower > * All network traffic is DOUBLED due to extra hop between client and server > * Server *and* client process must be running at ALL TIMES for callbacks > to work > * App code run outside the Bokeh server is NOT SCALABLE behind a load > balancer > > The bokeh.client API is recommended to use ONLY for testing, or for > customizing > individual sessions running in a full Bokeh server, before passing on to > viewers. > > For information about different ways of running apps in a Bokeh server, > see: > > http://bokeh.pydata.org/en/latest/docs/user_guide/server.html > > warnings.warn(_BOKEH_CLIENT_APP_WARNING_FULL) > 2018-02-27 11:48:02,506 Uncaught exception GET > /bokehgui?bokeh-session-id=top_block (127.0.0.1) > HTTPServerRequest(protocol='http', host='localhost:5006', method='GET', > uri='/bokehgui?bokeh-session-id=top_block', version='HTTP/1.1', > remote_ip='127.0.0.1', headers={'Accept-Language': 'en-US,en;q=0.5', > 'Accept-Encoding': 'gzip, deflate', 'Host': 'localhost:5006', 'Accept': > 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', > 'User-Agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) > Gecko/20100101 Firefox/38.0', 'Connection': 'keep-alive'}) > Traceback (most recent call last): > File "/usr/lib64/python2.7/site-packages/tornado/web.py", line 1512, in > _execute > result = yield result > File "/usr/lib64/python2.7/site-packages/tornado/gen.py", line 1055, in > run > value = future.result() > File "/usr/lib64/python2.7/site-packages/tornado/concurrent.py", line > 238, in result > raise_exc_info(self._exc_info) > File "/usr/lib64/python2.7/site-packages/tornado/gen.py", line 1069, in > run > yielded = self.gen.send(value) > File "/usr/lib/python2.7/site-packages/bokeh/server/views/doc_handler.py", > line 26, in get > template_variables=session.document.template_variables) > File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in > wrapper > return obj(*args, **kw) > File "/usr/lib/python2.7/site-packages/bokeh/embed/server.py", line > 231, in server_html_page_for_session > return html_page_for_render_items(bundle, {}, render_items, title, > template=template, template_variables=template_variables) > File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in > wrapper > return obj(*args, **kw) > File "/usr/lib/python2.7/site-packages/bokeh/embed/util.py", line 147, > in html_page_for_render_items > script = bundle_all_models() > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 514, in bundle_all_models > _bundle_cache[key] = bundle = > bundle_models(Model.model_class_reverse_map.values()) > or "" > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 400, in bundle_models > compiled = nodejs_compile(impl.code, lang=impl.lang, file=impl.file) > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 189, in nodejs_compile > output = _run_nodejs([compilejs_script], dict(code=code, lang=lang, > file=file)) > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 168, in _run_nodejs > return _run(_nodejs_path(), argv, input) > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 149, in _nodejs_path > _nodejs = _detect_nodejs() > File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line > 141, in _detect_nodejs > '("conda install nodejs" or follow https://nodejs.org/en/download/)') > RuntimeError: node.js v6.10.0 or higher is needed to allow compilation of > custom models ("conda install nodejs" or follow > https://nodejs.org/en/download/) > 2018-02-27 11:48:02,510 500 GET /bokehgui?bokeh-session-id=top_block > (127.0.0.1) 71.08ms > > >
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
