RuntimeError: Internal: libdevice not found at ./libdevice.10.bc

I install GPU version JAX and I encounter the following error when I first run a program with the AD support of JAX.
The following is the error info.
2020-10-05 16:30:40.039587: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:70] Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice. This may result in compilation or runtime failures, if the program we try to run uses routines from libdevice.
2020-10-05 16:30:40.039604: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:71] Searched for CUDA in the following directories:
2020-10-05 16:30:40.039608: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   ./cuda_sdk_lib
2020-10-05 16:30:40.039611: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   /usr/local/cuda-10.1
2020-10-05 16:30:40.039613: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   .
2020-10-05 16:30:40.039616: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:76] You can choose the search directory by setting xla_gpu_cuda_data_dir in HloModule's DebugOptions.  For most apps, setting the environment variable XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
i: 0
2020-10-05 16:30:40.769544: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc:320] libdevice is required by this HLO module but was not found at ./libdevice.10.bc
Traceback (most recent call last):
  File "adpath.py", line 252, in <module>
...........
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/numpy/lax_numpy.py", line 347, in fn
    return lax_fn(x)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/lax/lax.py", line 285, in sqrt
    return sqrt_p.bind(x)
jax.traceback_util.FilteredStackTrace: RuntimeError: Internal: libdevice not found at ./libdevice.10.bc
The stack trace above excludes JAX-internal frames.
The following is the original exception that occurred, unmodified.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "adpath.py", line 252, in <module>
.......
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/api.py", line 900, in jacfun
    y, jac = vmap(pushfwd, out_axes=(None, -1))(_std_basis(dyn_args))
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/traceback_util.py", line 137, in reraise_with_filtered_traceback
    return fun(*args, **kwargs)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/api.py", line 1217, in batched_fun
    out_flat = batching.batch(flat_fun, args_flat, in_axes_flat,
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/interpreters/batching.py", line 36, in batch
    return batched_fun.call_wrapped(*in_vals)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/linear_util.py", line 151, in call_wrapped
    ans = self.f(*args, **dict(self.params, **kwargs))
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/api.py", line 1681, in _jvp
    out_primals, out_tangents = ad.jvp(flat_fun).call_wrapped(ps_flat, ts_flat)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/linear_util.py", line 151, in call_wrapped
    ans = self.f(*args, **dict(self.params, **kwargs))
  ..........
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/numpy/lax_numpy.py", line 347, in fn
    return lax_fn(x)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/lax/lax.py", line 285, in sqrt
    return sqrt_p.bind(x)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/core.py", line 266, in bind
    out = top_trace.process_primitive(self, tracers, params)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/core.py", line 574, in process_primitive
    return primitive.impl(*tracers, **params)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/interpreters/xla.py", line 224, in apply_primitive
    compiled_fun = xla_primitive_callable(prim, *unsafe_map(arg_spec, args), **params)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/interpreters/xla.py", line 264, in xla_primitive_callable
    compiled = backend_compile(backend, built_c, options)
  File "/home/tie/anaconda3/lib/python3.8/site-packages/jax/interpreters/xla.py", line 325, in backend_compile
    return backend.compile(built_c, compile_options=options)
RuntimeError: Internal: libdevice not found at ./libdevice.10.bc
====================================================================================

Maybe I don't install the correct CUDA version. I don't know. Can anyone help me figure it out?

Check out the instructions near the bottom of https://github.com/google/jax#pip-installation, starting with "Note that some GPU functionality expects the CUDA installation to be at /usr/local/cuda-X.X". Do any of the suggestions there help?

I tried to create a symlink,
sudo ln -s /path/to/cuda /usr/local/cuda-X.X
And it still give the above error info.

sudo ln -s /usr/lib/cuda /usr/local/cuda-10.1
This actually solves my problem. Thanks very much @skye

Thanks for letting us know!

If you are not able to ln -s your cuda (for example because public cluster permissions), you always can set XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/lib/cuda before each command you need to use cuda:
XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/lib/cuda python3 your_script_with_cuda.py

Thank you very much for that post.

@mvxxx thanks, worked for tensorflow as well!

@mvxxx thanks, worked for tensorflow as well!

I have a lambdalabs machine, and when I try to local where cuda is, I get the following
whereis -b cuda cuda: /usr/include/cuda.h /usr/include/cuda /usr/local/cuda011.1
The last one shows up because I tried to follow some of the online instructions and made an error along the way.
Given that this is where my cuda is, I am not sure how to proceed.
Any help would be appreciated

In case it's helpful for anyone: I just struggled with this on my university's managed cluster. I set the XLA_FLAGS environment variable, but to no avail. I wasn't able to make the symlink to /usr/local/cuda-11.1 suggested as I don't have admin rights. However, I noticed that JAX reported:
2021-05-28 14:08:11.947002: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:71] Searched for CUDA in the following directories:
2021-05-28 14:08:11.947013: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   ./cuda_sdk_lib
2021-05-28 14:08:11.947021: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   /usr/local/cuda-11.1
2021-05-28 14:08:11.947028: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:74]   .

So I symlinked the CUDA directory to ./cuda_sdk_lib, and this did the trick! Admittedly it's not the neatest solution, as I will have to make new symlinks whenever I change directories, but for me it's a workaround I can live with. Just posting in case anyone else finds it helpful!

How would one solve this on colab?

Nope, doing export XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda does not work on Ubuntu 22.04 with CUDA 11.2 and Tensorflow 2.11.
Instead, one gets this error:
2022-12-02 21:02:18.029083: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at xla_ops.cc:446 : INTERNAL: libdevice not found at ./libdevice.10.bc
Traceback (most recent call last):
....
  File "/home/sbrl/.local/lib/python3.10/site-packages/tensorflow/python/eager/execute.py", line 52, in quick_execute
    tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
tensorflow.python.framework.errors_impl.InternalError: Graph execution error:
.....
    File "/home/sbrl/.local/lib/python3.10/site-packages/keras/optimizers/optimizer_experimental/optimizer.py", line 1216, in _distributed_apply_gradients_fn
      distribution.extended.update(
    File "/home/sbrl/.local/lib/python3.10/site-packages/keras/optimizers/optimizer_experimental/optimizer.py", line 1211, in apply_grad_to_update_var
      return self._update_step_xla(grad, var, id(self._var_key(var)))
Node: 'StatefulPartitionedCall_409'
libdevice not found at ./libdevice.10.bc
	 [[{{node StatefulPartitionedCall_409}}]] [Op:__inference_train_function_357445]

@sbrl That's a TensorFlow issue, not a JAX one, so I suggest opening a bug on the TensorFlow github.

still stuck:
1

sudo ln -s /opt/cuda /usr/local/cuda

Epoch 1/200

2023-01-19 14:07:32.719434: W tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc:326] libdevice is required by this HLO module but was not found at ./libdevice.10.bc
2023-01-19 14:07:32.719780: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at xla_ops.cc:446 : INTERNAL: libdevice not found at ./libdevice.10.bc
2023-01-19 14:07:32.734790: W tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc:326] libdevice is required by this HLO module but was not found at ./libdevice.10.bc
2023-01-19 14:07:32.735059: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at xla_ops.cc:446 : INTERNAL: libdevice not found at ./libdevice.10.bc

---------------------------------------------------------------------------
InternalError                             Traceback (most recent call last)
Cell In[131], line 2
      1 #training the model
----> 2 train = model.fit(x_train,y_train,epochs=200)

File ~/.local/lib/python3.10/site-packages/keras/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)
     67     filtered_tb = _process_traceback_frames(e.__traceback__)
     68     # To get the full stack trace, call:
     69     # `tf.debugging.disable_traceback_filtering()`
---> 70     raise e.with_traceback(filtered_tb) from None
     71 finally:
     72     del filtered_tb

File ~/.local/lib/python3.10/site-packages/tensorflow/python/eager/execute.py:52, in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     50 try:
     51   ctx.ensure_initialized()
---> 52   tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
     53                                       inputs, attrs, num_outputs)
     54 except core._NotOkStatusException as e:
     55   if name is not None:

InternalError: Graph execution error:

Detected at node 'StatefulPartitionedCall_5' defined at (most recent call last):
    File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
      return _run_code(code, main_globals, None,
    File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
      exec(code, run_globals)
    File "/usr/lib/python3.10/site-packages/ipykernel_launcher.py", line 17, in <module>
      app.launch_new_instance()
    File "/usr/lib/python3.10/site-packages/traitlets/config/application.py", line 1041, in launch_instance
      app.start()
    File "/usr/lib/python3.10/site-packages/ipykernel/kernelapp.py", line 724, in start
      self.io_loop.start()
    File "/usr/lib/python3.10/site-packages/tornado/platform/asyncio.py", line 215, in start
      self.asyncio_loop.run_forever()
    File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever
      self._run_once()
    File "/usr/lib/python3.10/asyncio/base_events.py", line 1906, in _run_once
      handle._run()
    File "/usr/lib/python3.10/asyncio/events.py", line 80, in _run
      self._context.run(self._callback, *self._args)
    File "/usr/lib/python3.10/site-packages/ipykernel/kernelbase.py", line 512, in dispatch_queue
      await self.process_one()
    File "/usr/lib/python3.10/site-packages/ipykernel/kernelbase.py", line 501, in process_one
      await dispatch(*args)
    File "/usr/lib/python3.10/site-packages/ipykernel/kernelbase.py", line 408, in dispatch_shell
      await result
    File "/usr/lib/python3.10/site-packages/ipykernel/kernelbase.py", line 731, in execute_request
      reply_content = await reply_content
    File "/usr/lib/python3.10/site-packages/ipykernel/ipkernel.py", line 417, in do_execute
      res = shell.run_cell(
    File "/usr/lib/python3.10/site-packages/ipykernel/zmqshell.py", line 540, in run_cell
      return super().run_cell(*args, **kwargs)
    File "/usr/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 2945, in run_cell
      result = self._run_cell(
    File "/usr/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3000, in _run_cell
      return runner(coro)
    File "/usr/lib/python3.10/site-packages/IPython/core/async_helpers.py", line 129, in _pseudo_sync_runner
      coro.send(None)
    File "/usr/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3203, in run_cell_async
      has_raised = await self.run_ast_nodes(code_ast.body, cell_name,
    File "/usr/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3382, in run_ast_nodes
      if await self.run_code(code, result, async_=asy):
    File "/usr/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3442, in run_code
      exec(code_obj, self.user_global_ns, self.user_ns)
    File "/tmp/ipykernel_40257/48579934.py", line 2, in <module>
      train = model.fit(x_train,y_train,epochs=200)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
      return fn(*args, **kwargs)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/engine/training.py", line 1685, in fit
      tmp_logs = self.train_function(iterator)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/engine/training.py", line 1284, in train_function
      return step_function(self, iterator)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/engine/training.py", line 1268, in step_function
      outputs = model.distribute_strategy.run(run_step, args=(data,))
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/engine/training.py", line 1249, in run_step
      outputs = model.train_step(data)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/engine/training.py", line 1054, in train_step
      self.optimizer.minimize(loss, self.trainable_variables, tape=tape)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 532, in minimize
      self.apply_gradients(grads_and_vars)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 1163, in apply_gradients
      return super().apply_gradients(grads_and_vars, name=name)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 639, in apply_gradients
      iteration = self._internal_apply_gradients(grads_and_vars)
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 1189, in _internal_apply_gradients
      return tf.__internal__.distribute.interim.maybe_merge_call(
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 1239, in _distributed_apply_gradients_fn
      distribution.extended.update(
    File "/home/fengh/.local/lib/python3.10/site-packages/keras/optimizers/optimizer.py", line 1234, in apply_grad_to_update_var
      return self._update_step_xla(grad, var, id(self._var_key(var)))
Node: 'StatefulPartitionedCall_5'
libdevice not found at ./libdevice.10.bc
	 [[{{node StatefulPartitionedCall_5}}]] [Op:__inference_train_function_30698]

Here: https://github.com/miguelgargallo/jupyter-notebook/blob/main/03-tensorflow-pirates-chatbot/03-tensorflow-pirates-chatbot.ipynb
But this worked on Google Colab, I want it in local
So here I am

@miguelgargallo That's a TensorFlow error, not a JAX one. Please file an issue on the TensorFlow github issue tracker.

Okay, understood
anyway if I can help anyone in the future with same error:
find / -type d -name nvvm 2>/dev/null

go to this directory if it's not /usr/lib/nvvm/
create directories: /usr/lib/nvvm/
and place there the file: libdevice.10.bc
then go to your project directory where it fails, and paste the file libdevice.10.bc there too.
This solved my problem <3 good luck!

Same error occurs on windows 10, what should I do?

@BraveDrXuTF JAX does not support Windows on GPU. We welcome PRs, but it's up to the community to fix any problems.


Update README with cargo-src command

I've held off on any more substantial README updates until I've worked a bit more with the updated code. But this should hopefully help out with users getting up and running.

Thank you!


Adds clang-format to jenkinsfile as a step

Submisison Checklist

[ ] Run tests: ./runCmdStanTests.py src/test
[ ] Declare copyright holder and open-source license: see below

Summary:
Adds the clang-format jenkins utility like stan and math have.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Steve Bronder
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Are people okay with this? I was messing with this today and thought it would be nice to have since we have it in stan and math

@serban-nicusor-toptal it looks like the windows machine can't find make?
https://jenkins.mc-stan.org/blue/organizations/jenkins/CmdStan/detail/PR-866/6/pipeline
C:\Jenkins2\workspace\CmdStan_PR-866>mingw32-make -j16 build

Needs a conflict resolve then good to go.
@serban-nicusor-toptal just so you are aware:
C:\Jenkins2\workspace\CmdStan_PR-866>mingw32-make -j16 build
'mingw32-make' is not recognized as an internal or external command,
operable program or batch file.
script returned exit code 1

Good morning, no worries!
Should be fixed now, there were some network issue including github too. Checked the machine and is fine too.


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/networking-wg-leads
/assign knative-sandbox/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/networking 17e1877...1934422:
  > 1934422 upgrade to latest dependencies (# 622)
bumping knative.dev/pkg d481724...062ca30:
  > 062ca30 upgrade to latest dependencies (# 2433)
  > 4fcbc1b Update actions (# 2434)
  > 80c511a Wait for reconciler/controllers to return prior to exiting the process (# 2437)
bumping knative.dev/hack a8ef7b6...e178598:
  > e178598 Update community files (# 157)
  > cf8cbc0 Fix the regex used for matching GitHub Actions files (# 156)

/lgtm
/approve


Unable to login on Mobile - CSS issue (presumably)

When I attempt to log in via mobile, I press the "SN" button to get the div for the "login" and "sign up" buttons, but all I see is a yellow progress bar across the top and then nothing more.  If I scroll down I see "sign up" button, but never the "login" button.

Taking another look at this, I now see there is an icon for login.  But I've previously used that SN button before to cause the login to appear.  That appears to have changed ... I think.  Or maybe I am misremembering how login UX on mobile works.  Either way, if sign In button appears, so should login, no?

I don't fully understand the issue. Could you grab a screenshot?

But I've previously used that SN button before to cause the login to appear. That appears to have changed ... I think

We've switched the bottom nav bar. The SN button is now on the left where the way to login was before (iirc).
You need to click the right icon to login now:

If I scroll down I see "sign up" button, but never the "login" button.

Good point, you're right, we only show "sign up" in the top nav bar. This doesn't feel consistent with the rest of the UI.

Does that answer your questions?

we only show "sign up" in the top nav bar.
Does that answer your questions?

Yes.
I don't think I had ever noticed that scrolling up would reveal top nav bar.  So then when that was the only login method I saw I found it lacking, thinking it had changed to now have only the "sign up" button.

The SN button is now on the left

Ah, ... I trusted muscle memory more than I trusted what my own eyes were seeing.
Closing this ticket.


Build to both cjs and esm

fix #73
Adds rollup and tsconfig files.

I'm currently looking into why running npm test produces:
> TS_NODE_PROJECT=tsconfig.test.json nyc mocha -r ts-node/register test/**/*.spec.ts

'TS_NODE_PROJECT' is not recognized as an internal or external command,
operable program or batch file.

Are you running on windows? TS_NODE_PROJECT=tsconfig.test.json is supposed to set an environment variable. We'll need to use something like cross-env to make it work on windows.

Yes, I'm using Windows 10 :|

I use WSL for all my development these days. Makes things way easier in my opinion.
Anyway, I just added cross-env so it should work for you now.

The tests can run now, but quote oddly, every occurrence of conditional chaining in the code, like var?.property falls out of the code coverage, even though tests definitely at 100%, but branches come up at 97% now.

I'll look into it

Also, there's some circular dependency suddenly somehow, when running npm run build:

That would have already been in your codebase. Rollup just found them and is reporting on them.

Actually, the latter is on me, it was there before, I think, just not detected, I will fix this :)

Also, to clarify, all that content I have within the ./web folder - is it of no use anymore?

I think with regard to branches' coverage dropping down to 97%, this is the correct behavior. You're only testing the happy path when it comes to optional chaining. It could be that the optional chains aren't even needed.
I'm not sure why you were getting 100% before; it probably had something to do with not have a tsconfig file.

I haven't remove the need for the web folder but this could easily be done.

I haven't remove the need for the web folder

I'm sorry, I'm not sure what you mean by remove the need for it :) Could you, please clarify?
In the meantime, I have published a beta from this branch, I tried it with an Angular project - all seems fine 👍

Please advise what should I do with the ./web folder and the package it is creating... 🙏 Or are you making more changes to this PR?

I've remove the web folder and made it so rollup builds a web version. You can deprecate the web package.

I've pulled the latest code, but I see the web folder still there, and npm run build seems to be producing the same as before.
I must be missing something?

That last commit seems to be going into a separate branch. Any chance I'm missing the latest code here because of that?

Looking at the changes here on GitHub, everything seems to be fine. The web folder might still exists but it should be empty. The build script should output 2 files into the dist folder and 6 files into dist/web.

Looks like something got messed up locally. Anyhow, I have merged the branch, and it all seems very good, thank you!!!
I believe I can still use that Web folder though, to mention the min file and all :)
One question - I noticed the MIN file is generated with MS license. Do you know how to make include my own license like it did before?

Both license should be included.

Yep, didn't see it the first time. I still would throw the MS out, from what I see in othjer packages, hardly anyone includes more than one license.
I have added that sideEffects flag, cheers! And solved the circular dependencies :) It looks almost ready :)

If you want to change what comments are kept and what ones are thrown away, look into terser's comment config (configured here).
You could set it to function for full control e.g.
comments: function (node, comment) {
    const text = comment.value;
    const type = comment.type;

    // multiline comment
    if (type == "comment2" && some_other_test) {
        // keep comment
        return true;
    }

    // discard comment
    return false;
}

@RebeccaStevens I seem to have a problem with regular NodeJS apps in TypeScript. The library distribution stopped including .d.ts - declaration files, so Typescript can no longer resolve those.

@vitaly-t Fixed in #80

@RebeccaStevens I have tested it, and left my comment there ;)

@RebeccaStevens That plug-in had a few distributions screwed up at this point, very annoying - see the issue I opened.

That is a weird issue you're having. I've never experienced anything like that before with it. Though I pretty much only ever run these sort of build tools in CI environments, so I probably never would have noticed this kind of thing. I'm not even really sure where I'd start to look for the cause of such an issue.

Yep, so I just published 1.6.0 - another broken version because that plugin again generated some obsolete declarations. So I had to remove the entire repo and pull it again, to make it start generating the latest declarations again. It's a very odd issue.


Single tech/databricks

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Author pre-publish checklist:

[ ] Added test to prove my fix is effective or new feature works
[ ] No PII in logs
[ ] Made corresponding changes to the documentation

Hi Namit! This is a good start and we can iterate on this 👍 I couple of suggestions...

For the main README of the sample, can you please follow start with the following outline. All other samples roughly follow similar documentation structure (with some differences here and there :) )

Solution Overview

Background
Architecture
Technologies used

Well-Architected Framework (WAF)
Key Learnings
Key Concepts <-- This is where you can add in the IaC, CI/CD specific sections
How to use the sample

Setup and Deployment
Pre-requisites
Deployed Resources

Use snake_case for the folder names.

Use a markdown linter in VSCode. Currently the markdown files will fail linting. I use this: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint

I imagine in the final commit, we will be removing the Project Lumos folder?


Removed polyglot requirement from style-form-components-dictionary

Nothing else, fixes #9474.
CR: @nobuti

🎏


gp-cli: NPE is thrown by copy-bundle command when bundle has no target languages

NPE thrown at CopyBundleCmd.java at line 129.

Fixed by #46


Undefined error when trying to login an oauth user with email

Environment Setup
Backend: Parse Server 2.2.6
Frontend Web App: Parse JS SDK 1.8.1
Steps to reproduce

Login to parse using one of the 3rd party oauth providers
Check DB => New user with oauth data is created
Add an email address to that oauth user
Logout
Try to login using the email that just has been added to the oauth user
=> Getting an undefined error since that user has NO password

Expected behavior:
=> Getting an error that tells me that this user has no password
Logs/Trace
Parse Server VerboseMode output:
verbose: GET /api/login { host: '<IP_ADDRESS>:1337',
  'content-type': 'text/plain',
  origin: 'file://',
  connection: 'keep-alive',
  accept: '*/*',
  'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E238<PHONE_NUMBER>)',
  'accept-language': 'de-de',
  'accept-encoding': 'gzip, deflate',
  'content-length': '221' } {
  "username": "MY_EMAIL",
  "password": "MY_PASSWORD"
}
verbose: error: Incorrect arguments
error: Uncaught internal server error. Incorrect arguments undefined

In order to let an Oauth authenticated user to login with a password, you'd have to set username and Password properties on the user. Did you do that?

No, I "only" have added the email/username (are equal in my case) to the user but NO password. I'm totally aware that the user should not be able to login but I just wanted to note that that case is not handled by any error. If a user who has NOT set up a password yet (but has an username/email) tries to login I would expect to get an error that I can handle in my fronted to make the user aware of the issue. So far I can't really handle the error...


mariadb full set of config

Incorporated changes suggested under PR#5

Changing the inod_page_size required a replacement of the data folder, and a manual run of the grant.
The following has to be done after the deployment, and completely wipes out the database.  If you don't want that, then backup the database first and restore afterwards.
cd /bitnami/mariadb/data
rm -rf *
-- restart Pod

mysql -u root -p
-- use MARIADB_ROOT_PASSWORD
GRANT ALL PRIVILEGES ON *.* TO 'callweb'@'%';


How to Install in Apache?

I know my question is beginner ...
But I really liked the project and I want to use it correctly ...
And my doubts are these:
1 - How to install correctly on a shared host.
2 - how to configure the folders that I do not want to be scanned.
3 - What should we replace in files and this extension is placed in a separate folder?
4 - Is there any robots for only images, like twitter and pinterest these are in the list?
Thank you for your attention!
And congratulations it's what I was looking for ...

Nope, this repo is not for what you want.
You seem to look for https://support.google.com/webmasters/answer/6062596?hl=en


[Bug]: exclude: {} is required to enable transpilation with lightningcss

System Info
Using rspack 1.0.0.
Details
If one writes
export default defineConfig({
	optimization: {
		minimizer: [
			new rspack.LightningCssMinimizerRspackPlugin({
				minimizerOptions: { targets }
			}),
		],
	},
});

then no transpilation is performed. However, it works if one writes { targets, exclude: {} }.
Reproduce link
No response
Reproduce Steps

pnpm create rspack@latest, cd in the directory, pnpm install
Edit index.css to say something like main{color:blue;body{color:red}}
Run pnpm build --mode=production; observe that dist/main.css contains nesting (in contradiction to the browserslist in the config file)
Edit line 40 of rspack.config.mjs to say minimizerOptions: { targets, exclude: {} }, rebuild, and observe that dist/main.css now does not include nesting

This is expected, see https://arc.net/l/quote/pwktziks, you need builtin:lightningcss-loader to downgrade syntax, or override the default exclude

Then would it at least make sense to avoid passing in targets to rspack.LightningCssMinimizerRspackPlugin when a user runs pnpm create rspack@latest?


Certain Vim builds of the latest Windows release are not available

Specifically,

https://github.com/vim/vim-win32-installer/releases/download/v8.1.2099/gvim_8.1.2099_x64.exe,
https://github.com/vim/vim-win32-installer/releases/download/v8.1.2099/gvim_8.1.2099_x86.exe,
https://github.com/vim/vim-win32-installer/releases/download/v8.1.2099/gvim_8.1.2099_x86.zip
and
https://github.com/vim/vim-win32-installer/releases/download/v8.1.2099/gvim_8.1.2099_x86_pdb.zip
yeild a 404 Not Found page (1, 2) or just a "Not Found" message (3, 4).

Yes, if you look at the Build status from the main page https://ci.appveyor.com/project/chrisbra/vim-win32-installer you see that the x86 build failed:

From test_alot.vim:
Found errors in Test_popup_and_window_resize():
function RunTheTest[40]..Test_popup_and_window_resize[24]..WaitForAssert[2]..9_WaitForCommon[11]..10076 line 1: Expected '' but got '!                '
function RunTheTest[40]..Test_popup_and_window_resize[27]..WaitForAssert[2]..9_WaitForCommon[11]..10077 line 1: Pattern '^!\s*$' does not match '-- Command-line completion (^V^N^P) match 1 of 563'
TEST FAILURE
NMAKE : fatal error U1077: 'if' : return code '0x1'
Stop

This means, the build artifacts won't be uploaded to github. That can happen and is totally normal. If I notice and I am available, I usually rebuild the commit if the test is flaky and then the other artifacts will be uploaded as well. After that I might upload the signed binaries. But all that requires manual effort.
I will now re-build the failed commit in appveyor. That should fix it.

the zip files are there yet. However it looks like the installer script failed:

C:\projects\vim-win32-installer\vim\nsis>if /I "x86" == "x64" ("C:\Program Files (x86)\NSIS\makensis" /DVIMRT=..\runtime /DGETTEXT=c: /DWIN64=1 /DPATCHLEVEL=2099 gvim.nsi "/XOutFile ....\gvim_8.1.2099_x86.exe" )  else ("C:\Program Files (x86)\NSIS\makensis" /DVIMRT=..\runtime /DGETTEXT=c: /DPATCHLEVEL=2099  gvim.nsi "/XOutFile ....\gvim_8.1.2099_x86.exe" )
Command line defined: "VIMRT=..\runtime"
Command line defined: "GETTEXT=c:"
Command line defined: "PATCHLEVEL=2099"
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "gvim.nsi" (ACP)
File: "..\src\uninstallw32.exe" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script "gvim.nsi" on line 344 -- aborting creation process

That is here: https://github.com/vim/vim/blob/master/nsis/gvim.nsi#L344
This looks like a problem with patch 30e8e73506e4522ef4aebf7d525c0e6ffe8805fd
CC @brammool @k-takata

I created a PR for this: https://github.com/vim/vim-win32-installer/pull/147.

Thanks! I am closing this. With the next patches, it should build now again.


[java] Add config files to the CPG

After importing a war file in joern (v2.0.349), i was not able to query the containing web.xml file, via cpg.configFile.l.
Adding such files would improve the frontenend and one would not need to switch to the javasrc frontend and placing the web.xml into the directory.

Ah, good point. Let me have a look at this

@itsacoderepo Is there a last known version where this worked? The last jimple2cpg related changes were Soot upgrade and zip file validation, but way before that there were changes to how these archives were unpacked so it may be more related to the latter.


xc7: Use the common_slice definition when LUTRAM used as a LUT.

Reduce duplication by using the
xc7/primitives/common_slice/Nlut/ntemplate.Nlut.pb_type.xml
definition when
xc7/primitives/slicem/Ndram/ntemplate.Nd_ram.pb_type.xml
is operating in LUT mode.
Signed-off-by: Tim 'mithro' Ansell<EMAIL_ADDRESS>

@litghost - FYI This causes genfasm to segfault in handle_fasm_prefix code;
#0  0x0000555555777a51 in fasm::handle_fasm_prefix(t_metadata_dict const*, t_pb_graph_node const*, t_pb_type const*) [clone .isra.194] ()
#1  0x0000555555777e04 in fasm::FasmWriterVisitor::build_clb_prefix[abi:cxx11](t_pb const*, t_pb_graph_node const*) const ()
#2  0x000055555577a976 in fasm::FasmWriterVisitor::visit_all_impl(vtr::flat_map2<int, t_pb_route, std::less<int> > const&, t_pb const*) ()
#3  0x00005555555c1125 in NetlistWalker::walk_blocks(vtr::flat_map2<int, t_pb_route, std::less<int> > const&, t_pb const*) ()
#4  0x00005555555c10b6 in NetlistWalker::walk_blocks(vtr::flat_map2<int, t_pb_route, std::less<int> > const&, t_pb const*) ()
#5  0x00005555555c10b6 in NetlistWalker::walk_blocks(vtr::flat_map2<int, t_pb_route, std::less<int> > const&, t_pb const*) ()
#6  0x00005555555c10b6 in NetlistWalker::walk_blocks(vtr::flat_map2<int, t_pb_route, std::less<int> > const&, t_pb const*) ()
#7  0x00005555555c3c16 in NetlistWalker::walk() ()
#8  0x00005555555b059a in main ()

Still investigating why at the moment.

With debug now;
#0  0x00007ffff6e0859b in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x0000555555a48f85 in t_metadata_value::as_string[abi:cxx11]() const (this=0x0) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/libs/libarchfpga/src/physical_types.h:87
#2  0x0000555555a44cf5 in fasm::handle_fasm_prefix (meta=0x55555610aa98, pb_graph_node=0x555556248500, pb_type=0x555556104e18) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/fasm.cpp:119
#3  0x0000555555a4521e in fasm::FasmWriterVisitor::build_clb_prefix[abi:cxx11](t_pb const*, t_pb_graph_node const*) const (this=0x7fffffffaa60, pb=0x5555564680c8, pb_graph_node=0x555556248500) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/fasm.cpp:174
#4  0x0000555555a4570f in fasm::FasmWriterVisitor::visit_all_impl (this=0x7fffffffaa60, pb_routes=..., pb=0x5555564680c8) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/fasm.cpp:223
#5  0x00005555559e7435 in visit_all (this=0x7fffffffaa60, top_pb_route=..., pb=0x5555564680c8) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.h:45
#6  0x00005555559e761c in _ZN13NetlistWalker11walk_blocksERKN3vtr9flat_map2Ii10t_pb_routeSt4lessIiEEEPK4t_pb (this=0x7fffffffaa58, top_pb_route=..., pb=0x5555564680c8) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.cpp:32
#7  0x00005555559e772f in _ZN13NetlistWalker11walk_blocksERKN3vtr9flat_map2Ii10t_pb_routeSt4lessIiEEEPK4t_pb (this=0x7fffffffaa58, top_pb_route=..., pb=0x555556480f88) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.cpp:49
#8  0x00005555559e772f in _ZN13NetlistWalker11walk_blocksERKN3vtr9flat_map2Ii10t_pb_routeSt4lessIiEEEPK4t_pb (this=0x7fffffffaa58, top_pb_route=..., pb=0x55555646b0e8) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.cpp:49
#9  0x00005555559e772f in _ZN13NetlistWalker11walk_blocksERKN3vtr9flat_map2Ii10t_pb_routeSt4lessIiEEEPK4t_pb (this=0x7fffffffaa58, top_pb_route=..., pb=0x55555647cac0) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.cpp:49
#10 0x00005555559e7569 in _ZN13NetlistWalker4walkEv (this=0x7fffffffaa58) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/vpr/src/base/netlist_walker.cpp:19
#11 0x00005555556e152b in write_fasm () at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/main.cpp:45
#12 0x00005555556e16c2 in main (argc=33, argv=0x7fffffffd6c8) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/main.cpp:81

>>> up
#1  0x0000555555a48f85 in t_metadata_value::as_string[abi:cxx11]() const (this=0x0) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/libs/libarchfpga/src/physical_types.h:87
87          std::string as_string() const { return value_; }
>>>
#2  0x0000555555a44cf5 in fasm::handle_fasm_prefix (meta=0x55555610aa98, pb_graph_node=0x555556248500, pb_type=0x555556104e18) at /usr/local/google/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/utils/fasm/src/fasm.cpp:119
119       auto fasm_prefix_unsplit = pb_type->meta.one("fasm_prefix")->as_string();
>>> p pb_type
$1 = (const t_pb_type *) 0x555556104e18
>>> p *pb_type
$2 = {
  name = 0x55555610a010 "C_DRAM",
  num_pb = 1,
  blif_model = 0x0,
  model = 0x0,
  class_type = UNKNOWN_CLASS,
  modes = 0x55555610a968,
  num_modes = 3,
  ports = 0x55555610a290,
  num_ports = 11,
  num_clock_pins = 1,
  num_input_pins = 17,
  num_output_pins = 5,
  parent_mode = 0x5555560ed700,
  depth = 3,
  annotations = 0x0,
  num_annotations = 0,
  pb_type_power = 0x5555561055d0,
  meta = {
    <std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<t_metadata_value, std::allocator<t_metadata_value> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<t_metadata_value, std::allocator<t_metadata_value> > > > >> = std::unordered_map with 2 elements = {
      ["subtype"] = std::vector of length 1, capacity 1 = {[0] = {
          value_ = "ignore"
        }},
      ["type"] = std::vector of length 1, capacity 1 = {[0] = {
          value_ = "block"
        }}
    }, <No data fields>}
}
>>>

Looks like genfasm is requesting the fasm_prefix on a pb_type that doesn't have one. Will send a fix shortly.

I believe this is segfaulting because of https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/62

@litghost - I removed the cmake changes, but still needed a change to the ntemplate python script to make this work. I have also needed to updated vpr to fix the segfault in genfasm.

Traceback (most recent call last):
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 126, in <module>
    main()
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 122, in main
    debug=args.debug)
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 76, in run
    assembler.parse_fasm_filename(filename_in, extra_features=extra_features)
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/prjxray/fasm_assembler.py", line 173, in parse_fasm_filename
    raise FasmLookupError('\n'.join(missing_features))
prjxray.fasm_assembler.FasmLookupError: Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.RAM not found from line 'CLBLM_L_X20Y119.SLICEM_X0.RAM'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.SMALL not found from line 'CLBLM_L_X20Y119.SLICEM_X0.SMALL'

I think this error is caused by PACKAGE_SPEC "vtr 7.0.5_7336_g39fdec17e 20190529_000456"

Traceback (most recent call last):
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 126, in <module>
    main()
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 122, in main
    debug=args.debug)
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/utils/fasm2frames.py", line 76, in run
    assembler.parse_fasm_filename(filename_in, extra_features=extra_features)
  File "/tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/third_party/prjxray/prjxray/fasm_assembler.py", line 173, in parse_fasm_filename
    raise FasmLookupError('\n'.join(missing_features))
prjxray.fasm_assembler.FasmLookupError: Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.RAM not found from line 'CLBLM_L_X20Y119.SLICEM_X0.RAM'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.SMALL not found from line 'CLBLM_L_X20Y119.SLICEM_X0.SMALL'

This is a result of prefixing being lost.  Let me look at pb_type to see if I can see the issue.

The pb_type seems okay, but there may still be a lingering issue with how the prefixes are resolved.  The XML looks okay, so I would suspect a genfasm bug.

I'm pretty sure it is caused by https://github.com/SymbiFlow/vtr-verilog-to-routing/commit/b949ac473dedf009c584c2bd1a0ca6d4e13632fc

I'm pretty sure it is caused by SymbiFlow/vtr-verilog-to-routing@b949ac4

No, it's an old bug I thought I had fixed.  You fixed a latent bug in my change that was aiming to fix it in the first place.
See: https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/33

@litghost Could you look at fixing fasm fix?

@litghost Could you look at fixing fasm fix?

I don't think so, between the look ahead map and routing timing export.

@litghost Could you look at fixing fasm fix?

In the short term, can you leave the fasm_prefix on the pb_type (rather than the mode)?  It will require a change to the LUT ntemplate, but it should be possible.

The issue seems to be the following;
CLBLM_L_X20Y119.SLICEM_X0.DLUT.RAM
CLBLM_L_X20Y119.SLICEM_X0.DLUT.RAM
CLBLM_L_X20Y119.SLICEM_X0.DLUT.SMALL
CLBLM_L_X20Y119.SLICEM_X0.DLUT.RAM
CLBLM_L_X20Y119.SLICEM_X0.DLUT.SMALL
CLBLM_L_X20Y119.SLICEM_X0.DLUT.INIT[31:0]=32'b10010110101001011001011010100101
CLBLM_L_X20Y119.SLICEM_X0.RAM
CLBLM_L_X20Y119.SLICEM_X0.SMALL
CLBLM_L_X20Y119.SLICEM_X0.CLUT.RAM
CLBLM_L_X20Y119.SLICEM_X0.CLUT.SMALL
CLBLM_L_X20Y119.SLICEM_X0.CLUT.INIT[31:0]=32'b10010110101001011001011010100101
CLBLM_L_X20Y119.SLICEM_X0.BLUT.INIT[31:0]=32'b11111111111111110000000000000000
CLBLM_L_X20Y119.SLICEM_X0.BLUT.INIT[63:32]=32'b00000000000000010000000000000001
CLBLM_L_X20Y119.SLICEM_X0.ALUT.INIT[31:0]=32'b00001111000011110000111100001111
CLBLM_L_X20Y119.SLICEM_X0.ALUT.INIT[63:32]=32'b00000000000000001111111111111111

Most of it is fine, but this:
CLBLM_L_X20Y119.SLICEM_X0.RAM
CLBLM_L_X20Y119.SLICEM_X0.SMALL

Is missing a prefix, e.g. [ABCD]LUT.

I made it print out when vist_all_impl sets clb_prefix_ and got the following output;
clb: DLUT.

      RAM
      SMALL

clb: DLUT.

      RAM
      SMALL

INIT[31:0]=32'b10010110101001011001011010100101

clb: CLUT.
clb:

      RAM
      SMALL

clb: CLUT.

      RAM
      SMALL

I'm unclear why I see clb: DLUT. twice (which is causing the duplicate DLUT lines). The clb: line is the one causing the invalid values.

Duplicates are fine, and the duplicate is coming from the WCLK fasm_mux declaration.

  I also can't see how the lut could be in both <mode name="LUT"> and <mode name="32_DUAL_PORT"> modes at the same time.
So it does seems to be related to how the modes are being processed....

Just FYI - this still happens with the latest vpr that acomodi merged;
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.dCLUT.RAM not found from line 'CLBLM_L_X20Y110.SLICEM_X0.dCLUT.RAM'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.dCLUT.SMALL not found from line 'CLBLM_L_X20Y110.SLICEM_X0.dCLUT.SMALL'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.bCLUT.RAM not found from line 'CLBLM_L_X20Y110.SLICEM_X0.bCLUT.RAM'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.bCLUT.SMALL not found from line 'CLBLM_L_X20Y110.SLICEM_X0.bCLUT.SMALL'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.bCLUT.INIT not found from line 'CLBLM_L_X20Y110.SLICEM_X0.bCLUT.INIT[31:0] = 32'b10010110101001011001011010100101'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.bCLUT.INIT not found from line 'CLBLM_L_X20Y110.SLICEM_X0.bCLUT.INIT[31:0] = 32'b10010110101001011001011010100101'
Segment DB CLBLM_L, key CLBLM_L.SLICEM_X0.bCLUT.INIT not found from line 'CLBLM_L_X20Y110.SLICEM_X0.bCLUT.INIT[31:0] = 32'b10010110101001011001011010100101'

Just FYI - this still happens with the latest vpr that acomodi merged;

acomodi introduced a regression when he merged with upstream that was causing the ice40 fasm to fail.  The FASM issue present in this PR may be independent (but both related to FASM prefix handling).
Anyways, I recommend merging with symbiflow master and vtr master+wip and proceed debugging from there.

Same behaviour using https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/CMakeLists.txt#L45

@acomodi - Could you take a look at this?
The issue is most certainly in this file ->
https://github.com/SymbiFlow/vtr-verilog-to-routing/blob/master%2Bwip/utils/fasm/src/fasm.cpp
I'm reasonably sure it is in the FasmWriterVisitor::build_clb_prefix function;
https://github.com/SymbiFlow/vtr-verilog-to-routing/blob/2e7e9ef9306e2f50e41be88f07f0cdbc5fa9f8e2/utils/fasm/src/fasm.cpp#L139-L181

@mithro rebasing with latest master should make this PR go green (thanks to https://github.com/SymbiFlow/symbiflow-arch-defs/pull/811 and https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/69). Also DCO is failing, probably some commits haven't been signed off.

@mithro CI went green, I believe it can be merged now


Space wizard forge ui 2

Several integration tweaks and fixes related to interfacing with the forge api service. Some refactoring was helpful to simplify the interactions with the server.

Remaining issues
-turn off / on of browser logging
-http error formatting/handling and display of server side errors needs work
-field descriptions are missing
-multi select control needs some revision
-validation roundtrip time sometimes cause a validation failure to not disable the next button
-api data rewording of titles
-redirect to the spaces or code base page after completion
-user interaction/notification on success

There were the following issues with your Pull Request

Commit: ecfb555f289ae7d1d53cd1e09a315924d2c804ad

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Commit: cd8b51f3a4284adda3e776a4041f0617e98fd8b9

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

Can one of the admins verify this patch?

There were the following issues with your Pull Request

Commit: ecfb555f289ae7d1d53cd1e09a315924d2c804ad

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Commit: cd8b51f3a4284adda3e776a4041f0617e98fd8b9

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Commit: 6101aa8d0fcb76b5bce1ad23c639b6d756b234f7

Invalid type. Valid types are feat, fix, docs, style, refactor, perf, test, chore, revert

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 00d0355995f049b1f8a1cb7fb79e247454a9b0ed

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Commit: 5bcaabd73673bd1a54f68c0b87ba65da481f8c8f

Commits must be in the following format: %{type}(%{scope}): %{description}

Your subject line is longer than 50 characters

Commit: cc0c8fd02a19e06b2a7a63b14aff192dd527beea

Invalid type. Valid types are feat, fix, docs, style, refactor, perf, test, chore, revert

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

[test]


Reading GLTF data from model

https://github.com/syoyo/tinygltf/blob/dac2a89b630fcb4c0e6131a048c0e3040588bd2c/examples/raytrace/gltf-loader.cc#L47
Somewhere here should be a code which translates data from model to meshes/materials/textures
right now it returns true but actually there is nothing in the output buffers.
After that it crashed inside nanort when it calculates BoundingBox with 0 elements inside mesh(This looks like a separate issue).
How
Translate Model to output buffers or log message about TODO.

Ah, I remembered raytrace example is still work-in-progress, so it won't work.
I have described the current status in README.

I see. Still would be better to return appropriate message :) Shouldn't be too hard :)

To implement raytracer for glTF model, we need scene graph data structure.
For the scene graph data structure, I have implemented nanosg: https://github.com/lighttransport/nanort/tree/master/examples/nanosg so you may use nanosg to convert glTF meshes into the scene hierarchy for the raytracer example.

I see. Still would be better to return appropriate message :) Shouldn't be too hard :)

Changed to report error message :-)

For reference, this is partially done in the PR #40 that has just been merged in. Implementation is still pretty rough at the moment. This will load all the meshes into a glTF files on the scene, but it doesn't attempt to load materials or to move theses meshes in the positions defined by the eventual "scene" inside the glTF file.

gltfBuffer and gltfImage vector? why? I feel will Influence performance. But thanks to open source.

@chenliming777
Once memory is allocated, std::vector<T> has no performance impact over a regular array of T that was already allocated on the heap. So access to the data and traversal is as fast as it could be.
push_back(const T&) can trigger re-allocation of a larger array inside the vector. But this is only done while parsing the file and loading the data.
Once you are done with it (eg: loaded all useful data to the GPU) and you dispose of the tinygltf::Model object, all of this memory will be freed.
With this considerations in mind, I don't feel like there's a bad influence on performance from doing it this way.


EffectsRuntimeComponent project not in conf?

Hello,
I can't compile the solution since the EffectsRuntimeComponent project seems to be missing.
Is it possible to add it?
Thanks!

Hi Dodiese, hopefully this has been fixed in the latest push to the branch. I'm unable to verify this right now, but I will try to soon.
Let me know if you try the latest version and encounter problems. Thanks for trying the app out!


defining spec for an array with maps with exactly 1 key fails to validate

Hi, I possibly discovered a bug (or I am missing something). Here the scenario:
Basically there is this message I want to validate using Speck:
{
  "type": "type",
  "data": {
    "devices": [
      {
        "name": "a name"
      }
    ]
  }
}

Then I define the spec according to the docs like this:
struct App.TheSpec

name "the_spec"

attribute :type, :string,    values: ["type"]
attribute :data do

  attribute [:devices] do
    attribute :name,  :string
  end
end

Running my tests results in this error message:
** (ArgumentError) cannot convert the given list to a string.

     To be converted to a string, a list must either be empty or only
     contain the following elements:

       * strings
       * integers representing Unicode code points
       * a list containing one of these three elements

     Please check the given list or call inspect/1 to get the list representation, got:

     [:devices]

Oddly I found out (a workaround) which made it work, by just adding a dummy attribute to the devices array, like this:
struct App.TheSpec

name "the_spec"

attribute :type, :string,    values: ["type"]
attribute :data do

  attribute [:devices] do
    attribute :dummy, :string, optional: true
    attribute :name,  :string
  end
end

So it seems like that Speck has an issue with validating the payload if there are arrays of maps, which only have one key: value pair. As soon as it are at least 2+ key: value pairs, it works.
Is this a legit bug, or am I using it wrong? Thanks for the help.

@robdembitel thanks for the thorough bug report, that was incredibly helpful! This has been fixed and released in v1.0.1.


Openshift instance issue

Hi Team,
I have deployed the application in our Enterprise Openshift and I am able to login as admin also. but when I am trying to create a new team, I get "Internal Server Error". I have already tried reproduce the issue by deploying it in different public cloud environments, everywhere the issue is same. Kindly help.
Also it looks like, the repo - https://iteratec.github.io/multi-juicer/ doesn't exist, please check.
Regards,
Sashi

Hi 👋
Can you take a look at the failing request in the browsers network tab and also take a look at the logs of the juice-balancer pod, which is likely the causes of the error. Would also help if you can post both the OpenShift and the underlying kubernetes version.
https://iteratec.github.io/multi-juicer/  is actually working correctly, it's just not a real website, but only a helm repository from which helm downloads the charts. See https://iteratec.github.io/multi-juicer/index.yaml for the repository definition 😀

Hi,
Thanks a lot for your prompt response, I need your further cooperation in
this regard.
After your response, the helm repo works now, till yesterday it was saying
'repo not valid'.
Following are the details you requested for:
Openshift version -
OpenShift Master:v3.11.188Kubernetes Master:v1.11.0+d4cacc0OpenShift Web
Console:v3.11.135
Pod log -
[image: image.png]
Browser log -
[image: image.png]
On Wed, 6 May 2020 at 14:05, Jannik Hollenbach<EMAIL_ADDRESS>wrote:

Hi 👋
Can you take a look at the failing request in the browsers network tab and
also take a look at the logs of the juice-balancer pod, which is likely
the causes of the error. Would also help if you can post both the OpenShift
and the underlying kubernetes version.
https://iteratec.github.io/multi-juicer/ is actually working correctly,
it's just not a real website, but only a helm repository from which helm
downloads the charts. See
https://iteratec.github.io/multi-juicer/index.yaml for the repository
definition 😀
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iteratec/multi-juicer/issues/51#issuecomment-624609965,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHJMYKUPJY5VGWO7V2ILZTRQFHCJANCNFSM4M2L2M4A
.

--
Warm Regards,
Sashibhusan Upadhyaya
Ph: +49 1522 4099 502

Hi,
Thanks a lot for your prompt response, I need your further cooperation in this regard.
After your response, the helm repo works now, till yesterday it was saying 'repo not valid'.
Following are the details you requested for:
Openshift version -
OpenShift Master: v3.11.188
Kubernetes Master: v1.11.0+d4cacc0
OpenShift Web Console: v3.11.135
Pod log -

Browser log -

Hi,
Thanks a lot for your prompt response, I need your further cooperation in this regard.
After your response, the helm repo works now, till yesterday it was saying 'repo not valid'.
Following are the details you requested for:
Openshift version -
OpenShift Master: v3.11.188
Kubernetes Master: v1.11.0+d4cacc0
OpenShift Web Console: v3.11.135
Pod log -

Browser log -

Ah ok, i've actaully seen this before. I think this is happening because of the pretty old kubernetes version not handling ownerReferences like the newer versions. We added the owner references so that the Juice Shop get automatically deleted when you uninstall MultiJuicer.
I'll try to add a config value so that you can skip these references, which should make it work.

I've added this option.
Its not released yet, it would be great if you could confirm if this fixes your issues before it publish a release.
You can install the fix by installing MultiJuicer like the following:
# Clone the repo
git clone git@github.com:iteratec/multi-juicer.git

helm install multi-juicer ./helm/multi-juicer/ --set="balancer.skipOwnerReference=true" --set="balancer.tag=skipOwnerReference"

I reinstalled the instance with the above command-line options and it seems to have worked. I am able to create teams and login to the team instance(s). Thank you so much for your support. Could you also briefly explain(or share some url) about the functionality of the progress-watchdog ?

The ProgressWatchdog is basically responsible for the backup and auto apply challenge progress in case of Juice Shop container restarts feature. Its backs up the continue code as an annotation on the Deployment of the Juice Shop instance.

I've released the option with Release v3.3.0.
Will close the issue now. But if you have more questions feel free to ask them here or the OWASP Slack 🙏

When I install v3.4 without the commandline options, it doesn't work, I get the same issue. However it works when I install with the commandline options. I thought the issue was addressed with some permanent config fix, but it seems every time we need to redeploy this way. Is this understanding correct ?

@sashibhusan-u yeah you will have to pass this option every time when using older kubernetes versions.
MultiJuicer should work on newer kubernetes versions without the option. I'm not really sure which kubernetes version is fixing this, but 1.15 and later should definitely work.

Hi,
We are trying to install the multi-juicer by increasing the max instances
of juice-shop to 30 (in values.yaml & config.json). But looks like the
custom deployment doesn't work, it's unable to spin up juice-shop instances
at all, it's timing out. Kindly help.
Install command -
helm install -f
C:\Users\s.upadhyaya\Git\multi-juicer\helm\multi-juicer\values.yaml
-multi-juicer C:\Users\s.upadhyaya\Git\multi-juicer\helm\multi-juicer
--set="balancer.skipOwnerReference=true"
--set="balancer.tag=skipOwnerReference"
Pod logs -
time="2020-09-02T09:23:16.733Z" level="info" msg="JuiceBalancer listening
on port 3000!"
time="2020-09-02T09:31:26.232Z" level="info" msg="Team kn01 doesn't have a
JuiceShop deployment yet"
time="2020-09-02T09:31:27.211Z" level="info" msg="Creating JuiceShop
Deployment for team "kn01""
time="2020-09-02T09:31:27.236Z" level="info" msg="Created JuiceShop
Deployment for team "kn01""
time="2020-09-02T09:31:27.321Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:31:58.466Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:32:29.541Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:33:00.744Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:33:31.808Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:34:02.869Z" level="info" msg="Awaiting readiness of
JuiceShop Deployment for team "kn01""
time="2020-09-02T09:34:28.396Z" level="error" msg="Waiting for deployment
of team "kn01" timed out"
time="2020-09-02T09:34:59.579Z" level="error" msg="Waiting for deployment
of team "kn01" timed out"
On Tue, 19 May 2020 at 16:14, Jannik Hollenbach<EMAIL_ADDRESS>wrote:

@sashibhusan-u https://github.com/sashibhusan-u yeah you will have to
pass this option every time when using older kubernetes versions.
MultiJuicer should work on newer kubernetes versions without the option.
I'm not really sure which kubernetes version is fixing this, but 1.15 and
later should definitely work.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/iteratec/multi-juicer/issues/51#issuecomment-630847117,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHJMYPQJLTZPFXG6WTOZ4LRSKH3XANCNFSM4M2L2M4A
.

--
Best,
Sashi Upadhyaya
+49 1522 4099 502

Hi again @sashibhusan-u 👋
Can you take a look at the Juice Shop Deployment for the team kn01?
Might be a problem with the juice shop configuration that is preventing the pod from starting up. Or something wrong with the cluster.

Juice-shop instance log below, looks like some npm issue -
info: All dependencies in ./package.json are satisfied (OK)
(node:19) UnhandledPromiseRejectionWarning: Error: EACCES: permission
denied, copyfile '/juice-shop/data/static/JuiceShopJingle.vtt' ->
'/juice-shop/frontend/dist/frontend/assets/public/videos/JuiceShopJingle.vtt'
at Object.copyFileSync (fs.js:1912:3)
at restoreOverwrittenFilesWithOriginals
(/juice-shop/lib/startup/restoreOverwrittenFilesWithOriginals.js:13:6)
at Object. (/juice-shop/server.js:97:62)
at Module._compile (internal/modules/cjs/loader.js:1200:30)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:1220:10)
at Module.load (internal/modules/cjs/loader.js:1049:32)
at Function.Module._load (internal/modules/cjs/loader.js:937:14)
at Module.require (internal/modules/cjs/loader.js:1089:19)
at require (internal/modules/cjs/helpers.js:73:18)
at /juice-shop/app.js:7:18
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:19) UnhandledPromiseRejectionWarning: Unhandled promise rejection.
This error originated either by throwing inside of an async function
without a catch block, or by rejecting a promise which was not handled with
.catch(). To terminate the node process on unhandled promise rejection, use
the CLI flag --unhandled-rejections=strict (see
https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (rejection
id: 1)
(node:19) [DEP0018] DeprecationWarning: Unhandled promise rejections are
deprecated. In the future, promise rejections that are not handled will
terminate the Node.js process with a non-zero exit code.
On Wed, 2 Sep 2020 at 11:47, Jannik Hollenbach<EMAIL_ADDRESS>wrote:

Hi again @sashibhusan-u https://github.com/sashibhusan-u 👋
Can you take a look at the Juice Shop Deployment for the team kn01?
Might be a problem with the juice shop configuration that is preventing
the pod from starting up. Or something wrong with the cluster.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/iteratec/multi-juicer/issues/51#issuecomment-685518810,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHJMYOK2ZZCKE4GTL3PPVTSDYIDPANCNFSM4M2L2M4A
.

--
Best,
Sashi Upadhyaya
+49 1522 4099 502

Mh might be another OpenShift permission issue with JuiceShop, thats kinda weird I dont think this has changed recently...
What Juice Shop version are you using? @sashibhusan-u

in values.yaml I see this -
juiceShop:
juiceShop.maxInstances -- Specifies how many JuiceShop instances
MultiJuicer should start at max. Set to -1 to remove the max Juice Shop
instance cap
maxInstances: -1
Juice Shop Image to use
image: bkimminich/juice-shop
tag: v11.1.0
On Wed, 2 Sep 2020 at 12:04, Jannik Hollenbach<EMAIL_ADDRESS>wrote:

Mh might be another OpenShift permission issue with JuiceShop, thats kinda
weird I dont think this has changed recently...
What Juice Shop version are you using? @sashibhusan-u
https://github.com/sashibhusan-u
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/iteratec/multi-juicer/issues/51#issuecomment-685542948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHJMYNDWJNVM7G7ZXDCQJDSDYKDFANCNFSM4M2L2M4A
.

--
Best,
Sashi Upadhyaya
+49 1522 4099 502

Okay this looks like a general Juice Shop on OpenShift Issue, I'm getting the same error on our OpenShift cluster 😟
Will try to look into this this evening and fix it in Juice Shop.

@sashibhusan-u I tried it again using bkimminich/juice-shop:v11.1.3 as the version and this seems to be working on our OpenShift version. Would recommend to update to this version.
Thought I'm not really why this version bump fixes this, maybe this was fixed by the downgrade to Node.js from 14 to 12. @bkimminich any other ideas?
I'll update the default Juice Shop version in MultiJuicer to v11.1.3 to avoid this issue for other users.

This file copy error seems to be some race condition during server launch scripts, that was reported only occasionally by Linux users in the past. Can't imagine it has something to do with OpenShift in particular.

Mh doesn't really look like a race condition to me.
I've tried this a couple of times and v11.1.0 is always failing, while v11.1.3 always works...

For me also it works now, I am able to create and run 30 instances
concurrently.
On Thu, 3 Sep 2020 at 09:48, Jannik Hollenbach<EMAIL_ADDRESS>wrote:

Mh doesn't really look like a race condition to me.
I've tried this a couple of times and v11.1.0 is always failing, while
v11.1.3 always works...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/iteratec/multi-juicer/issues/51#issuecomment-686318853,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHJMYL4PW6FP6SOHQMFXULSD5C6BANCNFSM4M2L2M4A
.

--
Best,
Sashi Upadhyaya
+49 1522 4099 502

Nice 👍
Will close the issue then again. Feel free to reopne if something else goes wrong.


How to use an Angular component + template

I'm trying to create an Angular-only plugin. I want to add an Angular component and a template. So I put the component file and the template file in packages/nativescript-squirrel-chat-ui/angular and added it to the declarations of the module in index.ts. But now I have two problems:
When building the plugin, it says `
ERROR: Property binding ngIf not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the<EMAIL_ADDRESS>("bble-content">
                        <GridLayout rows="auto, auto">
                            [ERROR ->]<Label class="sendername" row="0" *ngIf="!isContinuing(item) && !item.fromMe" [text]="item.sender.nam")
The pipe 'date' could not be found ("

                        <FlexboxLayout class="meta">
                            <Label [text]="[ERROR ->]item.date | date:'shortTime'" class="time"></Label>
                            <Label [text]="getSt")

So I removed the date pipe and changed *ngIf to [visibility]="[...] ? 'visible' : 'hidden'". Now the plugin builds successfully.
However, when I try to use the component in the demo-angular app, it is just blank.
My plugin is here: https://github.com/SchoolSquirrel/nativescript-plugins/tree/main/packages/nativescript-squirrel-chat-ui
Do you have any idea?

@hrueger make sure the plugin's module includes NativeScriptCommonModule as that's where ngIf comes from etc.:
https://github.com/SchoolSquirrel/nativescript-plugins/blob/main/packages/nativescript-squirrel-chat-ui/angular/index.ts#L8
You can always debug step through code in chrome dev tools to see how your plugin is behaving in the demo app.

@NathanWalker Oh thanks, I missed the NativeScriptCommonModule. Sorry for that. Now it builds without any errors, however, the demo app still shows blank space where the UI is supposed to be.
Chrome Dev Tools show this:

The tests label shows, but below it there is just nothing...

@NathanWalker Sorry for another ping, but it's been almost two weeks ;-)

@hrueger sorry for late reply here - from looks of your repo seems you got past this?

@NathanWalker No, unfortulately, not. The demo-angular app still only displays the tests label (see comment above)

@hrueger
2 minor issues there with your code:

Rename your SquirrelChatUiModule in packages/nativescript-squirrel-chat-ui/angular to NativeScriptSquirrelChatUiModule for example, because otherwise you have a naming conflict with the SquirrelChatUiModule in your demo-angular project.
Export your NativescriptSquirrelChatUiComponent from that module

import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativescriptSquirrelChatUiComponent } from './nativescript-squirrel-chat-ui.component';
import { NativeScriptCommonModule } from "@nativescript/angular";

@NgModule({
    declarations: [
        NativescriptSquirrelChatUiComponent,
    ],
    imports: [
        NativeScriptCommonModule,
    ],
    schemas: [
        NO_ERRORS_SCHEMA,
        CUSTOM_ELEMENTS_SCHEMA,
    ],
    exports: [
      NativescriptSquirrelChatUiComponent
    ]
})
export class NativescriptSquirrelChatUiModule {}

Import your NativescriptSquirrelChatUiModule in the demo-angular's squirrel-chat-ui.module.ts
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule, NativeScriptRouterModule } from '@nativescript/angular';
import { SquirrelChatUiComponent } from './squirrel-chat-ui.component';
import { NativescriptSquirrelChatUiModule } from '@schoolsquirrel/nativescript-squirrel-chat-ui/angular';

@NgModule({
	imports: [
            NativeScriptCommonModule,
            NativescriptSquirrelChatUiModule,
            NativeScriptRouterModule.forChild([{ path: '', component: SquirrelChatUiComponent }])],
	declarations: [SquirrelChatUiComponent],
	schemas: [NO_ERRORS_SCHEMA],
})
export class SquirrelChatUiModule {}

Then you should be good to go...

@cvietor Thanks a lot!


Update Docs

We need to update the README.md with better instructions on how this package should be used. See the discussion in the data modeling repo: AreaA-data_modeling_and_schemas/discussions/67.

@budschi I will start updating the docs here.


Reorganize crate

This is an updated version of #43. It splits lib.rs into the following modules:

animation: For Frame
error: For ParseTileError & TiledError
image: For Image
layers: For LayerTile, Layer, LayerData, ImageLayer & Chunk
map: For Map & Orientation
objects: For ObjectGroup, ObjectShape & Object
properties: For Colour, PropertyValue & Properties
tile: For Tile
tileset: For Tileset
util: Private, for all the macros & internal parse functions

While by itself this change won't improve the external interface by much, this reorganization will allow for further development on current types such as Properties, which is an alias right now, and is essential to allow for quickly browsing through the library.

@alexdevteam I've just adjusted bevy_ecs_tilemap to work with the current git version of rs-tiled: https://github.com/bjorn/bevy_ecs_tilemap/commit/eb360e5b2ccc79914cf607ba19adef618b7f2aed
I found the need to prefix every rs-tiled type with its specific module name a bit annoying. Is that how things are done in Rust, or is there a way to avoid this?
What I've tried is to add something like use tiled::map::Map; at the top, but that didn't really work since it created an ambiguity with bevy_ecs_tilemap::map::Map. Personally I would still like the basic types to be available at the top level, like tiled::Map, since it allows resolving the ambiguity while avoiding the verbosity of map::Map.

Yes, I agree that publically exporting essential types on the root is a good idea. Could add a few pub uses on lib.rs.


Chromium docs 4030628

Docs Build status updates of commit f36ea78:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/devtools-guide-chromium/console/images/console-create-live-expression.msft.png
:white_check_mark:Succeeded

microsoft-edge/devtools-guide-chromium/console/images/create-live-expression-icon.msft.png
:white_check_mark:Succeeded

microsoft-edge/devtools-guide-chromium/console/live-expressions.md
:white_check_mark:Succeeded

microsoft-edge/toc.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Exception during data flush java.lang.OutOfMemoryError: Java heap space

OrientDB Version, operating system, or hardware.

v2.0 SNAPSHOT[ ] - .18[ ] .17[ ] .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.1 SNAPSHOT[ ] - .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.2 .13[X]

Operating System

[X] Linux
[ ] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Raspberry Pi 3
Expected behavior and actual behavior
To maintain a finite list of values of multiple sensors, we regularly delete the oldest ones via
select from expand(out(hasValue)) from >>id of sensor vertex<< order by @rid limit >>amount of excessive values<<
and afterwards deleting these values via Java API.
However, instead of deleting the Vertices, the Write Cache Flush Task encounters an OutOfMemoryError:
2016-12-02 06:50:30,091 ERROR [OrientDB Write Cache Flush Task (data)] c.o.o.c.s.c.l.OWOWCache$PeriodicFlushTask - Exception during data flush
java.lang.OutOfMemoryError: Java heap space

Steps to reproduce the problem
Unfortunately, the device with this issue is running on the premises of a customer of ours, so we only have limited data and access.
We are running an embedded database engine within our software with (not explicitly configured) 224MB Heap and these options:
-XX:MaxDirectMemorySize=3g -Dmemory.chunk.size=67108864 -Dstorage.wal.cacheSize=512 -Dstorage.wal.maxSegmentSize=32 -Dstorage.wal.maxSize=256 -Dstorage.diskCache.bufferSize=256
Is there anything that we should specificially look for? Should we get the 8GB dump of the customers sdcard and provide that?
We noticed that the data partition of the device was filling up, with only ~130MB of free space. Since a full disk does have decreased performance, could this be relevant for this issue?

Hi @thePunIssuer, the answer is simple – there is no enough heap space to process the requests. Increase the heap size or/and lower the size of the single request or/and lower the number of request running in parallel. Capture the heap and thread dump next time you see OOM, I will inspect them for leaks.
Regarding disk space, most likely it's growing because of OOMs on it's cleanup. Please share database directory file listing including file sizes.

You may try replaceselect from expand(out(hasValue)) from >>id of sensor vertex<< order by @rid limit >>amount of excessive values<< with select from Value where in(‘hasValue’) contains >> id of sensor<< order by @rid limit x, that will lower memory requirements to process the query, but will raise CPU requirements.

@thePunIssuer any news on the issue? Have you tried to optimize the configuration or the query?

Hi @taburet, sorry for the long delay.
I recently got hold of the database and it turns out that somehow our housekeeping failed and the device accumulated over 8 million data points in total, with some sensors having around 380k values attached.
I resorted to deleting all values, and exporting/importing the database. Thank you very much for your assistance :)
FYI, on my development machine, deleting (a limited batch of) oldest values did work using your suggested query. My initial query select from expand(out(hasValue)) from >>id of sensor vertex<< order by @rid limit >>amount of excessive values<<), failed with
java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:300)
	at java.lang.StringCoding.encode(StringCoding.java:344)
	at java.lang.StringCoding.encode(StringCoding.java:387)
	at java.lang.String.getBytes(String.java:958)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializePartial(ORecordSerializerBinaryV0.java:78)
	at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:78)
	at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1851)
	at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2626)
	at com.orientechnologies.orient.core.record.impl.ODocument.rawField(ODocument.java:773)
	at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:823)
	at com.orientechnologies.orient.core.record.impl.ODocumentComparator.compare(ODocumentComparator.java:72)
	at com.orientechnologies.orient.core.record.impl.ODocumentComparator.compare(ODocumentComparator.java:45)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
	at java.util.TimSort.sort(TimSort.java:234)
	at java.util.Arrays.sort(Arrays.java:1512)
	at java.util.ArrayList.sort(ArrayList.java:1454)
	at java.util.Collections.sort(Collections.java:175)
	at com.orientechnologies.orient.core.record.impl.ODocumentHelper.sort(ODocumentHelper.java:84)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.applySort(OCommandExecutorSQLSelect.java:2526)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.applyOrderBy(OCommandExecutorSQLSelect.java:2514)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:492)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:2577)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:2523)
	at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
	at com.tinkerpop.blueprints.impls.orient.OrientGraphCommand.execute(OrientGraphCommand.java:49)

I can't really tell if this is to be expected by these amounts of data.


Rides - new types and Item visibility

Ride Types
Some of the Action Flicks bring in new Ride Types:

Starship (icon looks like a spacefighter, but a rocket is probably a good substitute)
Beasts (well, horses, and it says you can use the Bike type for this, but there's a key difference in rolls used - Stunt instead of Drive - so I think it's worth a stand-alone category, and an icon of a horse is probably a good choice)
Non-motorized (basically bicycles, skateboards etc that are powered by the user's muscles - the icon used in the book is a pushbike)

Items section on Rides
In the Ride item type, can the label for "Items" be changed to "Extras" instead?
Would it be feasible for the Items/weapons that are added to the Extras section on a Ride appear in the Ride section of the character sheet? Maybe a Guns and Gear section on each would work best, as some vehicles will have built in weapons, or other gadgets.
Best
Matt

@babel2uk
Hi Matt.  Will this do?

It absolutely  will! 😃

Thank you for your input.  Now fixed in release V2.08.  I will close the issue.


fix(check): Abort implicit checking immediately on infinite loops

There may be some quirks to workout but everything in the gluon repo
itself works fine. This avoids the huge error messages generated when
implicit resolution ends up in an infinite loop.

bors r+


requestOne with timeout causes multiple responses

Let's say I have one client who makes a requestOne call that exceeds the specified timeout, the callback will be called when the timeout is exceeded, as well as when the subscriber responds:
Client:
nats.requestOne('help', '', {}, 1000, function(response) {

    if(response instanceof NATS.NatsError && response.code === NATS.REQ_TIMEOUT) {
        console.log('Request for help timed out.');
        return;
    }
    console.log('Got a response for help: ', response);
});

Subscriber:
nats.subscribe('help', {queue:'help-service'}, function(request, replyTo) {

    setTimeout(function() {

        nats.publish(replyTo, 'I can help!');

    }, 10000);
});

Notice that the Client's timeout is 1s, but the Subscriber will take 10s to respond.
The client will output "Request for help timed out.", then output "Got a response for help: I can help!"
The expected output should just be "Request for help timed out."

@shaunpersad a timeout happens on client side. NATS don't know anything about it. You have to increase your timeout. It is possible to unsubscribe from the INBOX after it has reached the timeout but this is very special and a correct behaviour cannot be guaranteed. This can be implemented by yourself in just few lines.
var sid = nats.request('help', null, {}, 1000);
timeout(sid, function() {
  nats.unsubscribe(sid)
})

Actually this is a bug. The node client's timeout function (the normal way to do requests that timeout) doesn't auto-unsubscribe. Since requestOne is simply a convenience api setting the max number of expected responses, and calling timeout, it doesn't auto-unsubscribe either. The correct behaviour for both these api's is to unsubscribe on timeout.

@aricart but it can happen that the service is faster that the unsubscribtion of the client? so when the SID could not be found the message will be discarded right?

Not quite sure that I understand what you are saying. So let me try here:
When you unsubscribe, locally the node client will remove its subscription mapping. If a message doesn't have a matching subscription, it gets dropped. Since the node client is single threaded, when the unsubscribe is processed, the subscription is removed. If a new message is already in the buffer for the client during the unsubscribe, there's no matching subscription when the message processing happens. Similarly if the server happens to forward a message before processing the unsubscribe, it is will get sent to the client, but the client should drop it.
In this case, the subscription is still active on the client (and the server) until unsubscribe is called.

Just to add a few thoughts on this - while the client may behave as expected as it is today, if the client does not unsubscribe, it leaves a subscription on the server for the lifetime of the connection.  With many requests, these subscription leaks will impact the server.  While this can be general problem in client design outside of request/reply, it should be addressed here as @aricart noted, for sake of the server under typical request/reply usage.

I have fixed this issue.

@aricart correct me if Im wrong but the subscription will be unsubscribed when:

normal subscribe on subject test with a timeout of 2000
timeout occurs
unsubsribe occurs
service will never gets messages

Correct there will be no messages if it times out.
On Mar 22, 2017 1:03 PM, "Dustin Deus"<EMAIL_ADDRESS>wrote:

@aricart https://github.com/aricart correct me if Im wrong but the
subscription will be unsubscribed when:

normal subscribe on subject test with a timeout of 2000
timeout occurs
unsubsribe occurs
service will never gets messages

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nats-io/node-nats/issues/135#issuecomment-288487393,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_DEF6PsbUNUQm2xoB-9XF04GthIKh2ks5roWJagaJpZM4MjCh1
.

@aricart
This behaviour will break lots of system because until version 0.7.14 the subject was still subscribed and messages could be received. This means that the client is resonsible to resubscribe on a timeout? If you use queue-groups this would mean that you assume that all subscribers are broken?

But that is not the correct intent is it?
If you subscribe expecting to timeout after a certain amount of time, you surely are not expecting the subscription to be active after the timeout when no messages were received. What is the meaning of a timeout on a subscriber? Even more basic, what is the meaning of a timeout?
A queue group is there to load-balance messages coming on a particular subject. While it is very likely that the 'replier' to a request is in a queue group, it doesn't sound right to make a queue group subscriber timeout on its subscription.
The only valid use of timeout is in a request/reply scenario from the perspective of the requestor. Where you expect responses to come back after a certain amount of time, and if not you need to be aware of the failure.
Our other client apis are handling the timeout by unsubscribing. Also note that the client is notified of the unsubscription if you specified a handler for unsubscribe.

@aricart I got it I misinterpret some points. The timout must be called explicit.


Make the save and sync ajax call relative

My langman install wasnt saving the new keys and updates, but after some digging i found its because of the ajax call to "/langman/save". Since i dont run my project on the top level, this call fails. Editing it to "langman/save" solves the problem.
Would it be possible to fix it? Or is there a way that i can do it? :-)
Also, thank you for the great package. Helps me save some serious time with the translation woes.

I think it should either be changed to "save" or $request->path().'/save'

Maybe"langman" should stay on the path to distinguish it from some generic service/path/route.

To make a pull request, i have to create a fork and make the changes there?

Feel free to open a PR :)


Concurrent Unmarshal causes segmentation violation

Hi,
I just try jsoniter as replacement for json, and in a concurrent code jsoniter produce a segmentation violation. With one go routine its ok (and very fast).
With json library, concurrent code works fine.
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x4b4249]

goroutine 6 [running]:
github.com/json-iterator/go.(*placeholderDecoder).decode(0xc42000e350, 0xc42012e000, 0xc420130000)
        /home/klaubert/projetos/gocode/src/github.com/json-iterator/go/feature_reflect.go:190 +0x29
github.com/json-iterator/go.(*Iterator).ReadVal(0xc420130000, 0x4e3640, 0xc42012e000)
        /home/klaubert/projetos/gocode/src/github.com/json-iterator/go/feature_reflect.go:228 +0xb9

Basically a jsoniter.Unmarshal(fh, &e) is used...
Any comment regard the concurrent usage of jsoniter.Unmarshal?

should be fixed

Fixed, very fast fix, thank you very much.
Very linear response when using concurrently. 3 to 5 time faster than native json .


ToolRunner quoted args are ignored

Environment
Agent
FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
Lib version
<EMAIL_ADDRESS>Issue Description
I am trying to run Lighthouse Audit executed via ToolRunner. The problem is that in order to run it on Unix based VSTS agent I have to pass multiple parameters with chrome-flags
Source code can be found here https://github.com/maciejmaciejewski/azure-pipelines-lighthouse/blob/master/task/src/execute-lighthouse.ts#L81
Full command is
/usr/local/bin/lighthouse http://example.com --output=html --output=json --output-path=/var/vsts/work/6/s/lighthouseresult --chrome-flags="--no-sandbox --headless --disable-gpu"
Actual behaviour
As an output I get following error message Running as root without --no-sandbox is not supported
When I run this command manually on VSTS agent container it works properly.
This suggest that there is some issue with escaping quotes and space delimited arguments and its value is completely ingored.
Escaping it with backslash did not help at all, I was also trying double escaping, using single quotes and even backtick.
Logs
##[debug]/usr/local/bin/lighthouse arg: ["http://example.com","--output=html","--output=json","--output-path=/var/vsts/work/6/s/lighthouseresult","--chrome-flags=\"--no-sandbox --headless --disable-gpu\""]
##[debug]evaluateAuditRules=false
##[debug]auditRulesStr=null
##[debug]exec tool: /usr/local/bin/lighthouse
##[debug]arguments:
##[debug]   http://example.com
##[debug]   --output=html
##[debug]   --output=json
##[debug]   --output-path=/var/vsts/work/6/s/lighthouseresult
##[debug]   --chrome-flags="--no-sandbox --headless --disable-gpu"

I'll take a look. We need to think about how we're handling quotes in general (see #511)

Hello @damccorm thank you for your answer.
I will modify toolrunner.ts locally and see if it helps.

I'm struggling a little bit to see how it would have been failing before but succeeding with your replacement function. It looks to me like we're basicaly calling the same thing.
We call child.spawn(this._getSpawnFileName(), this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(options));
Due to the implementation of _getSpawnFileName and _getSpawnArgs, this basically can be reduced to child.spawn(this.toolPath, this.args, this._getSpawnOptions(options));
This leaves _getSpawnOptions as the only thing that could be causing issues, but the only thing different there is that we drop the shell option - that doesn't seem like it would break this though (and I don't really see why this would be advantageous here). Did you change anything else here that might have caused this to now work?

Indeed the only difference between them are exec options, I used shell true because as far as I remember it did not work without it.
Yo can check my implementation details of https://github.com/maciejmaciejewski/azure-pipelines-lighthouse/blob/master/task/src/execute-lighthouse.ts#L130 function.

I'm going to close this since its consistent with how Node handles this. Feel free to comment if you'd like me to reopen


[FLOC-3647] List live nodes

This is part 1 of a bigger design to fix issue where if a node is shutdown attached volumes are never detached . This adds ability to list live nodes in the cluster. Once we know that we can discover if a dataset is attached to a dead node (part 2) and then detach it remotely by another node if it's moved (part 3).
Note that I haven't actually verified in any way that the code works, this PR is first live run :grinning:
Builds on #2287 .

Looks like a good move. Please address comments and merge after fixing the lint tests, unless you'd particularly welcome another round of review.


conf: Adds config for failure policy to backend

Codecov Report

Merging #169 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #169   +/-   ##
=======================================
  Coverage   89.83%   89.83%
=======================================
  Files           6        6
  Lines         433      433
=======================================
  Hits          389      389
  Misses         37       37
  Partials        7        7

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update da43d91...2165c16. Read the comment docs.

Uhm, guess we missed this one in the previous PR #168?

Yep, I only realised it when I went to make a change to the operator.


fix: lowercase address for relay

for reference: discussed offline and decided to leave checksum active for recovered address from the recover worker (and lowercase it in the consumer instead)


Redis connection with password for RSMQ Python

Currently, the Latest version 0.4.3 RSMQ Python does not allow Redis Password as an argument.
Could you please fix it or Kindly let me know where I can Do it?

Duplicate #2
There is an options field that is designed for any option supported by RedisPy client to be passed to it. Password field can be one of those options. If you wish to use a different (compatible) client, you can also pass that in configured however you want
example:

consumer = RedisSMQConsumer('my-queue', processor, host='<IP_ADDRESS>', options={"password": "mypassword"})

Thanks a lot! it works. But It would be better to mention it in the document as an example.


IT translations

Improved existing translations and added missing translations for Italian language
Please note that I've used @mjauvin #125 to re-generate it/lang.php files content and that's why the order of some strings changed from the previous version (I've used the 'en' file as a blueprint).

Thanks for the contribution @josieit!


Register CANBeWell to Google play and apple store

since the professor asked to freeze canbewell 1.0, we need to move to canbewell 2.0
discuss with Rishang

since the professor asked to freeze canbewell 1.0, we need to move to canbewell 2.0
discuss with Rishang


1

New Issue Checklist

[ ] Updated fastlane to the latest version
[ ] I have read the Contribution Guidelines

Issue Description
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[INSERT OUTPUT HERE]
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
[INSERT OUTPUT HERE]

Looks like this was created accidentally.  Closing this issue - please feel free to open another issue if you have a question!  Thanks!


Background color not displayed

I am unable to see background in xlsm file.
I have imported these libraries
xlsx = require('xlsx'),
fileSaver = require('file-saver');
I am using the following code
for setting the background
cell = {t:'n' , v: workSheet['A' + (row+1)].v + workSheet['B' + (row+1)].v , f:'A' + (row+1)+'+'+'B'+(row+1) ,s: {bgColor: { indexed: 64 }}};
and this for writing into file
wbout = xlsx.write(wb, {bookType:'xlsx', bookSST:true, type: 'base64',cellStyles:'true'});
// to blob
function sheet_to_blob (s) {
const buf = new ArrayBuffer(s.length)
const view = new Uint8Array(buf)
for ( var i = 0; i != s.length; ++i ) view[i] = s.charCodeAt(i) & 0xFF
return buf
}
// export xlsx with file-saver
fileSaver.saveAs(new Blob([sheet_to_blob(wbout)], {
type: 'application/octet-stream'
}), 'test.xlsx')
and it says ReferenceError: Blob is not defined

@SheetJSDev  Please help me with solution...

We offer this in the Pro compendium.  Since companies have paid for the features already, it would be unfair to them if we turned around and made it available as open source.  We have a longer comment in a gist.


Fatal Exception when Spec Contains Bahaves_Like

I tried to start using behaviors in my specs and as soon as I did I started getting this exception when I try to run or debug my tests via the VS Test Adapter. If I comment out the Behaves_Like and put the assertion directly in my spec things work fine.
So, this works fine:
public class Event_Spec
{
     protected static MemoryCallSvc CallSvc;
     // omitted out code for brevity

     It sends_an_event = () => CallSvc.Calls.Any();
     //Behaves_like<An_Event_Was_Raised> an_event_has_been_sent;
}

but this causes the exception:
public class Event_Spec
{
     protected static MemoryCallSvc CallSvc;
     // omitted out code for brevity

     //It sends_an_event = () => CallSvc.Calls.Any();
     Behaves_like<An_Event_Was_Raised> an_event_has_been_sent;
}

here is my behavior:
[Behaviors]
public class An_Event_Was_Raised
{
     protected static MemoryCallSvc CallSvc;

     It sends_an_event = () => CallSvc.Calls.Any();
}

Here is my visual studio info:
Microsoft Visual Studio Ultimate 2013
Version 12.0.31101.00 Update 4
Microsoft .NET Framework
Version 4.5.51650
I'm using MSpec v0.7.0
It's also worth noting that the tests run fine even when using behviors if run by using mspec.exe from the command line.

Just noticed that behavior support is still on the "to do" list. If it helps, I think the issue at hand, at least with this particular issue, is the test explorer doesn't list the assertion from the specs that leverage the behavior but rather lists the behavior itself.

Thanks will hopefully get onto this soon

Closing this in favour of #36, which will be used to track this.


Add MM to LTech

Add ModuleManager back to file

We don't actually have a 1.2 MM yet, so hold off on merging this.

We already indexed 3 version for 1.2: 2.7.0 - 2.7.2

Sorry, yes, my mistake. Just got confused with the MechJeb 1.2 mixup.


ArrayIndexOutOfBoundsException in TrendMicro android v5.1

Hey, Do you have any idea about this crash? Thx.
Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=2048; regionStart=0; regionLength=-1
       at java.util.Arrays.checkOffsetAndCount(Arrays.java:1719)
       at libcore.io.IoBridge.write(IoBridge.java:491)
       at java.io.FileOutputStream.write(FileOutputStream.java:186)
       at java.util.MarsUtils.write(MarsUtils.java:33)
       at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:704)
       at lsdka.m$2.b(SourceFile:176)
       at lsdka.m$2.a(SourceFile:161)
       at lsdka.a$2.a(SourceFile:211)
       at lsdka.o.b(SourceFile:71)
       at lsdka.o.a(SourceFile:64)
       at lsdka.o.l(SourceFile:232)
       at com.lsdka.lsdka.lsdka.lsdkb.m$a.a(SourceFile:129)
       at com.lsdka.lsdka.lsdka.lsdkb.n$b.e(SourceFile:611)
       at com.lsdka.lsdka.lsdka.d.run(SourceFile:33)
       at java.lang.Thread.run(Thread.java:818)

Same problem with android v5.1 when I'm using BitmapFactory.decodeStream on an inputStream with regionLength = -1.

Hello,
I am not sure if you have resolved this issue. The callstack shows issues with Layer SDK.  If you are still having issues, please collect logs and contact Layer support using the instructions provided here.
https://docs.layer.com/sdk/android/support
Thanks
Amar


Consider DI activating options and removing new() constraint

@divega suggested that we could create options from DI instead of requiring new(), this would enable us to switch Routing over to DI activated options.

Discussed this with Lou a while back and doesn't sound like this is going to happen