On 02/27/2018 03:41 PM, Kartik Patel wrote:
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
Take your time, dude!

None of this is mission-critical at the moment, I'm just exploring web-based visualization options for future work.

I was able to get nodeJS upgraded and now things "work" (after I manually removed the "resize" entry from utils.py).




On Tue, Feb 27, 2018 at 10:49 AM, Marcus D. Leech <[email protected] <mailto:[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]
    <mailto:[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] <mailto:[email protected]>
        https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
        <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-version=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
    <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/ <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/ <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

Reply via email to