llm-math raising an issue

I'm testing out the tutorial code for Agents:
`from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
llm = OpenAI(temperature=0)
tools = load_tools(["serpapi", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("What was the high temperature in SF yesterday in Fahrenheit? What is that number raised to the .023 power?")`
And so far it generates the result:
> Entering new AgentExecutor chain...  I need to find the temperature first, then use the calculator to raise it to the .023 power. Action: Search Action Input: "High temperature in SF yesterday" Observation: High: 60.8ºf @3:10 PM Low: 48.2ºf @2:05 AM Approx. Thought: I need to convert the temperature to a number Action: Calculator Action Input: 60.8
But raises an issue and doesn't calculate 60.8^.023
    raise ValueError(f"unknown format from LLM: {llm_output}") ValueError: unknown format from LLM: This is not a math problem and cannot be solved using the numexpr library.
What's the reason behind this error?

Hi , I think it might be due to there are 2 temperatures one is low and other is high hence the llm got confused on which it should perform math operation hence gave this error

hmm.. from the example that they give on the documentation
> Entering new AgentExecutor chain...  I need to find the temperature first, then use the calculator to raise it to the .023 power. Action: Search Action Input: "High temperature in SF yesterday" Observation: San Francisco Temperature Yesterday. Maximum temperature yesterday: 57 °F (at 1:56 pm) Minimum temperature yesterday: 49 °F (at 1:56 am) Average temperature ... Thought: I now have the temperature, so I can use the calculator to raise it to the .023 power. Action: Calculator Action Input: 57^.023 Observation: Answer: 1.0974509573251117
It works fine when they get two high and low temp values....

I am having the same issue. The correct answer appears from time to time. I leave it here in case someone could use it for debugging.
I am using these tools and prompts:
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)

agent.run("Who is the current leader of Japan? What is the largest prime number that is smaller that their age? Just say the number.")

Correct:
> Entering new AgentExecutor chain...
 I need to search for who the leader of Japan is and then find the prime number
Action: Search
Action Input: "Current Leader of Japan"
Observation: Fumio Kishida
Thought: I now need to find the largest prime number smaller than their age
Action: Calculator
Action Input: Kishida's age (68)
Observation: Answer: 68
Thought: I now know the final answer
Final Answer: 67

Incorrect:
> Entering new AgentExecutor chain...
 I need to figure out who the leader of Japan is, then use the Calculator to find the largest primer number that is smaller than their age
Action: Search
Action Input: Who is the current leader of Japan?
Observation: Fumio Kishida
Thought: I need to use the Calculator to find the largest primer number that is smaller than Fumio Kishida's age
Action: Calculator
Action Input: Largest primer number smaller that 68
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[/usr/local/lib/python3.9/dist-packages/langchain/chains/llm_math/base.py](https://localhost:8080/#) in _evaluate_expression(self, expression)
     58             output = str(
---> 59                 numexpr.evaluate(
     60                     expression.strip(),

17 frames
<expr> in <module>

TypeError: 'VariableNode' object is not callable

Another incorrect answer:
> Entering new AgentExecutor chain...
 I will need to search for the leader of Japan and then figure out a way to calculate the prime number smaller than their age.
Action: Search
Action Input: Leader of Japan
Observation: Fumio Kishida
Thought: I need to find out their age
Action: Search
Action Input: Age of Fumio Kishida
Observation: 65 years
Thought: I now need to use a calculator to find out the largest prime number smaller than 65
Action: Calculator
Action Input: 65
Observation: Answer: 65
Thought: That was not the answer I was looking for, I need to find the largest prime number smaller than 65
Action: Calculator
Action Input: Largest prime number smaller than 65
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[/usr/local/lib/python3.9/dist-packages/langchain/chains/llm_math/base.py](https://localhost:8080/#) in _evaluate_expression(self, expression)
     58             output = str(
---> 59                 numexpr.evaluate(
     60                     expression.strip(),

17 frames
<expr> in <module>

TypeError: 'VariableNode' object is not callable

Another one:
> Entering new AgentExecutor chain...
 I need to find out who the leader is, as well as their age.
Action: Search
Action Input: 'current leader of Japan'
Observation: Fumio Kishida
Thought: I need to find their age.
Action: Search
Action Input: 'Fumio Kishida age'
Observation: 65 years
Thought: I need to find the largest prime number that is smaller than 65.
Action: Calculator
Action Input: 'prime numbers smaller than 65'
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
[<ipython-input-42-08418b732b7d>](https://localhost:8080/#) in <cell line: 1>()
----> 1 agent.run("Who is the current leader of Japan? What is the largest prime number that is smaller that their age? Just say the number.")

12 frames
[/usr/local/lib/python3.9/dist-packages/langchain/chains/llm_math/base.py](https://localhost:8080/#) in _process_llm_result(self, llm_output)
     84             answer = "Answer: " + llm_output.split("Answer:")[-1]
     85         else:
---> 86             raise ValueError(f"unknown format from LLM: {llm_output}")
     87         return {self.output_key: answer}
     88

ValueError: unknown format from LLM: This question does not have a single line mathematical expression that can be executed using Python's numexpr library.

Ran into this issue as well. Resolved by changing the temperature from 0 to 0.9.

I'm getting the same issue as well, not sure why or what the solution is.  It's almost 100% consistent?

Hi , the issue #3071 I think it might be due to there are 2 temperatures one is low and other is high hence the llm got confused on which it should perform math operation hence gave this error

Where/how is this occuring and how would we fix?

I also have the same issue:
Thought: I need to translate this into a human-readable format
Action: Calculator
Action Input: Round off 29077.702127659573 to the nearest integer[2023-05-06 18:01:15,574] ERROR in app: Exception on /d4r_chat/api/v1.0/agent [POST]
Traceback (most recent call last):
  File "D:\SynologyDrive\Drive\desk\d4r-kb-indexer\venv\lib\site-packages\langchain\chains\llm_math\base.py", line 80, in _evaluate_expression    numexpr.evaluate(
  File "D:\SynologyDrive\Drive\desk\d4r-kb-indexer\venv\lib\site-packages\numexpr\necompiler.py", line 817, in evaluate
    _names_cache[expr_key] = getExprNames(ex, context)
  File "D:\SynologyDrive\Drive\desk\d4r-kb-indexer\venv\lib\site-packages\numexpr\necompiler.py", line 704, in getExprNames
    ex = stringToExpression(text, {}, context)
  File "D:\SynologyDrive\Drive\desk\d4r-kb-indexer\venv\lib\site-packages\numexpr\necompiler.py", line 289, in stringToExpression
    ex = eval(c, names)
  File "<expr>", line 1, in <module>
TypeError: 'VariableNode' object is not callable```

It works

Ran into this issue as well. Resolved by changing the temperature from 0 to 0.9.

It works

Changing temperature from 0 to something else resolves the issue.

For me it doesn't work with GPT4 model no matter how I adjusted the temperature.
Code:
gpt4 = ChatOpenAI(temperature=0.5,model_name="gpt-4")
agent_004 = initialize_agent(tools, gpt4, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
with get_openai_callback() as cb:
    # output = agent_004.run("What is 32000 multiplied by 650 in the order of magnitude?")
    # since the previous output will throw an error at rounding, I test the following specifically
    output = agent_004.run(f"Round this number to an integer: {7.318063349}")
    print(cb)

Console:
> Entering new AgentExecutor chain...
I need to round the number to the nearest integer.
Action: Calculator
Action Input: round(7.318063349)

Error:
ValueError: LLMMathChain._evaluate("round(7.318063349)") raised error: 'VariableNode' object is not callable. Please try again with a valid numerical expression

When dealing with math questions, you want to set the temperature close to 0 to prevent hallucination.
Instead clarify in the tool description that the model only should input math expressions:
llm_math_chain = LLMMathChain(llm=llm, verbose=True)
math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math. This tool is only for math questions and nothing else. Only input math expressions.",
    )

For exception TypeError: 'VariableNode' object is not callable: LLM-math chain uses numexpr to evaluate the expression. numexpr doesn't support all operations yet, unfortunaltely round() is one among others: https://numexpr.readthedocs.io/en/latest/user_guide.html#supported-functions

Faced the same issue with Cohere . I was trying to learn about agents, here's my code
from langchain.llms import Cohere
from langchain.agents import load_tools, initialize_agent

llm = Cohere(cohere_api_key=cohere_api_key, temperature=0.1)
tools = load_tools(["wikipedia", "llm-math"], llm=llm)

agent = initialize_agent(tools=tools, llm=llm, agent="zero-shot-react-description", verbose="True")
agent.run("what is the name of the person who played the character of 'skyler white' in breaking bad and what are some other movies by the same actor. Also, how much time in years is 1 billion seconds?")

OUTPUT error:
ValueError: unknown format from LLM:
60 * 60 * 24 * 365

...numexpr.evaluate("60 * 60 * 24 * 365")

Had to modify the question a few times for it to arrive at the "right thought", when it finally did, it ended up with the following error.
Initially I had not set any temperature (default for cohere is 0.75, from their documentation).
I'm totally lost as it just doesn't arrive at the right answer(to the first question itself, instead of 'getting' that it was played by anna gunn, it keeps throwing out weird info about the show, its episodes. never reaches the second part of the question (at least not till I exhaust my free-trial usage).
Modified the question to something simpler, agent.run("how many children did 'skyler white' have in breaking bad. Also, how much time in years is 1 billion seconds?") and now it returns with irrelevant information:
> Finished chain.

Skyler White (née Lambert) is a fictional character in Breaking Bad, portrayed by Anna Gunn.

nothing about the billion seconds in yr part (besides answering something irrelevant instead of no. of children in the show)

I gave up on langChain because I think the math tool, although convenience for the first glance, not easily tunable and very difficult to 'tame'. It would be better to write a your math tool to solve a very specific problem, and execute it yourself. However, that would be dangerous if any of the answer was prompt-injected.
The problem is the LLM has returned expression that the numexpr package do not support - that's an example and an inherent limitation - it's called hallucination.
Setting higher temperature won't do us any good, as we are hoping it to jump around to write a correct code that functions.

I gave up on langChain math tool because I think that is not easily tunable, making agents very difficult to 'tame'. It would be better to write my own math tools to solve a very specific problems, and execute it myself. However, that would be dangerous if any of the answer was prompt-injected.

Too early for me to give up on it, I barely understand the details right now. Thanks though.

The problem is the LLM has returned expression that the numexpr package do not support - that's an example and an inherent limitation - it's called hallucination. Setting higher temperature won't do us any good, as we are hoping it to jump around to write a correct code that functions.

thanks for breaking it down, I get it now. kind of.

I will try this implementation with a customised tool.

When dealing with math questions, you want to set the temperature close to 0 to prevent hallucination. Instead clarify in the tool description that the model only should input math expressions:
llm_math_chain = LLMMathChain(llm=llm, verbose=True)
math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math. This tool is only for math questions and nothing else. Only input math expressions.",
    )

For exception TypeError: 'VariableNode' object is not callable: LLM-math chain uses numexpr to evaluate the expression. numexpr doesn't support all operations yet, unfortunaltely round() is one among others: https://numexpr.readthedocs.io/en/latest/user_guide.html#supported-functions
Instead I created a custom tool that evaluates the expression with eval:
class CalculatorTool(BaseTool):
    name = "CalculatorTool"

    description = """
    Useful for when you need to answer questions about math.
    This tool is only for math questions and nothing else.
    Formulate the input as python code.
    """

    def _run(self, question: str):
        return eval(question)

    def _arun(self, value: Union[int, float]):
        raise NotImplementedError("This tool does not support async")

hopefully, will explore more on this. As of now, I was just experimenting (read trying to mash up various things without knowing wth i'm doing most of the time)

In my example, it somehow confused the first step (calculator instead of search) and then just failed. Sometimes, though, calculator is sufficient with the same prompt. Agent used search in this approach -- why?
llm = OpenAI(openai_api_key=os.environ["OPENAI_API_KEY"], temperature=0.7)

tools = load_tools(["serpapi", "llm-math"], llm=llm)

agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

agent.run("My monthly salary is 10000 KES, if i work for 10 months. How much is my total salary in USD in those 10 months.")
> Entering new AgentExecutor chain...
 I need to convert KES to USD
Action: Calculator
Action Input: 10000 KES to USD
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[9], line 1
----> 1 agent.run("My monthly salary is 10000 KES, if i work for 10 months. How much is my total salary in USD in those 10 months.")

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:451, in Chain.run(self, callbacks, tags, metadata, *args, **kwargs)
    449     if len(args) != 1:
    450         raise ValueError("`run` supports only one positional argument.")
--> 451     return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
    452         _output_key
    453     ]
    455 if kwargs and not args:
    456     return self(kwargs, callbacks=callbacks, tags=tags, metadata=metadata)[
    457         _output_key
    458     ]

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:258, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, include_run_info)
    256 except (KeyboardInterrupt, Exception) as e:
    257     run_manager.on_chain_error(e)
--> 258     raise e
    259 run_manager.on_chain_end(outputs)
    260 final_outputs: Dict[str, Any] = self.prep_outputs(
    261     inputs, outputs, return_only_outputs
    262 )

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:252, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, include_run_info)
    246 run_manager = callback_manager.on_chain_start(
    247     dumpd(self),
    248     inputs,
    249 )
    250 try:
    251     outputs = (
--> 252         self._call(inputs, run_manager=run_manager)
    253         if new_arg_supported
    254         else self._call(inputs)
    255     )
    256 except (KeyboardInterrupt, Exception) as e:
    257     run_manager.on_chain_error(e)

File /opt/homebrew/lib/python3.10/site-packages/langchain/agents/agent.py:1029, in AgentExecutor._call(self, inputs, run_manager)
   1027 # We now enter the agent loop (until it returns something).
   1028 while self._should_continue(iterations, time_elapsed):
-> 1029     next_step_output = self._take_next_step(
   1030         name_to_tool_map,
   1031         color_mapping,
   1032         inputs,
   1033         intermediate_steps,
   1034         run_manager=run_manager,
   1035     )
   1036     if isinstance(next_step_output, AgentFinish):
   1037         return self._return(
   1038             next_step_output, intermediate_steps, run_manager=run_manager
   1039         )

File /opt/homebrew/lib/python3.10/site-packages/langchain/agents/agent.py:890, in AgentExecutor._take_next_step(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)
    888         tool_run_kwargs["llm_prefix"] = ""
    889     # We then call the tool on the tool input to get an observation
--> 890     observation = tool.run(
    891         agent_action.tool_input,
    892         verbose=self.verbose,
    893         color=color,
    894         callbacks=run_manager.get_child() if run_manager else None,
    895         **tool_run_kwargs,
    896     )
    897 else:
    898     tool_run_kwargs = self.agent.tool_run_logging_kwargs()

File /opt/homebrew/lib/python3.10/site-packages/langchain/tools/base.py:349, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, **kwargs)
    347 except (Exception, KeyboardInterrupt) as e:
    348     run_manager.on_tool_error(e)
--> 349     raise e
    350 else:
    351     run_manager.on_tool_end(
    352         str(observation), color=color, name=self.name, **kwargs
    353     )

File /opt/homebrew/lib/python3.10/site-packages/langchain/tools/base.py:321, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, **kwargs)
    318 try:
    319     tool_args, tool_kwargs = self._to_args_and_kwargs(parsed_input)
    320     observation = (
--> 321         self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
    322         if new_arg_supported
    323         else self._run(*tool_args, **tool_kwargs)
    324     )
    325 except ToolException as e:
    326     if not self.handle_tool_error:

File /opt/homebrew/lib/python3.10/site-packages/langchain/tools/base.py:491, in Tool._run(self, run_manager, *args, **kwargs)
    488 """Use the tool."""
    489 new_argument_supported = signature(self.func).parameters.get("callbacks")
    490 return (
--> 491     self.func(
    492         *args,
    493         callbacks=run_manager.get_child() if run_manager else None,
    494         **kwargs,
    495     )
    496     if new_argument_supported
    497     else self.func(*args, **kwargs)
    498 )

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:451, in Chain.run(self, callbacks, tags, metadata, *args, **kwargs)
    449     if len(args) != 1:
    450         raise ValueError("`run` supports only one positional argument.")
--> 451     return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
    452         _output_key
    453     ]
    455 if kwargs and not args:
    456     return self(kwargs, callbacks=callbacks, tags=tags, metadata=metadata)[
    457         _output_key
    458     ]

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:258, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, include_run_info)
    256 except (KeyboardInterrupt, Exception) as e:
    257     run_manager.on_chain_error(e)
--> 258     raise e
    259 run_manager.on_chain_end(outputs)
    260 final_outputs: Dict[str, Any] = self.prep_outputs(
    261     inputs, outputs, return_only_outputs
    262 )

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py:252, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, include_run_info)
    246 run_manager = callback_manager.on_chain_start(
    247     dumpd(self),
    248     inputs,
    249 )
    250 try:
    251     outputs = (
--> 252         self._call(inputs, run_manager=run_manager)
    253         if new_arg_supported
    254         else self._call(inputs)
    255     )
    256 except (KeyboardInterrupt, Exception) as e:
    257     run_manager.on_chain_error(e)

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/llm_math/base.py:149, in LLMMathChain._call(self, inputs, run_manager)
    143 _run_manager.on_text(inputs[self.input_key])
    144 llm_output = self.llm_chain.predict(
    145     question=inputs[self.input_key],
    146     stop=["```output"],
    147     callbacks=_run_manager.get_child(),
    148 )
--> 149 return self._process_llm_result(llm_output, _run_manager)

File /opt/homebrew/lib/python3.10/site-packages/langchain/chains/llm_math/base.py:112, in LLMMathChain._process_llm_result(self, llm_output, run_manager)
    110     answer = "Answer: " + llm_output.split("Answer:")[-1]
    111 else:
--> 112     raise ValueError(f"unknown format from LLM: {llm_output}")
    113 return {self.output_key: answer}

ValueError: unknown format from LLM: This question cannot be solved using the numexpr library, as it is not a mathematical expression.

@kirdin1  - Did you ever resolve your issues?
Mine are very similar, also using llm-math and serpapi. I get partial execution until a second calculator operation, then I get all the error messages from various base.py files.


Added The Graphic Design School

@tjands Could you please provide us with an URL of a page on the official website where an IT-related long-term (>1 year) course is offered by the school.

@tjands You might miss my previous comment. Please react.

Hey @philipto, sorry I missed this response earlier.
Many of our students in our primary graphic design course https://www.thegraphicdesignschool.com/courses/graphic-design-courses, go on to do our 6 month web design course https://www.thegraphicdesignschool.com/courses/web-design-courses.
thanks :)

@tjands I am sorry for a delay with processing your request. The issue is that according to the repository rules,

Your pull request for adding a new email domain to the repository will be satisfied if all of the conditions below are met:

The domain is used by an educational institution, which offers at least one long-term course (one year or longer), and the course is somehow related to IT (it is in computer science, software engineering, statistics, bioinformatics, etc.)
The educational institution is a physical entity with student attendance and recognized as providing a learning curriculum for the educational system, or the institution is an accredited online educational organization providing their students with: (1) online courses with a curriculum at least one year long, (2) a dedicated email address which is provided to students only until their graduation.

Your school offers a 6-month course, which is not a long-term one. I have to close this request without merging. Please apply for an appropriate licensing option (which may also be free) at https://www.jetbrains.com/buy/classroom/#commercial
Thank you for the understanding!


dnacenter_pnp_device_import does not save device id to terraform state

Prerequisites

[x] Have you tested the operation in the API directly?
[x] Do you have the latest Terraform provider version?
[x] Review the compatibility matrix before opening an issue.

Describe the bug
DNAC API returns device id when importing pnp device, it is however not saved to terraform state. Device id is required parameter for other resources, for example: dnacenter_pnp_device_site_claim.
Here is API reply, id field here is device id:
BODY         :
{
   "successList": [
      {
         "version": 2,
         "deviceInfo": {
            "serialNumber": "FOC2531LB5Q",
            "name": "FOC2531LB5Q",
            "dnacDeviceType": "NETWORK",
            "pid": "C9300-48U",
            "lastSyncTime": 0,
            "addedOn":<PHONE_NUMBER>304,
            "lastUpdateOn":<PHONE_NUMBER>304,
            "firstContact": 0,
            "lastContact": 0,
            "lastContactDuration": 0,
            "provisionedOn": 0,
            "state": "Unclaimed",
            "onbState": "Not Contacted",
            "cmState": "Not Contacted",
            "hostname": "labhf-osl-bn-2",
            "source": "User",
            "reloadRequested": false,
            "aaaCredentials": {
               "username": "",
               "password": ""
            },
            "populateInventory": false,
            "poeSupported": false,
            "capwapBackOff": false,
            "redirectionState": "NONE",
            "dayN": false,
            "dayNClaimOperation": "NO_OP",
            "tlsState": "NO_OP",
            "reProvision": false,
            "authOperation": "AUTHORIZATION_NOT_REQUIRED",
            "apProvisionStatus": "DAY0",
            "provisioningServerType": "DNAC",
            "stack": false,
            "sudiRequired": false,
            "validActions": {
               "editSUDI": true,
               "editWfParams": true,
               "delete": true,
               "claim": true,
               "unclaim": true,
               "reset": false,
               "authorize": false,
               "resetMsg": "This device is not in Error state. Only Error devices may be Reset.",
               "authorizeMsg": "This Device is not in PendingAuthorization state."
            },
            "siteClaimType": "Default"
         },
         "workflowParameters": {},
         "dayNCmdQueue": [],
         "runSummaryList": [
            {
               "timestamp":<PHONE_NUMBER>306,
               "details": "User Added Device",
               "errorFlag": false
            }
         ],
         "tenantId": "62fe613eaa85d640eb70561e",
         "id": "63d7f9a37a269d000c26d867"
      }
   ],
   "failureList": []
}

Here is how terraform resource looks like, device id is missing:
resource "dnacenter_pnp_device_import" "this" {
    id   = "1675098560"
    item = [
        {
            failure_list = []
            success_list = [
                {
                    day_zero_config         = []
                    day_zero_config_preview = ""
                    device_info             = [
                        {
                            aaa_credentials              = [
                                {
                                    password = ""
                                    username = ""
                                },
                            ]
                            added_on                     =<PHONE_NUMBER>304
                            addn_mac_addrs               = []
                            agent_type                   = ""
                            auth_status                  = ""
                            authenticated_mic_number     = ""
                            authenticated_sudi_serial_no = ""
                            capabilities_supported       = []
                            cm_state                     = "Not Contacted"
                            description                  = ""
                            device_sudi_serial_nos       = []
                            device_type                  = ""
                            features_supported           = []
                            file_system_list             = []
                            first_contact                = 0
                            hostname                     = "labhf-osl-bn-2"
                            http_headers                 = []
                            image_file                   = ""
                            image_version                = ""
                            ip_interfaces                = []
                            last_contact                 = 0
                            last_sync_time               = 0
                            last_update_on               =<PHONE_NUMBER>304
                            location                     = []
                            mac_address                  = ""
                            mode                         = ""
                            name                         = "FOC2531LB5Q"
                            neighbor_links               = []
                            onb_state                    = "Not Contacted"
                            pid                          = "C9300-48U"
                            pnp_profile_list             = []
                            populate_inventory           = "false"
                            pre_workflow_cli_ouputs      = []
                            project_id                   = ""
                            project_name                 = ""
                            reload_requested             = "false"
                            serial_number                = "FOC2531LB5Q"
                            site_id                      = ""
                            site_name                    = ""
                            smart_account_id             = ""
                            source                       = "User"
                            stack                        = "false"
                            stack_info                   = []
                            state                        = "Unclaimed"
                            sudi_required                = "false"
                            tags                         = ""
                            user_mic_numbers             = []
                            user_sudi_serial_nos         = []
                            virtual_account_id           = ""
                            workflow_id                  = ""
                            workflow_name                = ""
                        },
                    ]
                    run_summary_list        = [
                        {
                            details           = "User Added Device"
                            error_flag        = "false"
                            history_task_info = []
                            timestamp         =<PHONE_NUMBER>306
                        },
                    ]
                    system_reset_workflow   = []
                    system_workflow         = []
                    tenant_id               = "62fe613eaa85d640eb70561e"
                    type_id                 = ""
                    version                 = 2
                    workflow                = []
                    workflow_parameters     = [
                        {
                            config_list                = []
                            license_level              = ""
                            license_type               = ""
                            top_of_stack_serial_number = ""
                        },
                    ]
                },
            ]
        },
    ]

    parameters {
        payload {
            version = 0

            device_info {
                added_on       = 0
                first_contact  = 0
                hostname       = "labhf-osl-bn-2"
                last_contact   = 0
                last_sync_time = 0
                last_update_on = 0
                pid            = "C9300-48U"
                serial_number  = "FOC2531LB5Q"
            }
        }
    }
}

Expected behavior
Device id should be saved to state.
Environment (please complete the following information):

Cisco DNA Center version and patch: <IP_ADDRESS>-70045
Terraform version: 1.3.6
Cisco DNA Center provider version: 1.0.15-beta
OS Version: Ubuntu 20.04.5

Hey @mschedrin , please try it again with v1.0.18-beta, and update us.

It works now.


use lazy initialization for Vocabularies

resolve bug #437 using Lazy

Thanks for the fix.
P.S. If you write your comments as 'Fixes #issue_no' or 'Resolves #issue_no' GitHub will close the issue when the PR is merged automatically.

does github close issues from comments if you do not have contribute permission to the repo?
Sent from my iPhone

On Jul 3, 2015, at 3:25 PM, Mehdi Khalili<EMAIL_ADDRESS>wrote:
Thanks for the fix.
P.S. If you write your comments as 'Fixes #issue_no' or 'Resolves #issue_no' GitHub will close the issue when the PR is merged automatically.
—
Reply to this email directly or view it on GitHub.

shame on me for not checking...
https://help.github.com/articles/closing-issues-via-commit-messages/
looks like it closes on merge to master...
Sent from my iPhone

On Jul 3, 2015, at 3:25 PM, Mehdi Khalili<EMAIL_ADDRESS>wrote:
Thanks for the fix.
P.S. If you write your comments as 'Fixes #issue_no' or 'Resolves #issue_no' GitHub will close the issue when the PR is merged automatically.
—
Reply to this email directly or view it on GitHub.

Yes. No worries. Looking forward to seeing more great contributions from you :)

This is now released to NuGet as v1.37.7. Thanks for the fix.


Using the LogicApp HTTP Connector for working with Storage Queues

My uses case is that I have a LogicApp and Azure Storage account in the same region, and the firewall is enabled on the storage account. It's my understanding that you can use the HTTP connector to work with queue messages even if the LogicApp and storage account are in the same region and the firewall is enabled.
I would like to POST messages into a Queue using the HTTP connector provided as part of the LogicApp functionality (picture of it here):

I am unable to find definitive documentation for all required Headers. I believe you need x-ms-date or Date and x-ms-version. What about an Authorization header? What should be set at the bottom for Authentication? Is it required to use a SystemManaged identity, or can I use an User Created identity?
I have also followed the instructions on this page however, I only run into 403 errors.
Some additional specific documentation around interacting with Storage Queues via the LogicApp HTTP connector would be great.  Thank you!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 90a4bd03-9c86-4c9b-5834-c2966c2f3720
Version Independent ID: a070cc29-15aa-c072-b90b-64c616ef51cc
Content: Authorize access to blobs and queues using Active Directory - Azure Storage
Content Source: articles/storage/common/storage-auth-aad.md
Service: storage
Sub-service: common
GitHub Login: @tamram
Microsoft Alias: tamram

Hi @mlcooper,
Check out this guidance in Azure Logic Apps about connecting to storage accounts in the same region behind a firewall. Although this guidance exists in the docs for the Azure Blob Storage connector, the info might also apply to the Azure Queues connector.
Also, Standard logic app workflows provide an Azure Queue Storage built-in connector, which provides direct access to resources in a virtual network.


Binary CPT Project Final Review

Binary Project Review

Score
Project Part
Commits
Video
Team

 Needs Scoring
Binary Blackjack

Commits

Video

Score
Project Part
Commits
Video
Sri Vaidya S

 Needs Scoring
Confetti upon winning

Commits

Video

What I did...
Austin, Cayden and I worked on the binary blackjack project. We split roles accordingly, the feature I mostly worked on was the confetti feature which pops confetti all over the screen once the player wins a game. I also worked on making and editing the video for the team which is to be presented as well.
Confetti Feature
The confetti is a set of shapes pre-defined by CSS. The colors of them are randomly assigned with the number of confetti set to 150 each round. The confetti is set off by an if-then statement which triggers the confetti once the player wins any game. The JS script works by assigning 150 random shapes with random colors once the player wins and their position is set to the top of the screen. The shapes fall which creates a cool confetti effect once the player wins.
What I could have done if I had more time
I would have worked on improving the confetti overall, although this was a small code, the level of bugs was pretty high. A few examples include how the confetti just randomly form at the top of the page, but I've temporarily fixed it by setting a time limit to clear the confetti after each round. It also gets pretty slow after consecutive wins, the confetti either get stuck or just vanish 1/3rd through the page.

Score
Project Part
Commits
Video
Saaras Kondali & Eric Yu

 Needs Scoring
Binary Blackjack

Commits

Video

We noticed that our website design was lacking and was slightly boring so in order to fix that what we were able to do. Is talk to Lopez and set up animations. We used a technology called keyframes in order to do this which allowed for text to be flipped in a markdown box.

Score
Project Part
Commits
Video
Austin Zhang

0.9/0.9
Binary Blackjack

Commits

Video

I coded the entire game, and the rest of the team added little features to my base. I coded Javascript functions for the entire game, from generating random cards to comparing the scores at the end. I also coded functions to convert between decimal and binary.

Score
Project Part
Commits
Video
Cayden Shi

 Needs Scoring
Binary Blackjack

Commits

Video

While Austin worked on the base for the logic and function side of the code, I worked on the main base css section of the code. I coded the main base css for the website, creating buttons, and coding the layout for the site. Going a little more in depth, I coded the background, empty buttons, original fonts (changed by other team members), etc.

Team Video Link
Video

Team Review "Scrum Master A" grading "Scrum Master B"

[x ] The team should have a Web Pages that teach: Binary, Data, Data Structures, Data Abstraction.

Team Review ticket containing key Team and individual contributions

[x ] Growth/Accomplishments in work is according to historical Team Plan, or they show revisions to plan according to work
[ x] Short falls/Improvement that could be made in Work or Team Plan, team highlights next steps or improvements that could be made
[ x] Showing key accomplishments according to requirement in Frontend such as Binary Math, ASCII, Unicode, Color Codes, Logic Gates, etc.
[x ] Showing key user interaction and learning(s).  For instance how you visualized  Algorithms, Data, Data Structures.  Or, how you provided response and Feedback to user on their success in learning.

Per check.
0.55 not attempted/no check
0.7 attempted, incoomplete, but some runtime
0.8 mastery and runtime
0.9 above and beyond.
Freeform comment.
Very good teamwork, the work was divided clearly, and all people contributed at least 10 hours a week for this project. Key commits show progress and also embody the perfect grade

Individual Review Karam K grading Austin Z
[x] Individual should show that they were key contributor and example to team. This includes their participation in ideas, plans, creating individual issues, providing code commits to project, crossover grading participation, being on task and positive example in the classroom.
Individuals Video, Issue(s), Commits(s)
[ x] Video in CPT caption style , includes Web demo of key contribution to project, 1 minute
[ x] Issue(s) that show plans/progress to team objectives
[ x] Highlights of key commit(s) in Issues, summarizes code contributions
[ x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks
Per check.
0.9 above and beyond.
Freeform comment.
Was a hard worker for this project. Coded all of the logic in javascript for the Binary Blackjack game. Also worked on the HTML and CSS styling to make the game look better. Made functions in javascript for the game itself, for comparing scores, for generating cards, and for converting between binary and decimal.

Individual Review Daniel C grading Cayden S
[x] Individual should show that they were key contributor and example to team. This includes their participation in ideas, plans, creating individual issues, providing code commits to project, crossover grading participation, being on task and positive example in the classroom.
Individuals Video, Issue(s), Commits(s)
[ x] Video in CPT caption style , includes Web demo of key contribution to project, 1 minute
[ x] Issue(s) that show plans/progress to team objectives
[ x] Highlights of key commit(s) in Issues, summarizes code contributions
[ x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks
Per check.
0.89/0.9
My review: Overall, enjoyed their premise behind the project. The project was well thought out and the app worked as intended. Pretty cool. Cayden worked on the main CSS base which everyone else built off of. He coded the base visuals of the program to make it look flashy.

Individual Grading Jordan P grading Sri S
Individual should show that they were key contributor and example to team. This includes their participation in ideas, plans, creating individual issues, providing code commits to project, crossover grading participation, being on task and positive example in the classroom.
Individuals Video, Issue(s), Commits(s)
[ ] Video in CPT caption style , includes Web demo of key contribution to project, 1 minute
[ ] Issue(s) that show plans/progress to team objectives
[ ] Highlights of key commit(s) in Issues, summarizes code contributions
[ ] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks
Per check.
0.9 above and beyond.
Freeform comment.
The confetti after you win binary blackjack is cool to watch! Good job on the project!


No bond order info from prmtop files

interfaces.openmm.amber_to_mol uses prmtop files, which don't contain bond order information, which means we lose bond orders when we use tleap to assign forcefield parameters.
We need to reassign them - currently we use templates to do the best we can, but this will fail for ligands, non-standard residues, etc.

Partially addressed, but not fixed, in f6aa6379ae1a8aab10b5485e3c5ef2456dfbd3d8

We have tests for this now that appear to be passing :)


how to generate basic patterns?

If I want to train this model in my own dataset ,  how to generate basic patterns?
And in mmrotate/datasets/dota.py,  how can I obtain the  value of palette if I run the model in my own dataset?

how did you solve it?


The secret for the dummy identity used to boot the server shouldn't be hard-coded

the secret for the dummy identity used to boot the server shouldn't be hard-coded in the source code, an attacker could restore the account from the secret on a ThreefoldConnect app and login with it to access the server dashboard.
instead, it should be either random (by not passing the words arg) or passed as env.
https://github.com/threefoldtech/owncloud_deployer/blob/2f31fe6af9696f18104fd6d268142e839bdf22c6/docker/init.sh#L10

Verfied


gasnetex: invalid attempt to perform a gather from gpu device memory

I have a program that fails on two nodes with this stack trace:
(gdb) bt
#0  0x000020000612eb88 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x000020000612e8bc in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:137
#2  0x000000001287c5c8 in Realm::realm_freeze (signal=11) at /g/g15/yadav2/taco/legion/legion/runtime/realm/runtime_impl.cc:177
#3  <signal handler called>
#4  __memcpy_power7 () at ../sysdeps/powerpc/powerpc64/power7/memcpy.S:90
#5  0x00002000060f35a8 in __GI_memmove (dest=0x20009cf90000, src=<optimized out>, len=<optimized out>) at ../sysdeps/powerpc/memmove.c:50
#6  0x00000000130c4210 in std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<Realm::dummy_32b_t> (__first=0x20290727e6c0, __last=0x20290727f580, __result=0x20009cf90000)
    at /usr/tce/packages/gcc/gcc-4.9.3/gnu/include/c++/4.9.3/bits/stl_algobase.h:378
#7  0x00000000130c1dd8 in std::__copy_move_a<false, Realm::dummy_32b_t const*, Realm::dummy_32b_t*> (__first=0x20290727e6c0, __last=0x20290727f580, __result=0x20009cf90000)
    at /usr/tce/packages/gcc/gcc-4.9.3/gnu/include/c++/4.9.3/bits/stl_algobase.h:396
#8  0x00000000130be488 in std::__copy_move_a2<false, Realm::dummy_32b_t const*, Realm::dummy_32b_t*> (__first=0x20290727e6c0, __last=0x20290727f580, __result=0x20009cf90000)
    at /usr/tce/packages/gcc/gcc-4.9.3/gnu/include/c++/4.9.3/bits/stl_algobase.h:434
#9  0x00000000130ba47c in std::copy<Realm::dummy_32b_t const*, Realm::dummy_32b_t*> (__first=0x20290727e6c0, __last=0x20290727f580, __result=0x20009cf90000)
    at /usr/tce/packages/gcc/gcc-4.9.3/gnu/include/c++/4.9.3/bits/stl_algobase.h:466
#10 0x00000000130b19b0 in Realm::memcpy_2d_typed<Realm::dummy_32b_t> (dst_base=35187005652992, dst_lstride=3776, src_base=35360585803456, src_lstride=15104, bytes=3776, lines=4)
    at /g/g15/yadav2/taco/legion/legion/runtime/realm/transfer/channel.cc:57
#11 0x000000001309ac28 in Realm::memcpy_2d (dst_base=35187005652992, dst_lstride=3776, src_base=35360585803456, src_lstride=15104, bytes=3776, lines=4)
    at /g/g15/yadav2/taco/legion/legion/runtime/realm/transfer/channel.cc:150
#12 0x00000000130a8e38 in Realm::RemoteWriteXferDes::progress_xd (this=0x2034a867abb0, channel=0x1a0e94d0, work_until=...) at /g/g15/yadav2/taco/legion/legion/runtime/realm/transfer/channel.cc:3751
#13 0x00000000130c9e78 in Realm::XDQueue<Realm::RemoteWriteChannel, Realm::RemoteWriteXferDes>::do_work (this=0x1a0e9508, work_until=...) at /g/g15/yadav2/taco/legion/legion/runtime/realm/transfer/channel.inl:161
#14 0x00000000127041b8 in Realm::BackgroundWorkManager::Worker::do_work (this=0x20002a87e930, max_time_in_ns=-1, interrupt_flag=0x0) at /g/g15/yadav2/taco/legion/legion/runtime/realm/bgwork.cc:611
#15 0x0000000012701460 in Realm::BackgroundWorkThread::main_loop (this=0x16aa3770) at /g/g15/yadav2/taco/legion/legion/runtime/realm/bgwork.cc:158
#16 0x0000000012706624 in Realm::Thread::thread_entry_wrapper<Realm::BackgroundWorkThread, &Realm::BackgroundWorkThread::main_loop> (obj=0x16aa3770) at /g/g15/yadav2/taco/legion/legion/runtime/realm/threads.inl:97
#17 0x000000001290bb00 in Realm::KernelThread::pthread_entry (data=0x16aa7ef0) at /g/g15/yadav2/taco/legion/legion/runtime/realm/threads.cc:774
#18 0x00002000000f8cd4 in start_thread (arg=0x20002a87f8b0) at pthread_create.c:309
#19 0x0000200006177e14 in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:104

Talking to @streichler on slack, he asked for the following information from GDB:
(gdb) f 12
(gdb) p *this
$1 = {<Realm::XferDes> = {_vptr.XferDes = 0x13e4f430 <vtable for Realm::RemoteWriteXferDes+16>, dma_op =<PHONE_NUMBER>4304, xferDes_queue = 0x13e9ec30 <Realm::XferDesQueue::get_singleton()::xferDes_queue>,
    launch_node = 0, iteration_completed = {value = {<std::atomic_bool> = {_M_base = {_M_i = false}}, <No data fields>}}, transfer_completed = {value = {<std::atomic_bool> = {_M_base = {
            _M_i = false}}, <No data fields>}}, current_in_port_mask =<PHONE_NUMBER>455328808, current_out_port_mask = 333942808, current_in_port_remain = 0, current_out_port_remain = 334913280,
    input_ports = std::vector of length 1, capacity 1 = {{mem = 0x1a07c8d0, iter = 0x2034dc002d90, serdez_op = 0x0, peer_guid = 0, peer_port_idx = 0, indirect_port_idx = -1, is_indirect_port = false,
        needs_pbt_update = {value = {<std::atomic_bool> = {_M_base = {_M_i = false}}, <No data fields>}}, local_bytes_total = 0, local_bytes_cons = {value = {<std::__atomic_base<unsigned long>> = {
              _M_i = 0}, <No data fields>}}, remote_bytes_total = {value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}}, seq_local = {contig_amount_x2 = {
            value = {<std::__atomic_base<unsigned long>> = {_M_i = 0}, <No data fields>}}, first_noncontig = {value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}},
          mutex = 0x2034dc002d30, spans = std::map with 0 elements}, seq_remote = {contig_amount_x2 = {value = {<std::__atomic_base<unsigned long>> = {_M_i = 0}, <No data fields>}}, first_noncontig = {
            value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}}, mutex = 0x2034dc002280, spans = std::map with 0 elements}, ib_mem = {id = 0, static NO_MEMORY = {id = 0,
            static NO_MEMORY = <same as static member of an already seen type>}}, ib_offset = 0, ib_size = 0, addrlist = {total_bytes = 3564544, write_pointer = 4, read_pointer = 0, static MAX_ENTRIES = 1000, data = {
            60418,<PHONE_NUMBER>0, 944, 15104, 0 <repeats 996 times>}}, addrcursor = {addrlist = 0x2034dc0035f0, partial = false, static MAX_DIM = 8, partial_dim = 0, pos = {0, 0, 0, 0, 0, 0, 0, 0}}}},
    output_ports = std::vector of length 1, capacity 1 = {{mem = 0x2034a0002520, iter = 0x2034dc002560, serdez_op = 0x0, peer_guid = 0, peer_port_idx = 0, indirect_port_idx = -1, is_indirect_port = false,
        needs_pbt_update = {value = {<std::atomic_bool> = {_M_base = {_M_i = false}}, <No data fields>}}, local_bytes_total = 0, local_bytes_cons = {value = {<std::__atomic_base<unsigned long>> = {
              _M_i = 0}, <No data fields>}}, remote_bytes_total = {value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}}, seq_local = {contig_amount_x2 = {
            value = {<std::__atomic_base<unsigned long>> = {_M_i = 0}, <No data fields>}}, first_noncontig = {value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}},
          mutex = 0x2034dc002b50, spans = std::map with 0 elements}, seq_remote = {contig_amount_x2 = {value = {<std::__atomic_base<unsigned long>> = {_M_i = 0}, <No data fields>}}, first_noncontig = {
            value = {<std::__atomic_base<unsigned long>> = {_M_i =<PHONE_NUMBER>3709551615}, <No data fields>}}, mutex = 0x2034dc0027b0, spans = std::map with 0 elements}, ib_mem = {id = 0, static NO_MEMORY = {id = 0,
            static NO_MEMORY = <same as static member of an already seen type>}}, ib_offset = 0, ib_size = 0, addrlist = {total_bytes = 3564544, write_pointer = 2, read_pointer = 0, static MAX_ENTRIES = 1000, data = {
            57032705,<PHONE_NUMBER>2, 0 <repeats 998 times>}}, addrcursor = {addrlist = 0x2034dc005690, partial = false, static MAX_DIM = 8, partial_dim = 0, pos = {0, 0, 0, 0, 0, 0, 0, 0}}}}, input_control = {decoder = {
        temp_count = 0, port_shift = 0}, control_port_idx = -1, current_io_port = 0, remaining_count =<PHONE_NUMBER>3709551615, eos_received = false}, output_control = {decoder = {temp_count = 0, port_shift = 0},
      control_port_idx = -1, current_io_port = 0, remaining_count =<PHONE_NUMBER>3709551615, eos_received = false}, max_req_size = 16777216, priority = 0, guid = 46, kind = Realm::XFER_REMOTE_WRITE, channel = 0x16b92020,
    fill_data = 0x2034dc003120, fill_size = 0, orig_fill_size = 0, static ALIGNED_FILL_STORAGE_SIZE = 32, inline_fill_storage = {
      data = '\000' <repeats 12 times>, "d", '\000' <repeats 11 times>, "\241\005\000\000\000\000\000"}, xd_lock = {{placeholder = {0, 0, 0, 0, 0,<PHONE_NUMBER>010754, 0, 4}}}, update_read_lock = {{placeholder = {0, 0, 0,
          0, 0,<PHONE_NUMBER>, 0, 0}}}, update_write_lock = {{placeholder = {0, 0, 0, 0, 0,<PHONE_NUMBER>1,<PHONE_NUMBER>, 0}}}, progress_counter = {value = {<std::__atomic_base<unsigned int>> = {_M_i = 0}, <No data fields>}},
    reference_count = {value = {<std::__atomic_base<unsigned int>> = {_M_i = 1}, <No data fields>}}, xd_link = {next_within_pri = 0x0, lastlink_within_pri = 0x2034dc003208, next_lower_pri = 0x0}, available_req_mutex = {
      {placeholder = {0, 0, 0, 0, 0, 0, 1,<PHONE_NUMBER>}}}, available_reqs = std::queue wrapping: std::deque with 0 elements, deferred_enqueue = {<Realm::EventWaiter> = {
        _vptr.EventWaiter = 0x13e4f098 <vtable for Realm::XferDes::DeferredXDEnqueue+16>, ew_list_link = {next = 0x0}}, xferDes_queue = 0x200000202, xd = 0x0}}, requests = 0x0}
(gdb) p/x input_ports[0].mem->me
$2 = {id = 0x1e00000000000001, static NO_MEMORY = {id = 0x0, static NO_MEMORY = <same as static member of an already seen type>}}
(gdb) p/x output_ports[0].mem->me
$3 = {id = 0x1e00010000000002, static NO_MEMORY = {id = 0x0, static NO_MEMORY = <same as static member of an already seen type>}}

The problem goes away when -gex:bindcuda 0 is passed to the program.

I think that this is also fixed for me.


Text to speech fails after a few calls to synthesizer.SpeakTextAsync

Describe the bug
After calling synthesizer.SpeakTextAsync a few times I get an unmanaged exception Exception with an error code: 0x1b (SPXERR_RUNTIME_ERROR)
To Reproduce
I don't know exactly why this happens. it seems to be sort of random. I wrote a smart room using Speech Recognition and I am using TTS for the responses. After a few times, it crashes.
the program is running on a raspberry pi with Ubuntu MATE and .net core 3
here is my code
       public class TTSService:IDisposable
        {
            private SpeechSynthesizer synthesizer;
            private readonly ILogger<TTSService> logger;

        public TTSService(IConfiguration config, ILogger<TTSService> logger)
        {
            var ttsConfig = SpeechConfig.FromSubscription(config["speechKey"], config["speechRegion"]);
            synthesizer = new SpeechSynthesizer(ttsConfig);
            this.logger = logger;
        }

        public async Task Say(string text)
        {
            try
            {
                using (var result = await synthesizer.SpeakTextAsync(text)) ;
            }
            catch
            {
                logger.LogError("Error in TTS");
            }
        }

        public void Dispose()
        {
            synthesizer.Dispose();
        }

I create a  TTSService using DI and then call  Say in my code.
Version of the Cognitive Services Speech SDK
I am using version 1.11.0
Platform, Operating System, and Programming Language

OS: Ubuntu MATE
result of lsb_release -a

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

Hardware - ARM64
Programming language: C#

Additional context
I enabled logging and got the following :
(510): 194299ms SPX_TRACE_ERROR: AZ_LOG_ERROR:  threadapi_pthreads.c:79 (result = THREADAPI_NO_MEMORY)
(510): 194299ms SPX_TRACE_ERROR:  trace_message.cpp:205 Error: File:/csspeech/external/azure-c-shared-utility/adapters/threadapi_pthreads.c Func:ThreadAPI_Create Line:79
(510): 194299ms SPX_THROW_HR_IF:  default_speaker.cpp:67 (0x01B) = 0x1b
(510): 194300ms SPX_TRACE_ERROR:  exception.cpp:103 About to throw Exception with an error code: 0x1b (SPXERR_RUNTIME_ERROR)
[CALL STACK BEGIN]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0xf9580) [0x6b9f7580]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x1ede90) [0x6baebe90]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x1ee0de) [0x6baec0de]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x1d808a) [0x6bad608a]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x2246ba) [0x6bb226ba]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x154f8e) [0x6ba52f8e]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x148a82) [0x6ba46a82]
/home/pi/test/runtimes/linux-arm/native/libMicrosoft.CognitiveServices.Speech.core.so(+0x133994) [0x6ba31994]
[CALL STACK END]

@yulin-li  Could take a look ?

Hi @efraimnewman , sorry for the inconvenience. Could you try to upgrade to the latest version (1.13.0) of SDK to see if the issue is still there. If so, could you pls enable logging and paste the log here for our investigation?

Here is the complete log file for 1.11. I will now try it on 1.13
speechLog.log

After updating, I tried for a while and this error did not come up. but I am not sure it won't happen soon

Seems like problem is solved

Thanks @efraimnewman for updating.


Release Readyness Checklist

With release hardware on the horizon we're ramping up toward a launchable codebase with wrinkles ironed out and a small wishlist of day-1 features:

[ ] The blit API should be reasonably stable but as long as  no. 2 is enforced this shouldn't be a huge deal, + known bugs fixed (#354 #344 #221)
[ ] The firmware->user code API should be FINAL (or relatively so). Changing this potentially makes binaries incompatible with the firmware.
[ ] We should be building/releasing firmware for Beta and Final units (merge #360 and do a test release)
[ ] Examples should be tidied up and converted to asset pipeline where appropriate (#365)
[ ] Examples should all have metadata config, icon and splash
[ ] PIC should be finalised and merged though I'm keenly aware how heavily we're leaning on @Daft-Freak for this!
[ ] Documentation should be given a shakeup
[ ] Releases should include license and documentation (#145)
[ ] Ensure 32blit Python flash tool implements all features and can replace the C++ one

Nice to have's:

[ ] Some method of updating firmware without DFU (#192)
[ ] A more complete set of easing functions and corresponding demo (#350)

For the firmware API, I think we need a version field there and somewhere in game headers so that it can possibly be extended.
I started on an easing demo somewhere...
For PIC there are a few things left:

Need to fix CDC flashing (doesn't handle relocations)
Sort out the stdlib build, currently requires that you either build most of GCC, or needs 100MB of libs to be downloadable from somewhere. (~20MB zipped)
Fix the travis build
There's a script to prepend a header with relocation info, that probably needs something doing to it (https://github.com/Daft-Freak/32blit-beta/blob/pic-returns/tools/gather-relocs)
Will need a little adjusting after the metadata stuff

Should replacing the flash tool with the new one be on the list somewhere? I think it's close.

Agreed regarding versioning the firmware API, at least that would give us some way to feed back the incompatibility rather than just crashing outright. Games would need to define a "target fw version" or something, I guess.

We could earmark CDC flashing as a "dev only" thing and not worry too much about it for now, if it helps.
stdlib is 😬  I guess it's easy enough just to host the libs somewhere- maybe tagged onto github releases? Guess they'd ideally need to be fetched automagically for building.
Should gather-relocs be part of the 32blit Python tooling?

Added flash tool to the list! Good point.

I don't think CDC flashing should be too hard, at worst it could just drop the relocs and flash to 0... (I haven't touched it yet, it's probably flashing somewhere weird)
If the stdlibs are hosted somewhere I think CMake has commands for downloading and extracting them. There are also the scripts I used to build them in the branch.
gather-relocs was a bit of a hacked together tool, not sure where it should end up... I guess every other tool for a game build is there. Its only dependency is pyelftools.

As of pimoroni/32blit-tools#31 the tools will have all the pieces in place to understand the reloc structure. I'll look at getting the relocs tool merged in as part of this.
Now we have a dependency on Construct in the tools, the DFU tool can come along for the ride too.


Simulator not available

I am evaluating whether to use HDLRegression. I'm a python noob so it's likely that is my issue.
Perhaps there is a help resource somewhere?
I'm following the hdlregression.pdf guide
When running assertion_test.py I get many messages:
Simulator  not available. Autodetecting
the resultant logs look like the simulator cannot be found.
I have tried adding hr.set_simulator as below:
hr = HDLRegression()
hr.set_simulator(simulator="MODELSIM", path='C:/Microchip/Libero_SoC_v2024.1/ModelSimPro/win32acoem/modelsim.exe')
and get this error:
Simulator change require new databases - delete ./hdlregression folder and rerun test suite.
deleting the folder did not help, swapping the order did not help. Neither did removing the .exe from the path.
I also tried adding modelsim env variables to no avail.

Hi Dave.
Which version of HDLRegression are you running? From version 0.5 the tool will try to autodetect which simulator to run, selecting in the following order:

Modelsim
NVC
GHDL
If you have several Modelsim versions installed it will select the one on top of your environmental variables.

Can you try with:

delete to hdlregression folder, i.e. start with a clean run.
remove the hr.set_simulator(....) call from your Python script.
modify object creation to hr = HDLRegression(simulator="MODELSIM")
run the regression script without any arguments

If this does not work, try to also add the Microchip Modelsim folder (C:/Microchip/Libero_SoC_v2024.1/ModelSimPro/win32acoem/) to the top of your environment variables list.
Br

Fixed in version 0.51


#461 FkContentType should have a Take rather than a Response.

Issue #461 - FkContentType is built with a Response. To handle more general use cases like Content-Type: text/html; charset=..., it should be built with a Take that will handle the request dynamically.

@davvd Can you find someone to review it?

@dalifreire Thanks, someone will review your pull request soon

@mkordas it's yours, please review

@dalifreire I'm on it

@dalifreire please add issue number to PR description

@mkordas Thanks! Here we go again! Issue number added...

@dalifreire see my comments above

@mkordas Fixed. Could you take a look again?

@dalifreire checking

@mkordas Please, check it again.

@mkordas Could you check if everything is right now?

@dalifreire sure, I'm back

@dalifreire there are still 2 things to be fixed

@mkordas Could you review again?

@dalifreire looks good!

@rultor merge

@rultor merge

@mkordas Thanks for your request. @yegor256 Please confirm this.

@dalifreire two comments from me

@yegor256 Thanks for review! Please, take a look if it's better now...

@dalifreire see my comments

@mkordas Thanks. Indentation was fixed.

@dalifreire looks good!

@rultor merge

@rultor merge

@mkordas Thanks for your request. @yegor256 Please confirm this.

@rultor try to merge

@rultor try to merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor try to merge

@yegor256 Done! FYI, the full log is here (took me 18min)

@elenavolokhova please, review this ticket for compliance with our QA rules

@rultor please deploy

@rultor please deploy

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor please deploy

@davvd Done! FYI, the full log is here (took me 12min)

@davvd Looks good!

@davvd Looks good!

@elenavolokhova thanks a lot :)

@mkordas added 10 mins to @elenavolokhova, for QA review, payment code is 79938921
Many thanks! 40 mins were added to your account in Transaction ID 56e145d60f6ed4019a000188 (task took 80 hours and 23 mins)
you're getting extra minutes here (c=25)
added +40 to your rating, now it is equal to +8572


Field validation error on a removed record.

Hello,
I am facing an interesting validation error.
When a user adds few rows using Editable Table PCF Control, and one of the records causes field validation error, even after removing the problematic row, the validation error persists.
Example.
User adds two rows, but only provides the required value for one, then hits Save.

This produces the Field validation error.

Now the user tries to add another row providing the required value

User removes the row causing the error (empty one).

User hits Save and gets the same Field validation error.

Hi @adoroscillator
Thank you for raising an issue.
We will consider it in a future version and let you know once it is available.


Release v0.9.0

This PR releases the version 0.9.0 of the action, including:

https://github.com/DataDog/synthetics-ci-github-action/pull/107

There are no changes in the documentation.

I'm going to merge without waiting for documentation folks' approval, as no docs were updated and this issue is kind of hot 🔥


TF.LITE GPU runtime error (Android Debug Bridge version 1.0.40)

adbd is already running as root
remount succeeded
710000000
Push third_party/tflite/tensorflow/contrib/lite/lib/arm64-v8a/libtensorflowLite.so to /data/local/tmp/aibench
Equal checksum with output/inception_v3.tflite and /data/local/tmp/aibench/inception_v3.tflite
Equal checksum with output/mobilenet_quant_v1_224.tflite and /data/local/tmp/aibench/mobilenet_quant_v1_224.tflite
Equal checksum with output/mobilenet_v1_1.0_224.tflite and /data/local/tmp/aibench/mobilenet_v1_1.0_224.tflite
Push bazel-bin/aibench/benchmark/model_benchmark to /data/local/tmp/aibench
Run /data/local/tmp/aibench/model_benchmark
('TFLITE', 'CPU', 'MobileNetV1')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
sleep 10
benchmarking: MobileNetV1,3,0
benchmark: MobileNetV1,3,0,8.184,52.478
('TFLITE', 'CPU', 'MobileNetV2')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'CPU', 'SqueezeNetV11')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'CPU', 'InceptionV3')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
sleep 10
benchmarking: InceptionV3,3,0
benchmark: InceptionV3,3,0,9.005,491.866
('TFLITE', 'CPU', 'VGG16')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'GPU', 'MobileNetV1')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'GPU', 'MobileNetV2')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'GPU', 'SqueezeNetV11')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'GPU', 'InceptionV3')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)
('TFLITE', 'GPU', 'VGG16')
WARNING: linker: Warning: "/data/local/tmp/aibench/model_benchmark" unused DT entry: DT_RPATH (type 0xf arg 0xea3) (ignoring)

TFLITE does not support GPU.

@lee-bin , thanks so much for the comment.  I have some questions on TFLITE.

TFLITE non-quantized and quantized models. How does it determine to which kind of models to run which runtime(CPU/GPU/DSP/NPU)?
TFLITE doesn't support GPU, then do you know when or which version it gonna support GPU?

TFLITE only supports CPU, so it does not need to determine which one to use, it's always CPU.
You can consult TensorFlow team.

@lee-bin , does mobile-ai-bench support androidNN API ?

No, and it's not for Mobile AI Bench to support.

thanks. Sorry for making the misunderstanding
Let met change another words to ask my question.  I have my android device NNAPI implemented and it has ML-HAL to enable hardware acceleration.  In the current version of mobile-ai-bench meassurement,  does it support "use AndriodNN" on benchmarking?

TFLITE has the interface to set NNAPI:
https://github.com/XiaoMi/mobile-ai-bench/blob/master/aibench/executors/tflite/tflite_executor.cc#L41
For MACE/NCNN/SNPE, it does not support Android NNAPI.

@lydoc  @lee-bin , thanks so so much for all your answers


Search key doesn't register in chroot

Please paste the output of the following command here: sudo edit-chroot -all

encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/jessie...
crouton: version 1-20160715134041~master:0dc76a22
release: jessie
architecture: amd64
xmethod: xiwi
targets: extension,xiwi,keyboard,x11
host: version 8350.68.0 (Official Build) stable-channel peppy
kernel: Linux localhost 3.8.11 #1 SMP Tue Aug 2 21:29:22 PDT 2016 x86_64 GNU/Linux
freon: yes
Please describe your issue:
The search key doesn't get registered by the chroot at all. This happens both with and without the keyboard target.
To clarify, on my chromebook, I have swapped the search and control keys through chromeOS's own settings. In the chroot, xev shows that pressing the physical search key (which, in chromeOS, is mapped to Control), registers as Control_L. Pressing the control key (which, in chromeOS, is mapped to search), doesn't get registered at all. However, ChromeOS's own shortcuts involving search still work.
This behavior is only present in some recent update of ChromeOS (probably around 3 months). It used to work fine, so somehow the "search" function (which my physical Control key is mapped to) got grabbed by ChromeOS?
If known, describe the steps to reproduce the issue:
I have already reinstalled a new chroot (still jessie, with keyboard extension), and the problem is still reproduced. I am using awesome WM if that matters. In my old setup, the "search" function was mapped to Super_L, which in xmodmap has modifier Mod4.
I have followed these updated steps: https://github.com/dnschneid/crouton/wiki/awesome
However, the pressing the physical control key (which is mapped to "search") doesn't even get registered in xev, so it didn't help.

I also have this problem. I have used crouton and chroot for a long time, and this only began to occur to me last week.
I also get nothing in xev.

I now notice that this is the same issue as here: https://github.com/dnschneid/crouton/issues/2699

Duplicate of #2639.


⚠ Secret Website 3 has degraded performance

In 48dd712, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2595 ms

Resolved: Secret Website 3 performance has improved in f2275ef.