RecursionError when converting LlaMa model to ONNX

Describe the bug
RecursionError: maximum recursion depth exceeded while getting the str of an object
Expected behavior
I want to the convert a LlaMa model into ONNX and then benchmark it in deepsparse
Environment
conda create -n sparseml_main python=3.9
conda activate sparseml_main
git clone https://github.com/neuralmagic/sparseml
pip install -e "sparseml[transformers]"
pip install deepsparse
pip install sentencepiece

To Reproduce
First download the model using
huggingface-cli download baffo32/decapoda-research-llama-7B-hf --local-dir llama-7B
Then convert using
sparseml.export --task text-generation llama-7B
Errors
2024-01-26 16:49:06 sparseml.export.export INFO     Starting export for transformers model...
2024-01-26 16:49:06 sparseml.export.export INFO     Creating model for the export...
2024-01-26 16:49:06 sparseml.transformers.integration_helper_functions WARNING  trust_remote_code is set to False. It is possible, that the model will not be loaded correctly.
You are using the default legacy behaviour of the <class 'transformers.models.llama.tokenization_llama.LlamaTokenizer'>. This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thouroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565
Traceback (most recent call last):
  File "/home/sliu01/miniconda3/envs/sparseml_main/bin/sparseml.export", line 8, in <module>
    sys.exit(main())
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/gpfs/work2/0/prjs0761/OWL-new/sparseml/src/sparseml/export/export.py", line 432, in main
    export(
  File "/gpfs/work2/0/prjs0761/OWL-new/sparseml/src/sparseml/export/export.py", line 212, in export
    model, loaded_model_kwargs = helper_functions.create_model(
  File "/gpfs/work2/0/prjs0761/OWL-new/sparseml/src/sparseml/transformers/integration_helper_functions.py", line 101, in create_model
    tokenizer = initialize_tokenizer(source_path, sequence_length, task)
  File "/gpfs/work2/0/prjs0761/OWL-new/sparseml/src/sparseml/transformers/utils/initializers.py", line 76, in initialize_tokenizer
    tokenizer = AutoTokenizer.from_pretrained(
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 751, in from_pretrained
    return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 2017, in from_pretrained
    return cls._from_pretrained(
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 2249, in _from_pretrained
    tokenizer = cls(*init_inputs, **init_kwargs)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/models/llama/tokenization_llama_fast.py", line 134, in __init__
    self.update_post_processor()
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/models/llama/tokenization_llama_fast.py", line 147, in update_post_processor
    bos_token_id = self.bos_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1172, in bos_token_id
    return self.convert_tokens_to_ids(self.bos_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id

  ''''' repeat '''''

  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1057, in unk_token
    return str(self._unk_token)
RecursionError: maximum recursion depth exceeded while getting the str of an object

Additional context
Also tried to install sparseml using pip install sparseml, and tried to convert using
sparseml.transformers.export_onnx
But the same error happens.
.

Hey @luuyin it seems this model has issues with it's tokenizer setup, which might have been covered up by installing sentencepiece. I would recommend trying a llama model that is configured to work well with native transformers
If I simply try to use the model as-is in native transformers, it fails in the same way so this isn't a sparseml specific issue:
from transformers import pipeline
pipe = pipeline("text-generation", model="llama-7B")
prompt = "How many helicopters can a human eat in one sitting?"
outputs = pipe(prompt)
print(outputs[0]["generated_text"])

output:
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 329, in convert_tokens_to_ids
    return self._convert_token_to_id_with_added_voc(tokens)
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py", line 336, in _convert_token_to_id_with_added_voc
    return self.unk_token_id
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1191, in unk_token_id
    return self.convert_tokens_to_ids(self.unk_token)
  File "/home/mgoin/venvs/test-fail/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1057, in unk_token
    return str(self._unk_token)
long repeating

If that sentencepiece lib is not installed, I get this error:
ValueError: Couldn't instantiate the backend tokenizer from one of:
(1) a `tokenizers` library serialization file,
(2) a slow tokenizer instance to convert or
(3) an equivalent slow tokenizer class to instantiate and convert.
You need to have sentencepiece installed to convert a slow tokenizer to a fast one.

@luuyin I have validated that the flow works as expected with a properly-formed llama 2 model - i used NousResearch/Llama-2-7b-hf for this
initial setup
python3 -m venv ~/venvs/test-fail
source ~/venvs/test-fail/bin/activate
pip install sentencepiece -e "sparseml[transformers]"
huggingface-cli download baffo32/decapoda-research-llama-7B-hf --local-dir llama-7B
sparseml.export --task text-generation llama-7B

this fails because of the decapoda research model
If I replace that model with this version https://huggingface.co/NousResearch/Llama-2-7b-hf, it works as expected
huggingface-cli download NousResearch/Llama-2-7b-hf --local-dir llama-7B
sparseml.export --task text-generation llama-7B

initial

@luuyin I have validated that the flow works as expected with a properly-formed llama 2 model - i used NousResearch/Llama-2-7b-hf for this
initial setup
python3 -m venv ~/venvs/test-fail
source ~/venvs/test-fail/bin/activate
pip install sentencepiece -e "sparseml[transformers]"
huggingface-cli download baffo32/decapoda-research-llama-7B-hf --local-dir llama-7B
sparseml.export --task text-generation llama-7B

this fails because of the decapoda research model
If I replace that model with this version https://huggingface.co/NousResearch/Llama-2-7b-hf, it works as expected
huggingface-cli download NousResearch/Llama-2-7b-hf --local-dir llama-7B
sparseml.export --task text-generation llama-7B

Thank you for your prompt response, Michael Goinm. Indeed, implementing the model you suggested seems promising for a successful conversion to an ONNX format, with a minor warning.
Attempting to validate an in-memory ONNX model with size ><PHONE_NUMBER> bytes.validate_onnxskipped, as large ONNX models cannot be validated in-memory. To validate this model, save it to disk and callvalidate_onnx on the file path.
However, in the following step, when I tried to benchmark the converted model using
deepsparse.benchmark llama-7B/deployment/model.onnx --sequence_length 2048
I got the following error:

2024-01-26 19:20:34 deepsparse.benchmark.helpers INFO     Thread pinning to cores enabled
2024-01-26 19:20:34 deepsparse.benchmark.benchmark_model INFO     Found model with KV cache support. Benchmarking the autoregressive model with input_ids_length: 1 and sequence length: 2048.
2024-01-26 19:20:34 deepsparse.benchmark.benchmark_model INFO     Benchmarking Engine: deepsparse with internal KV cache management
DeepSparse, Copyright 2021-present / Neuralmagic, Inc. version: 1.6.1 COMMUNITY | (eff4f95d) (release) (optimized) (system=avx512_vnni, binary=avx512)
DeepSparse, Copyright 2021-present / Neuralmagic, Inc. version: 1.6.1 (eff4f95d) (release) (optimized) (system=avx512_vnni, binary=avx512)
Date: 01-26-2024 @ 19:20:35 CET
OS: Linux gcn17.local.snellius.surf.nl 4.18.0-372.80.1.el8_6.x86_64 #1 SMP Fri Nov 3 14:30:16 EDT 2023
Arch: x86_64
CPU: GenuineIntel
Vendor: Intel
Cores/sockets/threads: [72, 2, 72]
Available cores/sockets/threads: [36, 1, 36]
L1 cache size data/instruction: 48k/32k
L2 cache size: 1.25Mb
L3 cache size: 54Mb
Total memory: 503.518G
Free memory: 387.075G
Thread: 0x14734509b440

Assertion at ./src/include/wand/engine/execution/planner.hpp:121

Backtrace:
 0# 0x000014723b0313c3:
    [440fb6c34c8b25925a2c026a004489e94c89f641b9010000004c89e7e87cb224]
    [02585a84db75084c89e7e8aecbffff4c89e7e876b2240248833d8e552c020074]
 1# 0x000014723b033c18:
    [e4892402b901000000ba79000000488d352b8895fe488d3d19e58cfee857d7ff]
    [ff4889c3c5f877e9edfaffff4889c3e912fbffff4889c3c5f877e9f7faffff48]
 2# wand::engine::compiler::compiler::execution_graph_to_linear_order(wand::engine::execution::graph&&) const in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/deepsparse/avx512/libonnxruntime.so.1.15.1
 3# wand::engine::compiler::compiler::compile(wand::engine::execution::graph&&) const in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/deepsparse/avx512/libonnxruntime.so.1.15.1
 4# wand::engine::compiler::compiler::compile(wand::engine::compute::compute_graph&&) const in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/deepsparse/avx512/libonnxruntime.so.1.15.1
 5# wand::engine::compiler::compiler::compile(wand::engine::intake::graph&&) const in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/deepsparse/avx512/libonnxruntime.so.1.15.1
 6# 0x000014723a1f3c97:
    [ff488bbc24c80000004885ff7405e88673ebff4c89ea4889de4c89f7e8e88a08]
    [0349c7042400000000bff0000000e8a6390003488b1567a581ff488d4810c5f1]
 7# 0x000014723a1fa2e3:
    [850801000083400801488dbbb00000004d89e04c89e94c89f24889dee85c97ff]
    [ff488b45b84989c64885c0741f488b1d79c60f034885db0f85c00000008b4008]
 8# 0x000014723a23bc10:
    [5648488b464c53415450524889fa488bbde0fcffff488985f8fcffffe8efe4fb]
    [ff488bbd08feffff4883c4204885ff7405e8eaf3e6ff488bbd18fdffff4885ff]
 9# 0x000014723a204ee5:
    [0000488dbc2490000000488d4c24404c8b44241848897c2420488b33e8ba5a03]
    [00488b4308c5f9efc0c5f96f942490000000c5f97f8424900000004889442430]
10# 0x000014723a2062c0:
    [4154c4e1f96eca4989fcc4e3f122c6014883ec104889e6c5f97f0424e81feaff]
    [ff4883c4104c89e0415cc3cccccccccc488b07c5fa6f06c5fa7f00c5fa6f4e10]
11# 0x000014723aa90a48:
    [02e982ba7e02cccc415741564155415455534883ec38488b0648897c2410ff50]
    [28488b4424104c8b7008488b184c89f04829d84889c248c1f80548c1fa034885]
12# 0x000014723aa921e2:
    [488b742470488dbc24700100004c89f24889c148897c241848890424e84de8ff]
    [ff488b4310488b0bc5f9efc0c5f96fb42470010000488b530848894424104989]
13# 0x000014723aa98293:
    [488d8550feffff4889c7488985f8fcffff4889c3c5fa7f8538feffffe8dc9cff]
    [ff4883bd50feffff000f847803000041b879010000488d0da99ae5fe4889de31]
14# 0x000014723aa9ac0e:
    [89f94c8b0bff75c04c89f24c89ee488bbd58ffffffffb548ffffff50e8b1d2ff]
    [ff4883c42048837d800074b6488bb558ffffff41b825020000488d0df47fe6fe]
15# 0x000014723a0e0ff4:
    [ffc5f97f8590feffff488d4838488d85c0feffff5048898550feffffe89b999b]
    [004883bd60ffffff00585a0f849b000000418bbf74090000488bb578feffff41]
16# 0x000014723a0ed768:
    [0fb68540fcffff488b9578fcffff4889de4c89ff89c1898560fcffffe89734ff]
    [ff4883bdd0fdffff000f84e10000008bbb7409000041b81a0600004c89fe488d]
17# 0x000014723a0abf79:
    [836f080175e1ebbf0f1f8000000000488b442430488b7c2438488b30e8c60304]
    [00488b44245048894424304885c00f84eafcffff488b7c2438e8d97b9c00e9c7]
18# 0x000014723a0c0284:
    [83c4184c89e05b5d415c415dc30f1f800000000031d24c89ee4889efe81bb2fe]
    [ff488b7c24084989c44885c075c648893b4883c4184c89e05b5d415c415dc348]
19# deepsparse::ort_engine::init(wand::arch_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::shared_ptr<wand::parallel::scheduler_factory_t>, std::optional<NMExecutionProviderEngineParams> const&, std::optional<NMExecutionProviderBenchmarkParams> const&) in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/deepsparse/avx512/libdeepsparse.so
20# 0x000014723d3a9932:
    [89e94d89f88b8d2cffffff4c89f7488b9530ffffff488b352a050d00e8dd690c]
    [00488b7da8595e4885ff7405e8fd640c00488b7d804885ff0f8494000000807d]
21# 0x000014723d3aab3e:
    [8b4d104c8d4d804d89f06a00488bb5f8feffff4489e24889c74989c5e871ebff]
    [ff488b7d88585a4885ff7405e8f1520c004c89ffe8e9570c00e9b5fcffff0f1f]
22# 0x000014723d3ea8fa:
    [feffff41574c8b8538feffff4d89f1488b8d58feffff8bb550feffffe825fefb]
    [ff488bbd78feffff4989c4585a4885ff7405e82f55080080bd18ffffff007432]
23# 0x000014723d3b5aa7:
    [30ffff4c8dac24c0010000488b78404c89eee8e2a50b00498b04244c89e7ff50]
    [304989c74c89ef4889442478e8b832ffff4983ff010f85760200004983c4684c]
24# cfunction_call at /usr/local/src/conda/python-3.9.18/Objects/methodobject.c:543
25# _PyObject_MakeTpCall at /usr/local/src/conda/python-3.9.18/Objects/call.c:191
26# method_vectorcall at /usr/local/src/conda/python-3.9.18/Include/cpython/abstract.h:116
27# method_vectorcall at /usr/local/src/conda/python-3.9.18/Include/cpython/abstract.h:103
28# method_vectorcall at /usr/local/src/conda/python-3.9.18/Objects/classobject.c:83
29# slot_tp_init at /usr/local/src/conda/python-3.9.18/Objects/typeobject.c:6974
30# type_call at /usr/local/src/conda/python-3.9.18/Objects/typeobject.c:1028
31# pybind11_meta_call in /home/sliu01/miniconda3/envs/sparseml_main/lib/python3.9/site-packages/onnx/onnx_cpp2py_export.cpython-39-x86_64-linux-gnu.so
32# _PyObject_MakeTpCall at /usr/local/src/conda/python-3.9.18/Objects/call.c:191

Please email a copy of this stack trace and any additional information to<EMAIL_ADDRESS>
Could you please help me look at this ? Thanks!!!

This is definitely an unexpected error, looking into this now

I was able to recreate this using your exact setup, particularly using deepsparse==1.6.1. We've had a lot of changes for 1.7 which is releasing soon, so I was able to actually run fine on our nightly build (or from source).
To set that up, make sure to uninstall sparseml, sparsezoo, and deepsparse, then do pip install sparseml-nightly[transformers] deepsparse-nightly or install both from source, not just sparseml. With that environment, I was able to export and run fine

Hi @luuyin
A heads up that 1.7 recently went out. We hope this can address the issue you faced.
Thank you! Jeannie / Neural Magic


onEnter accessing state from some sort of routing context

I'm working with alt and attempting to access an alt instance (just think magic variable that is instantiated just before I render the Router component). I'm wondering how to get said magic variable into an onEnter call (considering server-side rendering and that magic variable being able to be set locally and not globally).
render
var magic = {isAuthenticated: false}

// pass in magic somewhere
ReactDOM.render(
  <Router
    history={createBrowserHistory()}
    routes={routes}
    {/* Doesn't work but illustrates what I'm thinking I want */}
    context={magic}
  />,
document.getElementById("root"))

routes
function requireAuth(nextState, replaceState) {
  const magic = getMagicSomehow()
  if (!magic.isAuthenticated) {
    replaceState({next: nextState.location.pathname}, "/login")
  }
}

export default (
  <Route path="/">
    <Route path="login" component={Login} />

    <Route onEnter={requireAuth}>
      <IndexRoute component={Index} />
    </Route>
  </Route>
)

Any help in the right direction to write getMagicSomehow would be appreciated.

Cross-posted (from a different perspective) to https://github.com/goatslacker/alt/issues/541

Thanks for your question!
We want to make sure that the GitHub issue tracker remains the best place to track bug reports and feature requests that affect the development of React Router.
Questions like yours deserve a purpose-built Q&A forum. Would you like to post this question to Stack Overflow with the tag #react-router? https://stackoverflow.com/questions/ask?tags=react-router.
We also have an active and helpful React Router community on Reactiflux, which is a great place to get fast help with React Router and with the rest of the React ecosystem. You can join at https://discord.gg/0ZcbPKXt5bYaNQ46.

see https://github.com/rackt/react-router/blob/e9450da860fafba292a4978381dd862d6edd0ffc/docs/API.md#createelementcomponent-props
also we made an issue tracker for bugs and feature requests only. Let's chat on Reactiflux

@taion boom :boom:


[BUG] Can't build without boost

Version of BOOST is wrong:
find_package(Boost 1.65.0 QUIET)
Still tries to find:
#include <boost/math/special_functions/jacobi_zeta.hpp>

Even if I update the version.
UPD: even when building in docker I hit:
../test/doc/core/gegenbauer.cpp:7:10: fatal error: 'boost/math/special_functions/gegenbauer.hpp' file not found
#include <boost/math/special_functions/gegenbauer.hpp>

1/ we need to up Boost version up to 1.7*
2/ this has been fixed, you need to refresh your image


Can't update preview on block update

Getting
angular.js?cdv=4:15635 TypeError: Converting circular structure to JSON
    --> starting at object with constructor 'ChildScope'
    |     property '$$childTail' -> object with constructor 'Scope'
    --- property '$parent' closes the circle
    at JSON.stringify (<anonymous>)
    at ChildScope.$scope.setPreview (BlockTypeGridViewPreviewController.js?cdv=4:38)
    at BlockTypeGridViewPreviewController.js?cdv=4:54
    at Scope.$digest (angular.js?cdv=4:19208)
    at ChildScope.$apply (angular.js?cdv=4:19568)
    at HTMLButtonElement.<anonymous> (angular.js?cdv=4:29023)
    at HTMLButtonElement.dispatch (jquery.min.js?cdv=4:2)
    at HTMLButtonElement.v.handle (jquery.min.js?cdv=4:2)

when updating an existing block.
It comes from this line https://github.com/skttl/umbraco-block-type-custom-view-previewer/blob/master/src/Our.Umbraco.BlockTypeGridViewPreview/App_Plugins/Our.Umbraco.BlockTypeGridViewPreview/BlockTypeGridViewPreviewController.js#L38 where I try to send the block data to the backend controller responsible for rendering the preview.
Don't know how to fix - any help appreciated :)

We actually got this working, and didn't encounter this error at all. It just works :-) Perhaps you can provide some more information about your block ( data / settings) configuration (e..g specific data types) so we will able to reproduce.

Ah yes, I can see it works with "simple" blocks.
I have a block list inside my block, and it must be that one that makes the circular error :)

Yes, that must be it! Good to know this is a known limitation. Nested block lists might be a common scenario.

Figured I'll share some insights here.
We have been using this in a project that we're working on. I've made some major changes to both the C# code and the controller  - thank you very much for the inspiration @skttl
I ran into this particular issue when using a block editor inside on of the "blocks".
Turns out that "angular.copy" will strip all "angularjs"-stuff from the object (variables starting with $).
Something like:
var valueCopy = angular.copy(value);
var reqModel = {
  ....
  value: JSON.stringify(valueCopy)
}

I'm more than happy to share our "stuff" if someone wants to look at it, not sure if a PR is the way to go but please let me know.

I'm more than happy to share our "stuff" if someone wants to look at it, not sure if a PR is the way to go but please let me know.

Forking would be better!


Circuit breaker factory

PR for #45

Delete the CircuitBreakerRegistry
Factory for CircuitBreaker
Update the spring configuration

HI @clarenced, Thanks a lot for you contribution. In general it seems that you used different code formatter. If you don't mind, please use (google-java-codestyle)[https://google.github.io/styleguide/javaguide.html]. Furthermore Tests are currently broken. It would also be good to add new Tests to check that Circuit Breakers have been registered successfully and can be injected after you dropped the CircuitBreakerRegistry and it's Tests.

Hi @MALPI, Thanks for your reply. I was waiting for your feedback before making the changes.

Sorry @clarenced but plans how we want to design this feature have changed since we found a more suitable and easier approach. Thanks a lot for your efforts!


[gardening] Remove unused method getLoweredContainerOfAddress(…)

getLoweredContainerOfAddress(…) was added by @eeckstein back in January 2016 (6ff2f09796eb267570bc5ae988a25dc7ad300348).
The last usage of getLoweredContainerOfAddress(…) was removed by @aschwaighofer on 2016-11-16 (cd1037b799402f4d68322011ef1b196f94281cea).
@eeckstein + @aschwaighofer, please review :-)

@swift-ci please smoke test

@swift-ci please test

This type of thing doesn't really need review. Dead code is dead code. If there's no test for it then it never worked or did anything useful in the first place.

@slavapestov Excellent! Thanks for the clear guidance!

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 74aaf8ecb44a672bd55cfd0b79a4a88ba2ef1d73
Test requested by - @practicalswift


Designer - Articulate Storyboards for phase 1

Articulate Storyboards early on to enable firefighters, designers, software & hardware people review them before development and identify conflicts, issues and refinements (as well as have a shared sense of scope).
e.g. ’Firefighter with a watch and smartphone receives ‘status red’ alert’ - the storyboards can state things like:

What the firefighter will see / hear / feel when alerted during field conditions (e.g. can take into account 8% of men are red-green color-blind).
Where the visible things are and what they're doing - visibility of the sensor LED / Smart Watch / Phone under field conditions.
What happens when 1 device (sensor) is in play - how the alert goes off, how a firefighter responds to or cancels it.
What happens when 1 combinations of devices are in play (sensor / phone / watch). How a firefighter responds to or cancels these. Which device is mainly responsible for alerts? (would multiple devices alerting be OK / confusing?) etc...

Additional value from storyboards:

Put them on github for onboarding new O/S contributors - help them get quickly up to speed and feel engaged
Initial outline for Communications to spec out a promo / video / demo

Note: in order to work out the tech (algos / ML) behind the alerts, we're going to need to do some of this storyboarding.
e.g. (just one illustrative example)
In the command center, an alert goes red for Alfonso. What happens next?

Does Alfonso's response depend on knowing what the underlying condition, or conditions were? e.g. will he react differently if
** a sensor just saw a toxic level of NO2 for a few seconds and then stopped
**  a firefighter is experiencing a combination of {high temp + CO}?
**  a firefighter has been exposed to too much CO cumulatively over the last 15 minutes?

Labelling data is one of the big costs in machine learning and the 'type' of explainability required determines how we do the labels (as well as how feedback is gathered at runtime.) e.g. red / yellow /green is simple, but is it sufficiently-explained to enable correct follow-up actions?  When context/explanation is essential, we often choose to use machine learning to learn the explanations (like 'critical exposure to NO2 over 15 mins') rather than the decisions ('red: get the firefighter out').  Need to know this up-front, as labelling 100s/1000s of examples is expensive is usually not cost-effective to repeat / fix.

This should be updated for our October 1 MVP.


Dependencies

These dependencies are a little concerning:
ANSIColoredPrinters = "a4c015fc-c6ff-483c-b24f-f7ea428134e9"
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
InlineTest = "bd334432-b1e7-49c7-a2dc-dd9149e4ebd6"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
TextWrap = "b718987f-49a8-5099-9789-dcd902bef87d"

I'm wondering if it's possible to separate out the testing workflow from the invariant declarations (e.g. as a subpackage InvariantTests.jl). Invariant interfaces will be most very useful in extremely light weight base packages, and these deps will be a major source of friction for package devs.

Sure! To document:

ANSIColoredPrinters, AbstractTrees and TextWrap are used exclusively for printing outputs, so they are not needed to define interfaces
Markdown is StdLib
InlineTest is a 1-line file to be able to use  ReTest.jl

Do you happen to have a nightly install with @time_imports to check how much of Invariants.jl's import time is self-time and how much comes from these deps?

Sorry I missed this reply! and I haven't timed the dependencies (I'm not on nightly).
But I'm not sure it will be totally relevant - dependencies also represent the risk of later increases in timing, and various other risks like unwanted version bumps - that tiny base packages will not want to take on.
Best to keep the code for visual checks separate from the declarations.

I agree 👍
I'll create an InvariantsBase.jl package with just the invariants and Boolean check. Anything else that should be in there?

https://github.com/lorenzoh/InvariantsCore.jl is the core package with no non-stdlib dependencies

You can also put it in the Invariants.jl repo to keep it all synced and easy to maintain


Sketchs from Arduino

Hello,
I built a limiter myself.
Some questions:

What are the differences between Simblee and RFDuino ?
The sketch from Limmiter will work on RFDuino without modifications, right ?

Regards,
Hugo.

Hi Hugo,
My first LibreMonitor was built with an RFDuino and worked well. I then switched to a Simblee because it is smaller and also allows for FOTA (which I have not really used yet). So much for the differences (for more on this see the respective websites)
If you build a LibreMonitor with an RFDuino instead of a Simblee, you have to change some code in the LibreMonitor.ino file and in libUBP.cpp in LibreMonitorArduinoLibrary.zip. Basically you have to substitute „Simblee“ by „RFDuino“. I just looked quickly through the code. It should be the following two changes:

Use the appropriate includes for RFDuino instead of those fore Simblee
Change the Simblee commands to the respective RFDuino commands, e.g. change SimbleeBLE.advertisementData = "data" to RFDuinoBLE.advertisementData = "data"; etc.

Please refer to the manuals of Simblee and RFDuino for details and possible differences of these commands.
If you do these code changes using #ifdefs in the code and submit a pull request I could check them in and it would be of help for others who want to build a LibreMonitor with an RFDuino, too. One could switch quite easily between Simblee or RFDuino by changing some #define commands and the includes in the info files.
Regards
Uwe

Ho, I thought that Simblee was a superset of RFDuino and larger than the original one, using the same chip on his core but I check and see that RFDuino is 15mmx15mm and Simblee is 7mmx10mm.

Hi Uwe,
Ho, I thought that Simblee was a superset of RFDuino and because of that was larger than the original one, using the same chip on his core but I checked and I saw that RFDuino is 15mmx15mm and Simblee is 7mmx10mm.
It's a superset yes but smaller, right ?
So, on this case it's more wise to use Simblee instead of the original RFDuino.
From the RFDuino website (so, the same should be applied for Simblee), the Arduino sketch should work of of the box for RFDuino, but you have some dependencies from Simblee, why ?
The original Limitter.ino can't work ?
Regards,
Hugo.

Hi Hugo,
I am not sure, what you are aiming at and what you mean with "original Limitter.ino". Is it the Limitter.ino of the LimiTTer Project by JoernL? If so, the answer is no. The Limitter.ino will not work with LibreMonitor because LimiTTer and LibreMonitor transfer different sets of data between the reader device and the respective smart phone application.
If you want to use your device with LibreMonitor follow my suggestions above and you can display the data with the LibreMonitor iOS application.
If you want to build a LimiTTer and display the data with the corresponding application you have to make adaptions to its LimiTTer.ino to make it work with an RFDuino, but I cannot tell you what exactly has to be changed. You could try and ask this question on the respective Gitter blog and maybe get some help.
Regards,
Uwe

Hi Uwe,
I already have my own fork of the Limitter.ino working with my own Android App.
I thought that my ino sketch could work out of the box with RFDuino, because RFDuino is a kind of clone of Arduino + Bluetooth module but for what you are saying it's not just that easy, so I will have  review the code or start over again from your ino sketch.
The ideia behind using RFDuino (or Simblee) is to reduce the size and connections of the hardware.
By luck, seems that most of RFDuino/Simblee pins can be soldier next to BM019.
Regards,
Hugo.

Hi Hugo,
wish you good luck.
Regards
Uwe

Thanks.


Example code for integrate with React

As a caption
I think it would better to have some show case / references implementation about how to use this module .
for example,  if would be great if the official one can be open sourced

I agree that an example for how to use it in a browser would be very helpful, especially one that works real-time!
I wonder if handling incoming audio in separate chunks would work fine or if there has to be some overlap?

Hi @davidNHK  and @fheyen. We can't currently open source basicpitch.io as it contains some Spotify-internal React components that are not open sourced yet. The website largely uses a similar structure to what exists in the README's usage section where a BasicPitch object is instantiated, data is prepared and then the data is evaluated.  Once you get the midi output (the last bit of the usage example in the README), you can take that output and write it to a midi file or put it into your web-based synth of choice.
@fheyen unfortunately, even in the website, Basic Pitch is designed with a final output step that uses the inference run of over the entire file. We believe it may be possible to sacrifice quality and run  that step on chunks at a time, but haven't had time to prioritize testing the approach. Thankfully, depending on machine, Basic Pitch is pretty fast (at least it can process a minute of audio in 1/3 of a minute on most machines). There's been similar issues posted over in the Python Basic Pitch repo so you're not alone in the idea.
If either of you want to contribute better examples or even take a stab at chunk-based processing we'll appreciate it :)

Thanks @drubinstein for the quick reply, in the meantime I was able to get basic-pitch to run in ObservableHQ:
https://observablehq.com/@fheyen/hello-spotify-basic-pitch-ts
Feel free to link to this notebook in your readme.

thanks @fheyen really found this useful in applying this typescript implementation!

Hi, has anyone followed up with this cool idea?  Short chunks converted in real-time, even if the delay was pretty long would be fun as a voice to MIDI controller.  So not using a file but a mic with a WebAudio buffer.

I wrote an online demo shows how to get json and midi format data from basic pitch
https://codesandbox.io/p/sandbox/modest-benji-k2nfg5?file=%2Fsrc%2Findex.ts

I wrote an online demo shows how to get json and midi format data from basic pitch https://codesandbox.io/p/sandbox/modest-benji-k2nfg5?file=%2Fsrc%2Findex.ts

@ttys026 Thanks for this ... your midi-canvas looks nice too.


Revert the LLM model for kubernetes GMS

Description
Revert the LLM model to meta-llama/CodeLlama-7b-hf for both Xeon and Gaudi in Kubernetes GMS
Issues
n/a.
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[ ] Others (enhancement, documentation, validation, etc.)

Dependencies
n/a.
Tests
This change can trigger the e2e test for Codegen example.

Need to wait for the code sync from GenAIInfra.


Upgrade Rails to 7.1

This PR upgrades the rails version to 7.1

@akhilgkrishnan can you rebase this?

@akhilgkrishnan can you rebase this?

Rebased the PR

Specs are failing, @apoorv1316 can you take a look?

Removed search_service and its specs because we are not using ransack for search. It was old code which was not being used.

@gowsik-ragunath @prasanthchaduvula @akhilgkrishnan Please review

@apoorv1316 @nisusam Are we good to merge this PR?

will merge tomorrow


Add formatting instructions to docs contribution

I just realized that our contributing to docs instructions is circular (CONTRIBUTING.md points to docs/README.md which points back to CONTRIBUTING.md). I removed that line and added in the formatting instructions.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (86cf40f) 78.88% compared to head (4298328) 78.13%.
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #723      +/-   ##
==========================================
- Coverage   78.88%   78.13%   -0.76%
==========================================
  Files          85       84       -1
  Lines        6035     6047      +12
==========================================
- Hits         4761     4725      -36
- Misses       1068     1117      +49
+ Partials      206      205       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Bug]: What We Works Cards not responsive

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
In home page what we works component is there but this components are not responsive in medium, and small screen size:)
Expected behavior
I want to make What we works- Cards responsive in all screen sizes.
Add screenshots (if applicable)

On which device or platform are you experiencing this bug?
No response
Confirmation

[X] I have read the Bitbox Contributing Guidelines
[X] I am a GSSOC-EXT contributor
[X] I am a HACKTOBERFEST contributor
[X] I have starred the Bitbox repository

Hyy @harshbhar0629, I'm assigning this issue to you.


Also using this as a way to say 👋 hi and 🙏 thanks for your work on this :)

@tessi Thanks for catching that.

Also using this as a way to say 👋 hi and 🙏 thanks for your work on this :)

You're welcome. :)


Add navbar to EMIT-dev

hard-code EMIT-dev Jupyter/Airflow links
deploy to EMIT-dev

also add stac browser. it is a shared service.
https://www.mdps.mcp.nasa.gov:4443/data/stac_browser/


Missing Sites

Please add missing sites to Arches:

[ ] HkTu-6
[ ] HaRc-53
[ ] DjRi-141
[ ] EaQv-39
[ ] EaQu-90
[ ] EaQv-40

@emjohnst  - These look like they were all created on Feb 5th, after we did the final pull. Are there digital assets associated with these sites?

@bferguso confirmed non of them have digital assets


python 3.8 support for importlib files api

to restore python 3.8 support in https://github.com/YosysHQ/oss-cad-suite-build/releases
untested; hope to download apycula.egg artifact and test using that

I was able to test this in the context of the oss-cad-suite release distribution by doing the following:

creating a personal fork of the apicula repo and cloning that https link locally
extracting the .egg file from inside the oss-cad-suite release (oss-cad-suite/lib/python3.8/site-packages/Apycula-0.8.2a2.dev1+g8e31050-py3.8.egg/ to borrow the required pickle files unzip Apycula-0.8.2a2.dev1+g8e31050-py3.8.egg (deleting the above folder and .egg for replacement with the test candidate after copying the .pickle files)
install python 3.8 if necessary and make a virtualenv with that activated:
brew install python3.8; python3.8 -m venv env_py38; source env_py38/bin/activate
modify the files to make the fix and that will need testing - apicula/apycula/[gowin_bba.py, gowin_unpack.py, gowin_pack.py]
git add, git commit, git push the changed files apicula/apycula/[gowin_bba.py, gowin_unpack.py, gowin_pack.py]
take the .pickle files from inside the oss-cad-suite release apicula/apycula directory and add them all to the local apicula/apycula fork directory: GW1N-1.pickle, GW1N-9.pickle, GW1NS-2.pickle, GW1NZ-1.pickle, GW1N-4.pickle, GW1N-9C.pickle, GW1NS-4.pickle, GW2A-18.pickle -- these .pickle files are not distributed as part of the apicula repo but can also be generated as artifacts during PR check.
package the egg to be tested by running run python setup.py bdist_egg inside my local apicula fork
find the egg to be tested and place it in the oss-cad-suite/lib/python3.8/site-packages/ (the downloaded release dir)
modify all references in oss-cad-suite to the old egg and change them to the egg under test - this means modifying the entry scripts oss-cad-suite/libexec/[gowin_bba, gowin_unpack, gowin_pack] and also inside oss-cad-suite/lib/python3.8/site-packages/apicula.pth where in each of the the entry scripts you change line 2 # EASY-INSTALL-ENTRY-SCRIPT: 'Apycula==[version number] and also in the sys.exit() call in main().
build and program as you would normally (in my case using platformio), and confirm that all proceeds without error

Side Note: I did have one issue programming the device due to an error Error: unable to open ftdi device: -5 (unable to claim usb device. Make sure the default FTDI driver is not in use) but I think this is unrelated.  It resolved after I deactivated the env_py38 virtualenv above and also restarted my computer.

It seems that these last three checks are consistently failing on recent PRs including ones merged to master Chipdb builder / example (master, nextpnr-0.5) (pull_request) , Chipdb builder / example (yosys-0.25, master) (pull_request) , and Chipdb builder / example (yosys-0.25, nextpnr-0.5) (pull_request)  -- being very new here, is that expected?

Yes. While every effort is made to ensure that different versions of apicula and nextpnr at least don't crash, when it comes to examples it's a different story - the examples contain a demonstration of the most recently added features, and which naturally won't compile on older versions painlessly - they are simply obliged to fail and inform about it, well, because on older versions these innovations are not yet supported and they cannot be silently ignored.

The situation may improve when we stop adding new things :)

I realized that my change to gowin_unpack.py was not pushed.  I re-tested using same steps listed above.  This time I ran the build and programming steps separately, plugging the board in right before programming -- worked without issue.
There is one error in programming that I consistently get  Error: Error key checkSum not found but this is likely unrelated to this issue and could be board related (sipeed tang nano 9k)
Building output:
Starting FPGA Toolchain
Starting Yosys CST Checking
     /----------------------------------------------------------------------------\
     |                                                                            |
     |  yosys -- Yosys Open SYnthesis Suite                                       |
     |                                                                            |
     |  Copyright (C) 2012 - 2020  Claire Xenia Wolf<EMAIL_ADDRESS>       |
     |                                                                            |
     |  Permission to use, copy, modify, and/or distribute this software for any  |
     |  purpose with or without fee is hereby granted, provided that the above    |
     |  copyright notice and this permission notice appear in all copies.         |
     |                                                                            |
     |  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES  |
     |  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF          |
     |  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   |
     |  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    |
     |  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     |
     |  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   |
     |  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            |
     |                                                                            |
     \----------------------------------------------------------------------------/
    Parsing Counter1.v
        - Module top parsed
    Checking if all ports are defined in constraints file
    All Ports are defined
Finished CST Checking
Starting Synthesys with Yosys (Gowin)
    Step 1:     Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/Projects/Counter1Project/Counter1.v
    Step 2:     Executing SYNTH_GOWIN pass.
        Step 2.1:   Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/oss-cad-suite/libexec/../share/yosys/gowin/cells_sim.v
        Step 2.2:   Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/oss-cad-suite/libexec/../share/yosys/gowin/cells_xtra.v
        Step 2.3:   Executing HIERARCHY pass (managing design hierarchy).
        Step 2.4:   Executing PROC pass (convert processes to netlists).
        Step 2.5:   Executing FLATTEN pass (flatten design).
        Step 2.6:   Executing TRIBUF pass.
        Step 2.7:   Executing DEMINOUT pass (demote inout ports to input or output).
        Step 2.8:   Executing SYNTH pass.
        Step 2.9:   Executing MEMORY_LIBMAP pass (mapping memories to cells).
        Step 2.10:  Executing TECHMAP pass (map to technology primitives).
        Step 2.11:  Executing OPT pass (performing simple optimizations).
        Step 2.12:  Executing MEMORY_MAP pass (converting memories to logic and flip-flops).
        Step 2.13:  Executing OPT pass (performing simple optimizations).
        Step 2.14:  Executing TECHMAP pass (map to technology primitives).
        Step 2.15:  Executing OPT pass (performing simple optimizations).
        Step 2.16:  Executing IOPADMAP pass (mapping inputs/outputs to IO-PAD cells).
        Step 2.17:  Executing OPT_CLEAN pass (remove unused cells and wires).
        Step 2.18:  Executing DFFLEGALIZE pass (convert FFs to types supported by the target).
        Step 2.19:  Executing TECHMAP pass (map to technology primitives).
        Step 2.20:  Executing OPT_EXPR pass (perform const folding).
        Step 2.21:  Executing SIMPLEMAP pass (map simple cells to gate primitives).
        Step 2.22:  Executing ABC pass (technology mapping using ABC).
        Step 2.23:  Executing TECHMAP pass (map to technology primitives).
        Step 2.24:  Executing OPT_LUT_INS pass (discard unused LUT inputs).
        Step 2.25:  Executing SETUNDEF pass (replace undef values with defined constants).
        Step 2.26:  Executing HILOMAP pass (mapping to constant drivers).
        Step 2.27:  Executing AUTONAME pass.
        Step 2.28:  Executing HIERARCHY pass (managing design hierarchy).
        Step 2.29:  Printing statistics.
        Step 2.30:  Executing CHECK pass (checking for obvious problems).
        Step 2.31:  Executing JSON backend.

    Summary
        Number of wires:                 201
        Number of wire bits:             561
        Number of public wires:          201
        Number of public wire bits:      561
        Number of memories:                0
        Number of memory bits:             0
        Number of processes:               0
        Number of cells:                 383
            ALU                          105
            DFFE                          33
            DFFRE                         39
            GND                            1
            IBUF                           1
            LUT1                          70
            LUT2                          40
            LUT3                           5
            LUT4                          13
            MUX2_LUT5                     38
            MUX2_LUT6                     19
            MUX2_LUT7                      8
            MUX2_LUT8                      4
            OBUF                           6
            VCC                            1

Finished Synthesys
Starting PnR with NextPnR
    Series:GW1N-9C Device:GW1NR-9C Package:QFN88P Speed:C6/I5
    Packing constants..
    Packing Shadow RAM..
    Packing GSR..
    Packing IOs..
    Packing diff IOs..
    Packing IO logic..
    Packing wide LUTs..
    Packing LUT5s..
    Packing LUT6s..
    Packing LUT7s..
    Packing LUT8s..
    Packing ALUs..
    Packing LUT-FFs..
    Packing non-LUT FFs..
    Packing PLLs..
    Checksum: 0x1395ddc7
    Annotating ports with timing budgets for target frequency 27.00 MHz
    Checksum: 0x1395ddc7
    Placed 7 cells based on constraints.
    Creating initial analytic placement for 132 cells, random placement wirelen = 5984.
    Running main analytical placer, max placement attempts per cell = 18528.
    HeAP Placer Time: 0.07s
    Running simulated annealing placer for refinement.
    SA placement time 0.12s
    Max frequency for clock 'clk_IBUF_I_O': 89.63 MHz (PASS at 27.00 MHz)
    Max delay posedge clk_IBUF_I_O -> <async>: 14.36 ns
    Checksum: 0x26b5bbe7
    Find global nets...
    Routing globals...
    Routing..
    Setting up routing queue.
    Routing 949 arcs.
    Routing complete.
    Router1 time 3.38s
    Checksum: 0x6e293aad
    Max frequency for clock 'clk_IBUF_I_O': 107.84 MHz (PASS at 27.00 MHz)
    Max delay posedge clk_IBUF_I_O -> <async>: 11.93 ns
    Program finished normally.

I'm wondering if we can improve CI to prevent this from happening again.
But maybe that's for another time.
Cad suite also probably shouldn't be using our alpha releases.
I'll merge this later and make a new release.
On Thu, 3 Aug 2023, 08:28 david65536 @.***> wrote:

I realized that my change to gowin_unpack.py was not pushed. I re-tested
using same steps listed above. This time I ran the build and programming
steps separately, plugging the board in right before programming -- worked
without issue.
There is one error in programming that I consistently get Error: Error
key checkSum not found but this is likely unrelated to this issue and
could be board related (sipeed tang nano 9k)
Building output:
Starting FPGA Toolchain
Starting Yosys CST Checking
/----------------------------------------------------------------------------
|                                                                            |
|  yosys -- Yosys Open SYnthesis Suite                                       |
|                                                                            |
|  Copyright (C) 2012 - 2020  Claire Xenia Wolf @.***>         |
|                                                                            |
|  Permission to use, copy, modify, and/or distribute this software for any  |
|  purpose with or without fee is hereby granted, provided that the above    |
|  copyright notice and this permission notice appear in all copies.         |
|                                                                            |
|  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES  |
|  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF          |
|  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   |
|  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    |
|  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     |
|  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   |
|  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            |
|                                                                            |
----------------------------------------------------------------------------/
Parsing Counter1.v
- Module top parsed
Checking if all ports are defined in constraints file
All Ports are defined
Finished CST Checking
Starting Synthesys with Yosys (Gowin)
Step 1:     Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/Projects/Counter1Project/Counter1.v
Step 2:     Executing SYNTH_GOWIN pass.
Step 2.1:   Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/oss-cad-suite/libexec/../share/yosys/gowin/cells_sim.v
Step 2.2:   Executing Verilog-2005 frontend: /Users/krakov/Documents/LushayFPGA/oss-cad-suite/libexec/../share/yosys/gowin/cells_xtra.v
Step 2.3:   Executing HIERARCHY pass (managing design hierarchy).
Step 2.4:   Executing PROC pass (convert processes to netlists).
Step 2.5:   Executing FLATTEN pass (flatten design).
Step 2.6:   Executing TRIBUF pass.
Step 2.7:   Executing DEMINOUT pass (demote inout ports to input or output).
Step 2.8:   Executing SYNTH pass.
Step 2.9:   Executing MEMORY_LIBMAP pass (mapping memories to cells).
Step 2.10:  Executing TECHMAP pass (map to technology primitives).
Step 2.11:  Executing OPT pass (performing simple optimizations).
Step 2.12:  Executing MEMORY_MAP pass (converting memories to logic and flip-flops).
Step 2.13:  Executing OPT pass (performing simple optimizations).
Step 2.14:  Executing TECHMAP pass (map to technology primitives).
Step 2.15:  Executing OPT pass (performing simple optimizations).
Step 2.16:  Executing IOPADMAP pass (mapping inputs/outputs to IO-PAD cells).
Step 2.17:  Executing OPT_CLEAN pass (remove unused cells and wires).
Step 2.18:  Executing DFFLEGALIZE pass (convert FFs to types supported by the target).
Step 2.19:  Executing TECHMAP pass (map to technology primitives).
Step 2.20:  Executing OPT_EXPR pass (perform const folding).
Step 2.21:  Executing SIMPLEMAP pass (map simple cells to gate primitives).
Step 2.22:  Executing ABC pass (technology mapping using ABC).
Step 2.23:  Executing TECHMAP pass (map to technology primitives).
Step 2.24:  Executing OPT_LUT_INS pass (discard unused LUT inputs).
Step 2.25:  Executing SETUNDEF pass (replace undef values with defined constants).
Step 2.26:  Executing HILOMAP pass (mapping to constant drivers).
Step 2.27:  Executing AUTONAME pass.
Step 2.28:  Executing HIERARCHY pass (managing design hierarchy).
Step 2.29:  Printing statistics.
Step 2.30:  Executing CHECK pass (checking for obvious problems).
Step 2.31:  Executing JSON backend.
Summary
    Number of wires:                 201
    Number of wire bits:             561
    Number of public wires:          201
    Number of public wire bits:      561
    Number of memories:                0
    Number of memory bits:             0
    Number of processes:               0
    Number of cells:                 383
        ALU                          105
        DFFE                          33
        DFFRE                         39
        GND                            1
        IBUF                           1
        LUT1                          70
        LUT2                          40
        LUT3                           5
        LUT4                          13
        MUX2_LUT5                     38
        MUX2_LUT6                     19
        MUX2_LUT7                      8
        MUX2_LUT8                      4
        OBUF                           6
        VCC                            1

Finished Synthesys
Starting PnR with NextPnR
Series:GW1N-9C Device:GW1NR-9C Package:QFN88P Speed:C6/I5
Packing constants..
Packing Shadow RAM..
Packing GSR..
Packing IOs..
Packing diff IOs..
Packing IO logic..
Packing wide LUTs..
Packing LUT5s..
Packing LUT6s..
Packing LUT7s..
Packing LUT8s..
Packing ALUs..
Packing LUT-FFs..
Packing non-LUT FFs..
Packing PLLs..
Checksum: 0x1395ddc7
Annotating ports with timing budgets for target frequency 27.00 MHz
Checksum: 0x1395ddc7
Placed 7 cells based on constraints.
Creating initial analytic placement for 132 cells, random placement wirelen = 5984.
Running main analytical placer, max placement attempts per cell = 18528.
HeAP Placer Time: 0.07s
Running simulated annealing placer for refinement.
SA placement time 0.12s
Max frequency for clock 'clk_IBUF_I_O': 89.63 MHz (PASS at 27.00 MHz)
Max delay posedge clk_IBUF_I_O -> : 14.36 ns
Checksum: 0x26b5bbe7
Find global nets...
Routing globals...
Routing..
Setting up routing queue.
Routing 949 arcs.
Routing complete.
Router1 time 3.38s
Checksum: 0x6e293aad
Max frequency for clock 'clk_IBUF_I_O': 107.84 MHz (PASS at 27.00 MHz)
Max delay posedge clk_IBUF_I_O -> : 11.93 ns
Program finished normally.

You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@mmicko I'm tagging a new release that will fix oss-cad-suite. Maybe in the future don't package our alpha releases.


MojoEventHandler is already handling events

From @Kleak on May 23, 2016 12:4
I'm following the codelab here
And after all the modification for integrate flutter inside my app i have this error MojoEventHandler is already handling events
and the stacktrace :
E/flutter : [ERROR:dart_error.cc(17)] Unhandled exception:
E/flutter : MojoApiError: MojoEventHandler is already handling events
E/flutter : #0      MojoEventHandler.beginHandlingEvents (package:mojo/src/event_stream.dart:193)
E/flutter : #1      Encoder.encodeInterface (package:mojo/src/codec.dart:227)
E/flutter : #2      _DatabaseReferenceAddChildEventListenerParams.encode (package:firebase/src/generated/firebase.mojom.dart:1086)
E/flutter : #3      Struct.serializeWithHeader (package:mojo/src/struct.dart:23)
E/flutter : #4      Proxy.sendMessage (package:mojo/src/proxy.dart:91)
E/flutter : #5      _DatabaseReferenceProxyCalls.addChildEventListener (package:firebase/src/generated/firebase.mojom.dart:3012)
E/flutter : #6      _FlutterQuery._on.<anonymous closure> (package:firebase/src/flutter/database.dart:217)
E/flutter : #7      _runGuarded (dart:async/stream_controller.dart:809)
E/flutter : #8      _BroadcastStreamController._subscribe (dart:async/broadcast_stream_controller.dart:224)
E/flutter : #9      _ControllerStream._createSubscription (dart:async/stream_controller.dart:827)
E/flutter : #10     _StreamImpl.listen (dart:async/stream_impl.dart:468)
E/flutter : #11     _ForwardingStreamSubscription._ForwardingStreamSubscription (dart:async/stream_pipe.dart:133)
E/flutter : #12     _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:101)
E/flutter : #13     _ForwardingStream.listen (dart:async/stream_pipe.dart:93)
E/flutter : #14     ChatScreenState.initState.<anonymous closure>.<anonymous closure> (/home/kleak/Work/hello_world/lib/src/widgets/chat_screen.dart:32)
E/flutter : #15     State.setState (package:flutter/src/widgets/framework.dart:419)
E/flutter : #16     ChatScreenState.initState.<anonymous closure> (/home/kleak/Work/hello_world/lib/src/widgets/chat_screen.dart:31)
E/flutter : #17     _RootZone.runUnary (dart:async/zone.dart:1204)
E/flutter : #18     _FutureListener.handleValue (dart:async/future_impl.dart:131)
E/flutter : #19     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:628)
E/flutter : #20     _Future._propagateToListeners (dart:async/future_impl.dart:658)
E/flutter : #21     _Future._completeWithValue (dart:async/future_impl.dart:468)
E/flutter : #22     _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:519)
E/flutter : #23     _microtaskLoop (dart:async/schedule_microtask.dart:41)
E/flutter : #24     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)

Don't know if it's the right place to post the issue..
Copied from original issue: flutter/firebase-dart#7

cc @collinjackson

Hi @Kleak, could you send us the contents of chat_screen.dart? I want to see if there's an issue with the initState method.

up it's working now, I have update my flutter version since @abarth has push a new one

Great, thanks!


[V2] allow to extend existing webpack config

Add option to extend existing webpack config in 'packages\pwa-kit-build\src\configs\webpack\config.js'. The main reason is to have option to set custom aliases.
Added a new preference in 'packages\pwa\package.json' called "webpackExtension" which can contain the path to the webpack extension file. Changes from the provided file are deeply merged into the webpack config.
Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[x ] New feature (non-breaking change that adds functionality)
[ ] Documentation update
[ ] Breaking change (could cause existing functionality to not work as expected)
[ ] Other changes (non-breaking changes that does not fit any of the above)

Changes

Add support of extending webpack

How to Test-Drive This PR

Uncomment module.exports in packages\pwa\custom.webpack.js
Replace '../../commerce-api/hooks/useShopper' with 'commerceAPIAlias/hooks/useShopper' on line 34 in file 'packages\pwa\app\components_app\index.jsx'

Checklists

General

[ ] Changes are covered by test cases
[ ] CHANGELOG.md updated with a short description of changes (not required for documentation updates)

Accessibility Compliance
You must check off all items in one of the follow two lists:

[ x] There are no changes to UI

or...

[ ] Changes were tested with a Screen Reader (iOS VoiceOver or Android Talkback) and had no issues
[ ] Changes comply with WCAG 2.0 guidelines levels A and AA
[ ] Changes to common UI patterns and interactions comply with WAI-ARIA best practices

Localization

[ ] Changes include a UI text update in the Retail React App (which requires translation)

Hi Team, could you please help me with CLA? I can't sign it because of an error "You already signed the CLA on 2022-04-05". However, this PR is not revalidated.

Hi @navyhod! Thank you very much for your contribution.
This is good timing actually. We are also working on enabling projects on V2 to use custom webpack configs in PR #462 and it's just about ready to merge.
With the changes in #462, you could add a custom webpack config by creating a webpac.config.js file in the root of your project. To extend the default webpack config, insert the following lines into a blank config:
const config = require('pwa-kit-build/configs/webpack/config')

module.exports = config

Please feel free to give our PR a look and give us your feedback!

Also, to follow up on the CLA, was the email address<EMAIL_ADDRESS>associated with your Github account when you signed the CLA?

Also, to follow up on the CLA, was the email address<EMAIL_ADDRESS>associated with your Github account when you signed the CLA?

<EMAIL_ADDRESS>

Hi @navyhod! Thank you very much for your contribution.
This is good timing actually. We are also working on enabling projects on V2 to use custom webpack configs in PR #462 and it's just about ready to merge.
With the changes in #462, you could add a custom webpack config by creating a webpack.config.js file in the root of your project. To extend the default webpack config, insert the following lines into a blank config:
const config = require('pwa-kit-build/configs/webpack/config')

module.exports = config

Please feel free to give our PR a look and give us your feedback!

That's really good news. We can close this PR and I'm waiting for https://github.com/SalesforceCommerceCloud/pwa-kit/pull/462 to be merged.
Thanks

Thanks @navyhod. #462 has now been merged into our main v2 branch.

I had to add a new alias to be able to use typescript paths and I did this way. I hope that this can help someone in the future:
// webpack.config.js in the root of your app

const path = require('path');
const webpackConfig = require('pwa-kit-dev/configs/webpack/config');
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const deepMerge = require('./scripts/deepMerge');

const [client, ssr, renderer, clientOptional, requestProcessor] = webpackConfig;

module.exports = [client, ssr, renderer, clientOptional, requestProcessor]
    .filter(Boolean)
    .map((config) => {
        return deepMerge(config, {
            resolve: {
                alias: {
                    '@pwa/app': path.resolve(process.cwd(), 'app')
                },
                plugins: [new TsconfigPathsPlugin()]
            }
        });
    });

// tsconfig.json
{
    "compilerOptions": {
        ...
        "baseUrl": ".",
        "paths": {
            "@app/*": ["app/*"],
        }
    }
}


[fbthrift]: fix dependency

@jiayuehua, I tested the usage of fbthrift locally and encountered such an error through fbthrift:x64-windows-static, please take a look:
1> CMake generation started for configuration: 'x64-static-Debug'.
1> Command line: "C:\WINDOWS\system32\cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 16 2019" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\test\source\repos\CMakeProject42\out\install\x64-static-Debug" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/fb/vcpkg/scripts/buildsystems/vcpkg.cmake "C:\Users\test\source\repos\CMakeProject42" 2>&1"
1> Working directory: C:\Users\test\source\repos\CMakeProject42\out\build\x64-static-Debug
1> [CMake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
1> [CMake] -- The C compiler identification is MSVC 19.29.30148.0
1> [CMake] -- The CXX compiler identification is MSVC 19.29.30148.0
1> [CMake] -- Detecting C compiler ABI info
1> [CMake] -- Detecting C compiler ABI info - done
1> [CMake] -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting C compile features
1> [CMake] -- Detecting C compile features - done
1> [CMake] -- Detecting CXX compiler ABI info
1> [CMake] -- Detecting CXX compiler ABI info - done
1> [CMake] -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting CXX compile features
1> [CMake] -- Detecting CXX compile features - done
1> [CMake] -- Found ZLIB: optimized;F:/Feature-test/fb/vcpkg/installed/x64-windows-static/lib/zlib.lib;debug;F:/Feature-test/fb/vcpkg/installed/x64-windows-static/debug/lib/zlibd.lib (found version "1.2.13")
1> [CMake] -- Found FBThrift: F:/Feature-test/fb/vcpkg/installed/x64-windows-static
1> [CMake] -- Configuring done
1> [CMake] CMake Error at F:/Feature-test/fb/vcpkg/scripts/buildsystems/vcpkg.cmake:591 (_add_executable):
1> [CMake]   Target "main" links to target "Folly::folly" but the target was not found.
1> [CMake]   Perhaps a find_package() call is missing for an IMPORTED target, or an
1> [CMake]   ALIAS target is missing?
1> [CMake] Call Stack (most recent call first):
1> [CMake]   CMakeProject42/CMakeLists.txt:14 (add_executable)
1> [CMake] CMake Error at F:/Feature-test/fb/vcpkg/scripts/buildsystems/vcpkg.cmake:591 (_add_executable):
1> [CMake]   Target "main" links to target "glog::glog" but the target was not found.
1> [CMake]   Perhaps a find_package() call is missing for an IMPORTED target, or an
1> [CMake]   ALIAS target is missing?
1> [CMake] Call Stack (most recent call first):

CMakeLists:
cmake_minimum_required (VERSION 3.8)
set(CMAKE_CXX_STANDARD 23)

project(test)

add_executable (main "CMakeProject42.cpp" "CMakeProject42.h")

find_package(FBThrift CONFIG REQUIRED)

target_link_libraries(main PRIVATE FBThrift::async FBThrift::thrift FBThrift::transport FBThrift::thriftcpp2)

@JonLiu1993 Would you please verify again? Aslo How to use x64-windows-static triplet on windows in visual studio cmake file? I can only use x64-windows. I have verified on linux.
cmake_minimum_required (VERSION 3.8)
set(CMAKE_CXX_STANDARD 23)
set(VCPKG_OVERLAY_TRIPLETS x64-windows-static) # not work!!!
project(test)

add_executable (main "CMakeProject42.cpp" "CMakeProject42.h")

find_package(FBThrift CONFIG REQUIRED)

target_link_libraries(main PRIVATE FBThrift::async FBThrift::thrift FBThrift::transport FBThrift::thriftcpp2)

Tested usage successfully by fbthrift:x64-windows-static:
fbthrift provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(FBThrift CONFIG REQUIRED)
    # note: 11 additional targets are not displayed.
    target_link_libraries(main PRIVATE FBThrift::async FBThrift::thrift FBThrift::transport FBThrift::thriftcpp2)

CMakeLists:
cmake_minimum_required (VERSION 3.8)
set(CMAKE_CXX_STANDARD 23)

project(test)

add_executable (main "CMakeProject42.cpp" "CMakeProject42.h")

find_package(FBThrift CONFIG REQUIRED)

target_link_libraries(main PRIVATE FBThrift::async FBThrift::thrift FBThrift::transport FBThrift::thriftcpp2)

CMakeSettings.json:
{
  "configurations": [
    {
      "name": "x64-Debug-static",
      "generator": "Visual Studio 16 2019 Win64",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "-DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/fb/vcpkg/scripts/buildsystems/vcpkg.cmake",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "CMAKE_TOOLCHAIN_FILE",
          "value": "-DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/fb/vcpkg/scripts/buildsystems/vcpkg.cmake"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "x64-windows-static"
        }
      ]
    }

  ]
}

@jiayuehua ,There is no difference between x64-windows-static and x64-windows CMakeLists, the difference lies in the settings of CMakeSettings.json.

thanks JonLiu1993 . Now I know the usage of this triplet.

Thanks for the dependency fixing!


Changing NavBar color to trigger Jenkins

@yukilover2005 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Togo25epPreTrain_TransOrig-n_ep20-Feb_12-lr001-b_size64-upsm_ratio10

Thank you for trying out the tutorial! Since the crop-mask-example/train.py is an auto-generated example we are not accepting changes to it. If you are interested in creating your own maps with machine learning and earth observation data please check out: https://github.com/nasaharvest/openmapflow#creating-a-map-from-scratch


How to use ctrl+[ to escape from vim command line

Esc works, but ctrl+[ doesn't work for escaping from command line...

I have this setting:
{
  "key": "ctrl+[",
  "command": "vscode-neovim.escape",
  "when": "editorTextFocus && neovim.init"
}

If the quickpick window is focused, the editor is not focused. You need to fix your when clause.


Panics in IDE built with ./run watch

This task is automatically imported from the old Task Issue Board and it was originally created by Wojciech Daniło.
Original issue is here.

Steps to reproduce

On Mac, start the development IDE and wait until it compiles: ./run watch
Open Chrome (Version 98.0.4758.102 (Official Build) (x86_64))
Navigate Chrome to: http://localhost:8080/?project=Unnamed
Open Developer Console in Chrome

Expected
IDE should display the contents of the Project.
Actual
A "spinner" circle shows. After a while, the Chrome window flashes; after the flash, the website area's content shows as empty in Chrome, and the Developer Console shows some panics. The panics seem to vary in messages and their order on repeated attempts at reproducing the issue. Refreshing Chrome or quitting it and then starting again also varies the messages in the console. The attachments contain some representative samples of the messages observed (screenshots + console log dumps).
Note: clean rebuild (after rm -rf dist/ ; ./run clean) does not appear to resolve the issue.
Additional notes

possibly related: #181296145

Comments:
Probably an Electron or a EnsoGL issue. Needs to be investigated from the GUI side.  (Michael Mauderer - Feb 1, 2023)

@wdanilo is this still relevant?


Prover changes for EVM ABI verification

Adds smtlib attributes to a few builtins, and changes the generated Z3 querys to something which is much faster in some proofs.

add to whitelist

test this please

test this please

test this please

test this please

test this please

test this please

test this please

test this please

The string builtin seems to be problematic for some tests, so I'm making a smaller version of this pull request.


PHP7 wrong resource type close connection

I have a correct query (works on SSMS) then I execute without any error with sqlsrv_query and get a resourse type (get_resource_type) SQL Server Statement but when I run sqlsrv_fetch_array I get this error Warning: sqlsrv_fetch_array(): supplied resource is not a valid ss_sqlsrv_stmt resource.
After that error I execute sqlsrv_free_stmt whit same error and after that I lost my db connection.
Im using your last driver version NTS, PHP 7.0.4RC1 and Visual C++ 2015 x86.
Many others queries works fine.

@sirio3mil do you have a repro script that you can share?
Thanks,
Meet

I'm testing (finally) php 7.0.7 x64 with last driver version 4.0.4 and it look like fixed. Regards.

Awesome! I will go ahead and close this issue :+1:


Failed to push files to DevOps

Describe the bug
I cloned azure-sdk-for-c(https://github.com/Azure/azure-sdk-for-c) to my project and tried to push the project files to our DevOps repo. Then error occurs: The push was rejected because it might contain credentials or other secrets.
To Reproduce
Steps to reproduce the behavior:

Clone azure-sdk-for-c from GitHub.
Set remote push URL to https://expresslogic.visualstudio.com/X-Ware/_git/netx
git remote add devops https://expresslogic.visualstudio.com/X-Ware/_git/netx
Push to a remote branch.  The push will be rejected.
git push devops main:test_push

Code Snippet
/sdk/samples/iot/aziot_esp32/readme.md(242,1-146) : error : CSCAN0090
/sdk/samples/iot/aziot_esp8266/readme.md(248,1-146) : error : CSCAN0090
/sdk/samples/iot/aziot_realtek_amebaD/readme.md(195,1-146) : error : CSCAN0090
/sdk/samples/iot/docs/how_to_iot_hub_esp32.md(230,1-146) : error : CSCAN0090
/sdk/samples/iot/docs/how_to_iot_hub_esp8266_nodemcu.md(154,1-142) : error : CSCAN0090
/sdk/samples/iot/docs/how_to_iot_hub_realtek_amebaD.md(183,1-146) : error : CSCAN0090
Setup (please complete the following information):

OS: Windows
IDE: N/A
Version of the Library used: latest

Additional context
Add any other context about the problem here.
Information Checklist
Please make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Some of those files no longer exist but I have a PR which closes the remaining secrets.
https://github.com/Azure/azure-sdk-for-c/pull/1870

/azp run


Do not restore QoS 0 subscriptions when clean=false

Based on MQTT spec,

After the disconnection of a Session that had CleanSession set to 0, the Server MUST store further QoS 1 and QoS 2 messages that match any subscriptions that the client had at the time of disconnection as part of the Session state [MQTT-3.1.2-5]

In this test "restore QoS 0 subscriptions not clean"
https://github.com/mcollina/aedes/blob/master/test/basic.js#L472
This is totally wrong.

That paragraph does not relate to that test. It does not check about QoS delivery, but rather on the fact that QoS 0 subscriptions must be restored.

I tried a test in vernemq.
In QoS 0 publish:

Client A subscribes with clean=false. mosquitto_sub -t hello -c -i my-client-0 -q 0
Client A disconnects
Client B publishes message mosquitto_pub -t hello -m world -q 0
Client A reconnects, same command in (1)

Client A does not receive any messages.
In QoS 1 publish:

Client A subscribes with clean=false. mosquitto_sub -t hello -c -i my-client-0 -q 0
Client A disconnects
Client B publishes message mosquitto_pub -t hello -m world -q 1
Client A reconnects, same command in (1)

Client A still does not receive any messages.

I have checked with the table http://www.steves-internet-guide.com/wp-content/uploads/MQTT-qos-retain-clean-session-table.jpg in http://www.steves-internet-guide.com/mqtt-clean-sessions-example/

Section <IP_ADDRESS> describes this behavior.
All subscriptions must be restored. A server may store the QoS 0 messages in between or not.
As far as I recall, mosquitto implements this logic.

Tried in mosquitto server,
QoS 0 subscriptions won't be restored, behaviour as same as in vernemq.

In [MQTT-3.1.2-5], it said the server stores further QoS 1 and 2 messages that MATCH the any subscriptions that the client had at the time of disconnection.
If the client subscribes QoS 0 and disconnects, server should not store any QoS 1 and 2 messages for him, because the QoS 1 and 2 messages do not match to the QoS what he subscribed at the time of disconnection.
Agree?

Yes, storing the message is a bug. But the subscription must be restored, i.e. when the client reconnects any new messages must be delivered. This is what I mean by “restore” the subscriptions.

The following is a unit test, and test on mosquitto and vernemq.

client connects and subscribes qos 0 hello topic with clean=false, then disconnect.
pubClient publishes world msg to hello topic with qos 0, then disconnects
client reconnects, if server restores its qos 0 subscription, client should receives the world msg, but it is not the case.

'use strict'

var mqtt = require('mqtt')
var test = require('tape')

function connect () {
  return mqtt.connect('mqtt://localhost', { clientId: 'abc', clean: false })
}

test('restore QoS 0 subscription', function (t) {
  var client = connect()
  client.on('connect', function () {
    client.subscribe({ hello: { qos: 0 } }, function (_, granted) {
      // client subscribes hello, qos: 0, and disconnects
      client.end()
      var pubClient = connect()
      // pubClient publishes hello, qos: 0, and disconnects
      pubClient.publish('hello', 'world', { qos: 0 }, function () {
        pubClient.end()
        // client reconnects
        client = connect()
        client.on('message', function (topic, message) {
          console.log('message received: ', message.toString())
          client.end()
          t.end()
        })
      })
    })
  })
})

If we change the QoS to 1 (qos_value =1), client will receives world message.

We are not talking about the the same thing. You are talking about offline enqueueing, I’m talking about subscriptions. Try publishing the message after reconnection.

ok, I modified the test code as below.
Same, client still not receive world message.
'use strict'

var mqtt = require('mqtt')
var test = require('tape')

var qosValue = 0

function connect () {
  return mqtt.connect('mqtt://localhost', { clientId: 'abc', clean: false })
}

test('restore QoS 0 subscription', function (t) {
  var client = connect()
  client.on('connect', function () {
    client.subscribe({ hello: { qos: qosValue } }, function (_, granted) {
      // client subscribes hello, qos: qosValue, and disconnects
      client.end()
      // client reconnects
      client = connect()
      var pubClient = connect()
      // pubClient publishes hello, qos: qosValue, and disconnects
      pubClient.publish('hello', 'world', { qos: qosValue }, function () {
        pubClient.end()
        client.on('message', function (topic, message) {
          console.log('message received: ', message.toString())
          client.end()
          t.end()
        })
      })
    })
  })
})

Likely you need to wait the client being connected.
Il giorno mar 13 ago 2019 alle 20:56 Gnought<EMAIL_ADDRESS>ha
scritto:

ok, I modified the test code as below.
Same, client still not receive world message.
'use strict'
var mqtt = require('mqtt')
var test = require('tape')
var qosValue = 0
function connect () {
return mqtt.connect('mqtt://localhost', { clientId: 'abc', clean: false })
}
test('restore QoS 0 subscription', function (t) {
var client = connect()
client.on('connect', function () {
client.subscribe({ hello: { qos: qosValue } }, function (_, granted) {
// client subscribes hello, qos: qosValue, and disconnects
client.end()
// client reconnects
client = connect()
var pubClient = connect()
// pubClient publishes hello, qos: qosValue, and disconnects
pubClient.publish('hello', 'world', { qos: qosValue }, function () {
pubClient.end()
client.on('message', function (topic, message) {
console.log('message received: ', message.toString())
client.end()
t.end()
})
})
})
})
})
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes/issues/299?email_source=notifications&email_token=AAAMXYY7R5XSGDLIA7CQGSTQEL7VLA5CNFSM4ILB5FFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4GULBY#issuecomment-520963463,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMXYZEXGWNSC6G2LZK2LLQEL7VLANCNFSM4ILB5FFA
.

ok, I wrap it in to connect event, but the result is the same.
'use strict'

var mqtt = require('mqtt')
var test = require('tape')

var qosValue = 0

function connect () {
  return mqtt.connect('mqtt://localhost', { clientId: 'abc', clean: false })
}

test('restore QoS 0 subscription', function (t) {
  var client = connect()
  client.on('connect', function () {
    client.subscribe({ hello: { qos: qosValue } }, function (_, granted) {
      // client subscribes hello, qos: qosValue, and disconnects
      client.end()
      // client reconnects
      client = connect()
      client.on('connect', function () {
        var pubClient = connect()
        // pubClient publishes hello, qos: qosValue, and disconnects
        pubClient.publish('hello', 'world', { qos: qosValue }, function () {
          pubClient.end()
          client.on('message', function (topic, message) {
            console.log('message received: ', message.toString())
            client.end()
            t.end()
          })
        })
      })
    })
  })
})

ok, @mcollina you're right. The QoS 0 subscription will be restored when clean=false.
The client and pubClient are in same clientID. The restored QoS 0 subscription happens in pubClient.
The following test refines to use different clientID for pubClient. All goes fine. :)
'use strict'

var mqtt = require('mqtt')
var test = require('tape')

var qosValue = 0

function connect (clientId) {
  return mqtt.connect('mqtt://localhost', { clientId: clientId, clean: false })
}

test('restore QoS 0 subscription', function (t) {
  var client = connect('abc')
  client.on('connect', function () {
    client.subscribe({ hello: { qos: qosValue } }, function (_, granted) {
      // client subscribes hello, qos: qosValue, and disconnects
      client.end()
      // client reconnects
      client = connect('abc')
      client.on('connect', function () {
        var pubClient = connect('pub')
        pubClient.on('connect', function () {
          // pubClient publishes hello, qos: qosValue, and disconnects
          pubClient.publish('hello', 'world', { qos: qosValue }, function () {
            pubClient.end()
            client.on('message', function (topic, message) {
              console.log('message received: ', message.toString())
              client.end()
              t.end()
            })
          })
        })
      })
    })
  })
})

The above unit test is an alternative good test in this topic, i will add it in our test suite too. :)

This was a good discussion!
Il giorno mar 13 ago 2019 alle 22:22 Gnought<EMAIL_ADDRESS>ha
scritto:

The above unit test is an alternative good test in this topic, i will add
it in our test suite too. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes/issues/299?email_source=notifications&email_token=AAAMXYZFRUMZQ53RI3MWH7LQEMJXJA5CNFSM4ILB5FFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4G32AA#issuecomment-520994048,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMXYYE4HBIF6APGWRMNWDQEMJXJANCNFSM4ILB5FFA
.


Studio renders PUB topics as SUB and SUB topics as PUB

Describe the bug
Previous version of https://studio.asyncapi.com/ was working as expected.
Currently even for default project, it renders wrong. Studio renders PUB topics as SUB and SUB topics as PUB
How to Reproduce
Paste following url to your browser
https://studio.asyncapi.com/
Please see following image.

Screenshots
Link to GitHub repository with project that has issues
Files that can help reproduce the issue, like your AsyncAPI file, either paste inside the issue in a code block or in a sharable gist

Expected behavior
Studio should show SUB topics as SUB and PUB topics as PUB

Thanks, https://github.com/asyncapi/asyncapi-react/pull/795 will soon fix it in react component that after fixing will be updated in studio

Thank you @derberg
When I paste completely another API to studio, some times it remembers previous API and somehow It merges them. I am not sure you are also aware of it.

@muhufuk better report separate issue for it. I'm not maintainer here in studio, I jumped in only because I noticed the error you reported is related to dependency of studio where I'm a maintainer

Fixed


Team Bushra

Free coins

Lion

Give lion

Please coin

How can I get free coins

Give me free coi

https://github.com/TikTokCo1n/TikTok-Ultimate-Free-Coins/issues/16#issue-2548594089


Not doing much.

It's not really changing my picture much. I've seen some very impressive results online upscaling old anime, and here it's like the image is identical. What's wrong?
The command: waifu2x-converter-cpp -m noise-scale -v 4 --noise-level 3 --scale-ratio 1.2 -i frame.png -o test.png
The images:
https://imgur.com/fXmgYzB
https://imgur.com/83zkOeC
They are nearly identical, which wasn't the objective. What am I doing wrong?

@arthurwolf What was your expected result?
The command did what you told it and removed a lot of noise from you image, see the comparison:
https://imgur.com/a/uPzuFjf

I was expecting much better results based on pictures I've seen around. I've since moved on to using Anime4X instead, and I'm getting much better results, so it's all fine, please ignore.

do you find linking to it I can't find a github for anime4x or etc? also I think it might have been more due to using the wrong algorithm but I could be wrong I don't really know much about this stuff

most close thing I can find is anime4k and that's a GLSL shader that upscales in real-time

I'm not having this issue but I still want to try waifu4x out as well


[Discussion]: 3.0: Deprecating MvcPrecompilation tool

In ASP.NET Core 1.1, we introduced the Microsoft.AspNetCore.Mvc.Razor.ViewCompilation (MVC precompilation tool) package that added support for publish time compilation of Razor files (.cshtml files). Starting in ASP.NET Core 2.1, we introduced the Razor SDK that expanded on the features of the precompilation tool by adding support for build and publish time of Razor files. The SDK allows for verifying the correctness of cshtml files at build time while also improving on startup time for applications. The Razor SDK is on by default and no gesture is required to start using it.
In 3.0, we plan to remove the earlier MVC precompilation tool. Earlier versions of the package will continue receiving important bug and security fixes as part of our patch release.
For users of ASP.NET Core 2.1 or later, we recommend migrating to the Razor SDK if you haven't already. If you're currently using the precompilation tool and are unable to migrate to the Razor SDK due to bugs or missing features, please file an issue at https://github.com/aspnet/Razor/issues.

Just today after updating the App metapackage my dotnet publish started failing with this error:
C:\Users\vicber\.nuget\packages\microsoft.aspnetcore.razor.design\2.1.2\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(69,5): error MSB4062: The "Microsoft.AspNetCore.Razor.Tasks.RazorTagHelper" task could not be loaded from the assembly C:\Users\vicber\.nuget\packages\microsoft.aspnetcore.razor.design\2.1.2\build\netstandard2.0\..\..\\tasks\netstandard2.0\Microsoft.AspNetCore.Razor.Tasks.dll. Assembly with same name is already loaded Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\Source\BBEEWT\myApp\src\LdapBrowser\LdapBrowser.csproj]
Is this related?

Just to clarify the needed change are you saying that apps that previously used:
<Project Sdk="Microsoft.NET.Sdk.Web">

should change to:
<Project Sdk="Microsoft.NET.Sdk.Razor">

?
and should we do this now to be ready for 3.0?

@VictorioBerra could you file a separate issue for the error you're seeing?
@joeaudette - Microsoft.NET.Sdk.Razor is meant for building Razor class library projects i.e. if you're building \ packaging UI in a class library. If you're building a regular web application, you should continue targeting Microsoft.NET.Sdk.Web; it bundles the Razor Sdk and no further action is required to use it.


noUnusedLocals with allowJS and checkJS causes error

TypeScript Version: 2.7.1
Search Terms:
checkJS, unusedlocals, tsc.js:59841
Code
Run: tsc test.js --noUnusedLocals --checkJS --allowJS --noEmit
With
class MyClass {

	doSomething() {
	};
}

Expected behavior:
No errors introduced
Actual behavior:
/usr/local/lib/node_modules/typescript/lib/tsc.js:59841
throw e;
^
Error: Debug Failure.
at checkUnusedClassMembers (/usr/local/lib/node_modules/typescript/lib/tsc.js:35757:38)
at checkUnusedIdentifiers (/usr/local/lib/node_modules/typescript/lib/tsc.js:35643:29)
at checkSourceFileWorker (/usr/local/lib/node_modules/typescript/lib/tsc.js:37913:21)
at checkSourceFile (/usr/local/lib/node_modules/typescript/lib/tsc.js:37891:13)
at getDiagnosticsWorker (/usr/local/lib/node_modules/typescript/lib/tsc.js:37945:17)
at Object.getDiagnostics (/usr/local/lib/node_modules/typescript/lib/tsc.js:37934:24)
at /usr/local/lib/node_modules/typescript/lib/tsc.js:59858:85
at runWithCancellationToken (/usr/local/lib/node_modules/typescript/lib/tsc.js:59834:24)
at getSemanticDiagnosticsForFileNoCache (/usr/local/lib/node_modules/typescript/lib/tsc.js:59848:20)
at getAndCacheDiagnostics (/usr/local/lib/node_modules/typescript/lib/tsc.js:60059:26)
Additional info:
If I remove the semi-colon from the doSomething method or don't pass the --noUnusedLocals flag  the error does not appear. I don't get the error in either case on TypeScript version 2.6.2. We are using allowJS/checkJS feature on our legacy JS at my shop and ran into this bug after 2.7.1 upgrade

Fixed by #21343?

Yep! Test with latest. Closing out.

@sandersn might be a good candidate for backporting

Good point @ajafff. It's too late for the official 2.7 release, but it could go into 2.7.2. What do you think, @mhegazy?

It is already ported. should be released with 2.7.2

When will be 2.7.2 be released?

No specific ETA at the moment. but we plan it to go out sometime in the next two weeks.

i think a new release containing just this bug fix would have been a good move.

2.7.2 should be live now.

I have the same problem with 2.8.1
$ tsc --version
Version 2.8.1

/usr/local/lib/node_modules/typescript/lib/tsc.js:61464
                throw e;
                ^

Error: Debug Failure. False expression: Target symbol and symbol do not have the same name
    at getLiteralTypeFromPropertyName (/usr/local/lib/node_modules/typescript/lib/tsc.js:26752:30)
    at eachPropertyRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28844:36)
    at indexTypesRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28893:36)
    at structuredTypeRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28593:51)
    at recursiveTypeRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28423:53)
    at isRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28139:38)
    at checkTypeRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:27990:26)
    at checkTypeComparableTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:27717:20)
    at checkAssertionWorker (/usr/local/lib/node_modules/typescript/lib/tsc.js:34558:21)
    at checkAssertion (/usr/local/lib/node_modules/typescript/lib/tsc.js:34549:20)

@sebsto looks like a completely different call stack - can you open a new issue with repro steps? Thanks!

I realized that after posting, new issue and steps to reproduce is here. https://github.com/Microsoft/TypeScript/issues/23461