Is it possible to add error output when the return value types do not match?

I've encountered that if I specify an invalid return type for a function, the function itself executes, however, when the function returns, node crashes without any errors...
But i not quite sure, may be there is some problem with RetType.String...
Minimal code to reproduce:
// test.cpp, compile with: g++ -shared -o test.dll test.cpp
const char *EXAMPLE_ERR = "Example error";
extern "C" const char *setVolume(double newVolume) {
    std::cout << EXAMPLE_ERR << std::endl; // This work, we will see the error
    return EXAMPLE_ERR; // Here is node fall...

    // i also try standart way like
    // char* ret = new char[strlen(EXAMPLE_ERR ) + 1];
    // strcpy(ret, EXAMPLE_ERR );
    // return ret;
    // This also does not work...
}

I tried few return types, for example extern "C" char *setVolume() and so on...
// test.js
const { load, RetType, ParamsType } = require('ffi-rs');

const useDll = (vol) => {
  load({
    library: './test.dll', // path to the dynamic library file
    funcName: 'setVolume', // the name of the function to call
    retType: RetType.String, // the return value type
    paramsType: [ParamsType.Double], // the parameter types
    paramsValue: [vol] // the actual parameter values
  });
}
useDll(0.9); // here node was fall
console.log('Test'); // We didn't see this

The problem is that the function code runs, but it crashes without any messages at the time of return, so it’s difficult to quickly understand what the error is...
And by the way, I don’t understand why this doesn’t work, does the function seem to return the same type as in the example with concatenateStrings?
And i want to say is look like there is some problem to publishing last version of NPM-package. I see that this is must be done with github actions, but where is some error there.

Perfect error tips is the next thing todo

@zhangyuang ok, but what's wrong with my example? Can you reproduce that problem?

In the libffi scenario, you have to copy the string memory into a readable memory area using strcpy, if you use EXAMPLE_ERR directly it's a pointer to a string constant that points to a read-only memory
extern "C" const char *setVolume(double newVolume) {
  char *cstr = new char[100];
  strcpy(cstr, EXAMPLE_ERR);
  return cstr; // Here is node fall...
}

@zhangyuang as I mentioned in the first post - I tried this way. This causes node fall.
I also used the concatenateStrings  function from examples - it also breaks node.
load({
library: dynamicLib,
funcName: 'concatenateStrings',
retType: RetType.String,
paramsType: [ParamsType.String, ParamsType.String],
paramsValue: [c, d]
})
My NodeJS version is 16.20.2, system win 7 x64

🤔 I can't reproduce, concatenateStrings function can be executed succeed in my environment(macos node16/18) and github actions

@zhangyuang ok, i will check my code again

Well, I checked, concatenateStrings throws an error in my environment...
Without messages it is impossible to understand why. I'll wait for the implementation of error output.

me and a co-worker ran the same exact code, he gets no error on mac while I do on windows, that might be why.
waiting for error output too

While the application runs fine on mac, when I try running it on windows node just dies without outputting any errors.
We are using basically this:
https://github.com/bogdanfinn/tls-client/blob/master/cffi_dist/example_node/index.js
and adapted node-ffi-rs instead of ffi-napi since it's slower.
On mac it works fine, in windows It just dies without receiving the return value

Can you provide your arch? In ffi-rs github actions, the test can be executed succeed in x86_64-pc-windows-msvc

In my experience, this may be due to the fact that the length of the array passed in when using a string array exceeds the original length of the array causing the program to exit abnormally


doesnt work

it changes the sparx colour but doesnt like highlight any answers
just to clarify does it only highlights book work or answers of every qustion cuz i am not looking to solve my bookwork but actuall answers

i see nothing highlighted
trying to my homewrokd for like an hour

Hi @HamzahHussain1102,
This extension eliminates Bookwork checks and adds custom Colour themes. It does not solve your Sparxmaths questions.
Thanks, Najm


Include py.typed in MANIFEST.in

This enables packages that install dbt-core from pypi to use mypy.
Resolves #5737
Description
Currently when developing a dbt adapter and installing dbt-core with pip, I get errors like the following when trying to run mypy:
error: Skipping analyzing "dbt.contracts.connection": module is installed, but missing library stubs or py.typed marker
error: Skipping analyzing "dbt.events": module is installed, but missing library stubs or py.typed marker

This is because the file py.typed is not included in the package uploaded to pypi.
The PR aims to include the file in the official dbt-core package to allow type checking in packages that depend on it.
I tested a local install and the file py.typed is now included in the dbt folder.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

@panasenco Thanks for the PR! Would you just mind opening an issue to associate with it? The description you included above is sufficient

@panasenco Thanks for the PR! Would you just mind opening an issue to associate with it? The description you included above is sufficient

Done! #5737

Re-triggering Snyk CI


(PUP-7517) Allow agent daemon to time out stalled runs

On occasion, a puppet agent can end up waiting indefinitely on some process
that will never return or terminate. This patch adds a new setting, runtimeout,
that can be used to specify the maximum duration allowed for a puppet
run. When set to a non-zero value, the agent daemon will send a SIGTERM to any
agent run it starts which exceeds this value.
This patch does not handle runs started outside of the agent daemon by
puppet agent --onetime.

Tossing this up as a spike for feedback and commentary. The logic so far will allow daemonized agents on POSIX platforms to time out any runs they spawn, but won't handle an out-of-band run started by puppet agent -t which becomes blocked. To handle that case will likely require some logic around acquiring the catalog lockfile which kills agents that have been holding the lock for too long.

CLA signed by all contributors.

Updated with another patch that enforces runtimeout whenever an agent fails to acquire the catalog lock. If a live process exists that has been holding the lock for too long, it will be sent a TERM signal and the puppet agent will attempt to re-acquire the lock.

Added another update which uses taskkill to unstick agents on Windows. This seemed to be the easiest way to kill the agent along with any child processes that may be blocking it.

These patches have been updated with i18n translations and tests and should be ready for review.

As an FYI, we have a timeout inside of the DSC module as well for similar reasons (implemented on top of https://github.com/puppetlabs/puppetlabs-dsc/blob/018893f612178a9e12a08b50a267b34aeb0070b3/lib/puppet_x/puppetlabs/powershell_manager.rb#L86).  It's currently statically set to 20 minutes, but as part of MODULES-3180 we intended to make it user configurable (code is at https://github.com/puppetlabs/puppetlabs-dsc/blob/8380d19ec708dfcdd0562663bddb90e9e9ddad11/lib/puppet/provider/base_dsc/powershell.rb#L80)
Just some food for thought as it would be peculiar for a user to set a DSC timeout that's longer than the Puppet timeout as it would be surprising to an end user in the case where a run terminates before the configured DSC timeout.  It might make sense for the DSC module to use this Puppet level setting so that there's only a single place to set -- but on the other hand it could also be problematic given a single DSC resource, if still proceeding (like a heavy install - i.e. SQL Server), would never be allowed to run as long as the catalog setting.
Hmmmm....
/cc @puppetlabs/windows

Or an exec timeout for that matter too.  This also assumes it safe to kill a running child process, unless this PR is just killing the puppet process, not any children, which sounds dangerous.
EDIT - This PR kills the entire process tree on Windows.

I think having a separate timeout for DSC sounds great, and the setting for it should probably be exposed on a per-resource basis similar to what exec provides.
What this PR implements is a global "timeout of last resort" that is used in two places if enabled:

Puppet daemons using fork+exec to apply catalogs will kill the forked child process if it exceeds the runtimeout.

Other puppet runs, such as the puppet agent --onetime spawned by the Windows service, will examine the age of the catalog lockfile if they fail to acquire it. If the lockfile is found to be older than runtimeout, then the agent process which created it will be terminated.

The runtimeout setting defaults to 0, which is the current behavior of unlimited catalog application time. This setting is intended as a switch that can be flipped by folks with flaky networks or resources that are prone to hanging the Puppet agent to mitigate the hangs while we investigate to determine if there's a better way to solve the problem.

@Sharpie couple comments from PR triage - could we also discuss/explore leveraging a supervisor model where something is tracking the puppet process and kills it if it runs too long and/or leveraging system service management to do the same, ie systemd?

This process does implement a supervisor model for the case of puppet runs spawned by the POSIX daemon as it will use a polling wait that terminates the child after a timeout as opposed to a blocking wait.
For the case of runs spawned by puppet agent -t, we'd have to also spawn a supervisor process or get into platform-specific tools like systemd (assuming systemd supports timeouts for spawned children as opposed to just the top-level process, seems unlikely).
However, as it stands this PR is essentially two lines of change to the existing agent logic when runtimeout is enabled:

The indefinite blocking wait around forked runs is replaced with a polling wait.

A retry statement is added to the existing begin-rescue-end around acquiring the catalog lock.

Replacing the second case with a supervisor model seems like it would be much more complicated than a simple retry. The only benefit I can think of is that it would allow a hung agent -t to time its self out without relying on a subsequent run to come along and do cleanup, but I'm not sure if that's worth the extra complexity.

Let me know if there are any more questions or change requests for this PR. It would be nice to get this moving towards a release as our current options for remediating hung agents require manual action by Puppet operators, which has a large impact on small teams.

@ThoughtCrhyme would you mind doing some manual testing of this on Windows? We want to make sure it's not going to do bad things.

Let me know if any questions come up during testing. There is a beaker acceptance test included in the PR that should be runnable on Windows. It assumes the presence of SSH and Cygwin, which is a bit wonky, but part of the standard loadout for Puppet test VMs.

@Iristyle @MosesMendoza are you happy with this PR? @ahpook and @Sharpie would like to get it in as soon as possible.

Lots of the folks that have been hit with hung agents are on the PE 2016.4 LTS. This is technically a new feature, but it is disabled by default and has the effect of mitigating bugs.

Cool, thanks. If I can get one more approval, I'll get this merged.

Looking at the code, it looks good to me.
I have the following observations:

If the system is pushed back in time, the timeout would be longer than expected. The only way to work around that is to use something like time since boot instead of the current time, because the current time can be changed by people (or NTP).

If the child process is ignoring or capturing the SIGTERM signal (on Posix) then the system will be back to hanging waiting on the process to exit. (which most probably won't be)

The same as 2) but is true, if the process is unkillable in the kernel (like stuck on NFS), we'll just hang waiting for it. (which is probably ok because the systems got other issues too)

Based on the above conversations, it looks good based on the path we've chosen.

@branan raised concerns about the 4.10 branch target for this PR. We should more thoroughly evaluate the risk of merging this feature into the LTS stream.

@branan @Magisus are there concerns beyond what @Sharpie comment above addresses? that sounds pretty good to me:

Lots of the folks that have been hit with hung agents are on the PE 2016.4 LTS. This is technically a new feature, but it is disabled by default and has the effect of mitigating bugs.

Had a chat with @Sharpie and to summarize, this looks great, though I'm not a fan of one Puppet process killing an existing Puppet process regardless of the heuristics it uses - I would much prefer for process that starts a run to be responsible for killing it if it times out.
With that in mind the main issue becomes the fact that we don't fork for onetime runs, so Charlie is going to look at using Timeout.timeout for that case. There's some concern about the lack of clean up that would happen during a received signal that won't happen if there's a Timeout::Error thrown. We might want to mimic what the application signal handlers register in that case?

@justinstoller Alright, this is re-factored to use a Timeout instead of sending kill signals. Turned out to be a much, much simpler approach.

I like this new approach more than the old one.

Removed the use of a custom exception class and added an expectation on exit code.

Hey @Sharpie , I did a functional review of this last week intending to check that box and then merge, however it seems that with this the agent crashes, doesn't display the error message but throws stacktraces. At this point I'm happy to take this on and finish it up, but I've bitten off a fair bit helping plan out the file serving to clojure port and so won't be able to wrap it up until later this week.
Also, I'm hugely sorry Charlie, I thought I had responded with this (sub correct week references) last week after I found that out, but obviously dropped the ball on responding.

I just tried this out on top of a PE 2016.4.8 install and I'm not seeing a stack trace:
[root@pe-201648-master ~]# puppet agent -t --runtimeout 1s
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Error: Execution of Puppet configuration client did not complete within 1 seconds and was terminated.

Similar results with adding the setting to puppet.conf and re-starting the daemon, with an added message about the forked agent returning unexpectely:
[root@pe-201648-master ~]# journalctl --full -u puppet |tail -n6
Oct 26 15:14:18 pe-201648-master.puppetdebug.vlan puppet-agent[13050]: Caught TERM; exiting
Oct 26 15:14:18 pe-201648-master.puppetdebug.vlan systemd[1]: Started Puppet agent.
Oct 26 15:14:18 pe-201648-master.puppetdebug.vlan systemd[1]: Starting Puppet agent...
Oct 26 15:14:20 pe-201648-master.puppetdebug.vlan puppet-agent[25992]: Starting Puppet client version 4.10.8
Oct 26 15:14:21 pe-201648-master.puppetdebug.vlan puppet-agent[25994]: Execution of Puppet configuration client did not complete within 1 seconds and was terminated.
Oct 26 15:14:21 pe-201648-master.puppetdebug.vlan puppet[25992]: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:83:in `fork': unexpected return

@justinstoller What sort of stack trace are you observing?

I ran this locally with a few different scenarios and I found, at least when waiting on an exec this:
sellout:puppet justin$ bundle exec puppet agent -t  --server localhost --runtimeout 8s
/usr/local/lib/ruby/gems/2.4.0/gems/CFPropertyList-2.2.8/lib/cfpropertylist/rbCFTypes.rb:24: warning: constant ::Fixnum is deprecated
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for localhost
Info: Applying configuration version '1509061132'
Notice: hello
Notice: /Stage[main]/Main/Node[default]/Notify[hello]/message: defined 'message' as 'hello'
Error: /Stage[main]/Main/Node[default]/Exec[/bin/sleep 10]: Could not evaluate: Puppet::Util::Log requires a message
Info: Node[default]: Unscheduling all events on Node[default]
Notice: Applied catalog in 2.40 seconds
Error: Failed to apply catalog: metric name nil is not a string

I see the desired output when not waiting on an Exec:
sellout:puppet justin$ bundle exec puppet agent -t  --server localhost --runtimeout 1s
/usr/local/lib/ruby/gems/2.4.0/gems/CFPropertyList-2.2.8/lib/cfpropertylist/rbCFTypes.rb:24: warning: constant ::Fixnum is deprecated
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Error: Execution of Puppet configuration client did not complete within 1 seconds and was terminated.

I don't see a stacktrace up there, but when I do request them they look like this:
sellout:puppet justin$ bundle exec puppet agent -t  --server localhost --runtimeout 8s --trace
/usr/local/lib/ruby/gems/2.4.0/gems/CFPropertyList-2.2.8/lib/cfpropertylist/rbCFTypes.rb:24: warning: constant ::Fixnum is deprecated
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for localhost
Info: Applying configuration version '1509061710'
Notice: hello
Notice: /Stage[main]/Main/Node[default]/Notify[hello]/message: defined 'message' as 'hello'
Error: /Stage[main]/Main/Node[default]/Exec[/bin/sleep 10]: Could not evaluate: Puppet::Util::Log requires a message
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/log.rb:348:in `message='
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/log.rb:278:in `initialize'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/log.rb:87:in `new'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/log.rb:87:in `create'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/logging.rb:12:in `send_log'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/event.rb:81:in `send_log'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:163:in `ensure in sync_if_needed'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:164:in `sync_if_needed'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:88:in `block in perform_changes'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:87:in `each'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:87:in `perform_changes'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/resource_harness.rb:21:in `evaluate'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:230:in `apply'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:246:in `eval_resource'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:163:in `call'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:163:in `block (2 levels) in evaluate'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:507:in `block in thinmark'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:506:in `thinmark'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:163:in `block in evaluate'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/graph/relationship_graph.rb:118:in `traverse'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction.rb:154:in `evaluate'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/resource/catalog.rb:222:in `block in apply'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/log.rb:155:in `with_destination'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/report.rb:142:in `as_logging_destination'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/resource/catalog.rb:221:in `apply'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:171:in `block in apply_catalog'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:224:in `block in benchmark'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'                                                                                [55/4727]
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:223:in `benchmark'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:170:in `apply_catalog'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:343:in `run_internal'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:221:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/context.rb:65:in `override'
/Users/justin/Backup/code/work/server/puppet/lib/puppet.rb:306:in `override'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:195:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:54:in `block (5 levels) in run'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:93:in `block in timeout'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `block in catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:108:in `timeout'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:53:in `block (4 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent/locker.rb:21:in `lock'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:47:in `block (3 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:114:in `with_client'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:44:in `block (2 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:81:in `run_in_fork'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:43:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:179:in `controlled_run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:41:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application/agent.rb:353:in `onetime'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application/agent.rb:331:in `run_command'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:358:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:662:in `exit_on_fail'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:358:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/command_line.rb:132:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/command_line.rb:72:in `execute'
/Users/justin/Backup/code/work/server/puppet/bin/puppet:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/bin/puppet:22:in `load'
/usr/local/lib/ruby/gems/2.4.0/bin/puppet:22:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:362:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:22:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:13:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/exe/bundle:30:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/exe/bundle:22:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Info: Node[default]: Unscheduling all events on Node[default]
Notice: Applied catalog in 2.52 seconds
Error: Failed to apply catalog: metric name nil is not a string
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/metric.rb:48:in `newvalue'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/report.rb:161:in `block in add_metric'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/report.rb:160:in `each'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/report.rb:160:in `add_metric'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/transaction/report.rb:203:in `finalize_report'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:174:in `apply_catalog'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:343:in `run_internal'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:221:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/context.rb:65:in `override'
/Users/justin/Backup/code/work/server/puppet/lib/puppet.rb:306:in `override'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/configurer.rb:195:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:54:in `block (5 levels) in run'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:93:in `block in timeout'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `block in catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:33:in `catch'
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/timeout.rb:108:in `timeout'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:53:in `block (4 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent/locker.rb:21:in `lock'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:47:in `block (3 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:114:in `with_client'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:44:in `block (2 levels) in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:81:in `run_in_fork'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:43:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:179:in `controlled_run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/agent.rb:41:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application/agent.rb:353:in `onetime'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application/agent.rb:331:in `run_command'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:358:in `block in run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util.rb:662:in `exit_on_fail'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/application.rb:358:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/command_line.rb:132:in `run'
/Users/justin/Backup/code/work/server/puppet/lib/puppet/util/command_line.rb:72:in `execute'
/Users/justin/Backup/code/work/server/puppet/bin/puppet:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/bin/puppet:22:in `load'
/usr/local/lib/ruby/gems/2.4.0/bin/puppet:22:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:362:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:22:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/cli.rb:13:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/exe/bundle:30:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/exe/bundle:22:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'

It looks like the transaction harness' ensure block is running but can't recover.

Okay, I give up. For giggles I tried the different call signature of Timeout and it worked... I don't know why it works and the other way doesn't... but it looks like we should use the custom exception class as you were doing before...... Sorry.
sellout:puppet justin$ bundle exec puppet agent -t  --server localhost --runtimeout 8s
/usr/local/lib/ruby/gems/2.4.0/gems/CFPropertyList-2.2.8/lib/cfpropertylist/rbCFTypes.rb:24: warning: constant ::Fixnum is deprecated
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for localhost
Info: Applying configuration version '1509062258'
Notice: hello
Notice: /Stage[main]/Main/Node[default]/Notify[hello]/message: defined 'message' as 'hello'
Error: execution expired
Error: /Stage[main]/Main/Node[default]/Exec[/bin/sleep 10]/returns: change from notrun to 0 failed: execution expired
Info: Node[default]: Unscheduling all events on Node[default]
Notice: Applied catalog in 2.61 seconds

sellout:puppet justin$ git diff
diff --git a/lib/puppet/agent.rb b/lib/puppet/agent.rb
index 7f70508..2071a2a 100644
--- a/lib/puppet/agent.rb
+++ b/lib/puppet/agent.rb
@@ -15,6 +15,8 @@ class Puppet::Agent
   require 'puppet/util/splayer'
   include Puppet::Util::Splayer

+  class Foo < StandardError; end
+
   attr_reader :client_class, :client, :should_fork

   def initialize(client_class, should_fork=true)
@@ -50,7 +52,7 @@ class Puppet::Agent
               # it can interrupt code blocks that perform cleanup or enforce
               # sanity. The only thing a Puppet agent should do after this
               # error is thrown is die with as much dignity as possible.
-              Timeout.timeout(Puppet[:runtimeout]) do
+              Timeout.timeout(Puppet[:runtimeout], Foo) do
                 client.run(client_args)
               end
             end

I'm happy to push that change up, if you'd like, Charlie.

Looks like the exec resource stalls the agent in just the right place for us to see some behavior of the ResourceHarness come into play:
https://github.com/puppetlabs/puppet/blob/5.1.0/lib/puppet/transaction/resource_harness.rb#L122-L166
That block contains a blanket rescue Exception followed by an ensure that attempts to trap all errors so that they get put into the logs. When Timeout.timeout is used without an exception class, it doesn't interrupt Ruby by raising an exception --- it does a weird throw+catch operation. So, we skip all the handling in the harness that creates log messages out of exceptions but still trigger the ensure block which expects something to have created a message to log.

We can definitely work around this by switching back to using an exception, but it seems like there are some bad assumptions in the transaction around logging.
Particularly, event instances probably shouldn't try to send a message if message is nil:
https://github.com/puppetlabs/puppet/blob/5.1.0/lib/puppet/transaction/event.rb#L96
That leads to the "Puppet::Util::Log requires a message" error that I've seen a few times before.
The transaction report should also handle events with no metrics attached:
https://github.com/puppetlabs/puppet/blob/5.1.0/lib/puppet/transaction/report.rb#L203
That's leading to the "metric name nil is not a string" error.

I think it'd be valuable to improve those situations. I'll look into doing that this evening, Charlie.

@justinstoller I flipped the patch back to raising a subclass of Exception. A subclass of StandardError won't work here as Puppet will trap that and continue on with catalog application --- which isn't the abort beahavior that we'd want in this situation.


clientv1: fix ClientCredentialsTokenSource

#16 makes it very hard to create ClientCredentialsTokenSource with the correct API URL, because ConnConfig.getAPIURL() is not exported, and it's also unclear what would be the correct API URL to use.
This change makes it so that ClientCredentialsTokenSource accepts ConnConfig like everywhere else, so that we can universally configure this stuff more easily (as is the goal)
Test plan
CI

Side question: are you making this PR because you're updating sg/sg or what?

Yeah, I tried - are you working on that at the same time? 😆


feat: exponential backoff when restarting driver

Fixes #3162

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 32 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 21.996%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ZwaveClient.ts
0
32
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
3834

Relevant Lines:
18434

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 31 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 21.997%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ZwaveClient.ts
0
31
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
3834

Relevant Lines:
18433

💛  - Coveralls


TODO: camelCase API

Hey, if you're accepting PRs I'd be happy to help with this. I would tackle it as follows:

[ ] refactor public API by creating camelCase wrappers that call the existing snake_case methods
[ ] keep existing snake_case API exposed for backwards compatibility
[ ] refactor method signatures to accept both snake_case and camelCase options
[ ] update tests as I go along, changing to camelCase*
[ ] update README.md to use camelCase, with a note that snake_case is still compatible but deprecated

* This means tests would only use the new camelCase API, hence deprecating the snake_case API. I looked at your tests and considered duplicating the test code but it would be messy and just mean more tests to maintain. What do you think?
If you're happy with the above then I'll go ahead with the refactoring.
Cheers,
Albert

I'd love to see this personally.


Installation Issue: role "saleor" does not exist

I am following the installation instructions at http://saleor.readthedocs.io/en/latest/installation.html#installation
I've done steps 1-4 with no issues, however when I try to run
python manage.py migrate
in step 5 I get the error django.db.utils.OperationalError: FATAL:  role "saleor" does not exist
I am installing on mac.

Hello Brandon-Guerra,
I am experiencing exactly the same problem! Would you mind telling me how you fixed this?
Thanks you

You need to create the role "saleor" with the creatuser command in postgres.
$ createuser saleor
This should fix your problem.

Thank you so very much! That seems to have solved the problem, but now this arrises:
permission denied to create extension "hstore"
HINT:  Must be superuser to create this extension.
I tried doing this:
createuser --superuser saleor
but it didn't work, would you know how to fix this?
Thanks

I figured it out!
=# ALTER USER saleor WITH NOSUPERUSER;

@Pacu2 Please update the installation documentation to include the necessity of creating a PostgreSQL user (it's fine link to PostgreSQL docs instead of including a chain of commands to invoke).


[genesis] Change sliding nonce values for TC txns in genesis

The sliding nonce values in genesis were getting set too high, and this was causing odd errors in AOS transactions where the first transaction would execute, but the second transactions would abort.
Testing
Changed the nonce values in tiered_mint_to_designated_dealer to make sure that the nonce values starting at zero are acceptable.

@bors-libra r=dmitri-perelman

:pushpin: Commit fac6ce6 has been approved by dmitri-perelman

:hourglass: Testing commit fac6ce6a768c11e7c007bf5b3e1ca90517b9533a with merge 6964c166199ae5f07fb4dae418ff85cfbf097e34...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: dmitri-perelman
Pushing 6964c166199ae5f07fb4dae418ff85cfbf097e34 to master...


Remove unused import detected by nightly rust

Which issue does this PR close?

Closes #5476.
Rationale for this change
With this pr been merged to nightly rust: https://github.com/rust-lang/rust/pull/117772
The tracking for unused import has been improved, resulting numerous compiler warnings when building arrow-rs with nightly rust.
This PR simply remove them.
Note that there're many other linting problems as well in nightly rust, this pr only fix the problem with unused import, considering that the changes are quite large already.

What changes are included in this PR?

Are there any user-facing changes?

hmm, the CI failed with errors like
error: use of deprecated associated function chrono::TimeDelta::milliseconds: Use TimeDelta::try_milliseconds instead
It does not seem to relate to the changes

Ok the latest CI uses chrono v0.4.35 while previous ci uses v0.4.34.
It turns out that they release the new version a few hours ago and deprecated a few functions used by arrow-rs: https://github.com/chronotope/chrono/releases/tag/v0.4.35

Should be fixed if you merge master

Can @tustvold  you take a look at make_fixed_len_byte_array_reader in the bench file? The function is from array_reader and is only used in the benchmark. I can't just remove the export as it will fail the benchmark, so I just suppressed the warning. Not sure it is the right way to do...

Thank you


Non-ASCII characters in nightly GAF file

Having non-ASCII characters shouldn't be a problem, but it looks like there is some corruption happening.
We have lines like this:
PomBase SPAC20H4.06c    gpl1            GO:0005634      PMID:16823372   HDA             C       Gpl1âGih35âWdr83 complex RNA-binding subunit            protein taxon:4896      20091111     PomBase

"Gpl1âGih35âWdr83" needs fixing.
https://curation.pombase.org/dumps/builds/pombase-build-2022-10-30/pombase-build-2022-10-30.gaf.gz

The GAF file with the odd characters is used by the JaponicusDB nightly load, which is failing because of this.  So I thought I should get on with fixing it.
I tracked the problem to these lines in the contig files:
/product="Gpl1−Gih35−Wdr83 complex RNA-binding subunit"

The "−" character was a math minus sign instead of a plain ASCII hyphen.
To fix the immediate problem I've edited the contig files to use ASCII hypens.  I'm going to leave this open though because I'd like to fix the contig loader to handle this correctly.  That's probably a one line change but I need to fine that one line.  :-)
I'll check the PomBase and JaponicusDB load logs on Monday.

I'll check the PomBase and JaponicusDB load logs on Monday.

The GAF file is fixed and JaponicusDB updated successfully last night.

I'm going to leave this open though because I'd like to fix the contig loader to handle this correctly.

I've made a change that I think fixes this properly.  It didn't break the nightly load so I'll be an optimist and close this issue.


Pass through storage errors in limitAppender.

For #2769
@checketts - Can you see what the correct error is now?

Sorry took me a little to figure out how to build (along with gopath). Unfortunately I can't reproduce it with my build after letting it run for 20 minutes.
I can roll back to the alpha.2 build and see it immediately.
The failing build runtime config page:

Are there more fixes that happened in the meantime that I ended up consuming and fixed the bug I had been seeing?
Let me know if there is any other validation I could do to find out more.

There have been no code changes to 2.0 since the release.


[SPARK-21225] decrease the Mem using for variable 'tasks' in function resourceOffers

JIRA Issue:https://issues.apache.org/jira/browse/SPARK-21225
In the function 'resourceOffers', It declare a variable 'tasks' for storage the tasks which have allocated a executor. It declared like this:
val tasks = shuffledOffers.map(o => new ArrayBufferTaskDescription)
But, I think this code only conside a situation for that one task per core. If the user set "spark.task.cpus" as 2 or 3, It really don't need so much Mem. I think It can motify as follow:
val tasks = shuffledOffers.map(o => new ArrayBufferTaskDescription)

Can one of the admins verify this patch?


Made "add/update tag" button not be inserted on deleted entries

Should fix #16

Works great @omgmog ! Just a heads up, this repo typically uses pull requests to develop branch in case you contribute in the future. This is a great fix, thank you.


gender neutral language

change "he clicks" to "they click"

@emberstevens : Thanks for your contribution! The author, @ganganarayanan, has been notified to review your proposed change.

Placeholder name "Joe" isn't gender-neutral, so updated gender-neutral pronoun does not correspond.

Updated in https://github.com/MicrosoftDocs/azure-docs/pull/31652; closing.


Issue in Tearsheet component at 400% zoom

What package(s) are you using?
@carbon/ibm-products": "^2.27.0",
"react": "^17.0.2",

Detailed description
When the browser zoom is used to scale content to 400% , the content in the tearsheet gets distorted. The scroll does not work.

Is this issue related to a specific component?
Tearsheet

What did you expect to happen? What happened instead? What would you like to
see changed?
When the browser zoom is used to scale content to 400%, the component must reflows - i.e., it should presented in one column so that scrolling in more than one direction is not necessary. The scroll should work.

What version of the @carbon/ibm-products (or @carbon/ibm-cloud-cognitive)
package are you using?
@carbon/ibm-products": "^2.27.0",

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?
We work for GI team and above issue is raised as a AVT issue

Dupe https://github.com/carbon-design-system/ibm-products/issues/3567


Toast snackbar shows up behind soft keys on Android

I'm having a problem with the Toast appcompat snackbar on Android showing up behind the keys at the bottom.

I don't know if it's a bug or a possibly problem in my layouts. Anyone else encountered this?

This is very likely a defect.  The snackbar requires an existing top view to latch on to.  This is how I grab that top view (https://github.com/aritchie/userdialogs/blob/master/src/Acr.UserDialogs.Android/UserDialogsImpl.cs#L197) and I've never been a fan.  Any suggestions?

Hi @aritchie thanks for getting back so quickly.
Could we use something like this:
top.Window.DecorView.FindViewById (Android.Resource.Id.Content)
It is what I've used before and seemed to be working well.

I remember trying something like this and it didn't work out very well.  I just don't remember why.  I'll revisit it in the next couple of days.

I also had issues with it in the past but that was because I wasn't running that on the UI thread

@dylanschoenmakers Invoking toasts in the main thread didn´t work for me. They still get behind the soft keyboard

@dylanschoenmakers your suggested fix seems to have done the trick.  I'll be shipping this in the next day or so.

Thanks @aritchie ! Can I buy you a beer?


Output floats for zoom levels in viewport function

Similar to #5 but to add support for floats for the viewport() function instead of the bounds()function.
Given the new Static Map API supports zoom levels up to two decimal places, it would be great to have an option to yield such value by removing the Math.floor() in the return.
Unlike the bounds() function, this would not require upstream changes in SphericalMercator.

I want to open up a PR for this. We probably can't just remove the Math.floor here:
https://github.com/mapbox/geo-viewport/blob/master/index.js#L35-L37
This would lead to a breaking change for everyone who only can work with integer zoom levels. So I guess we hide it behind a flag?

@Madelena Fixed using https://github.com/mapbox/geo-viewport/pull/15


[RELEASE] 1.5.4

What's the task? Please describe.
Action items for releasing v<x.y.z>
Describe the sub-tasks.

Pre-Release

[x] Regression test plan (manual) - @khushboo-rancher
[x] Run security testing of container images for pre-GA milestones - @roger-ryao
[x] Verify longhorn chart PR to ensure all artifacts are ready for GA (install, upgrade)  @chriscchien
[x] Run core testing (install, upgrade) for the GA build from the previous patch and the last patch of the previous feature release (1.4.4). - @yangchiu

Release

[ ] Release longhorn/chart from the release branch to publish to ArtifactHub
[x] Release note

[x] Deprecation note
[x] Upgrade notes including highlighted notes, deprecation, compatible changes, and others impacting the current users

Post-Release

[ ] Update https://github.com/longhorn/longhorn/blob/master/deploy/upgrade_responder_server/chart-values.yaml @PhanLe1010
[ ] Add another request for the rancher charts for the next patch release (1.5.6) @rebeccazzzz

Rancher charts: verify the chart is able to install & upgrade - @khushboo-rancher

[ ] rancher/image-mirrors update @mantissahz @PhanLe1010
[ ] rancher/charts 2.7 & 2.8 branches for rancher marketplace @mantissahz @PhanLe1010

cc @longhorn/qa @longhorn/dev

Change logs between RC1 and RC2.
longhorn/longhorn-ui

release: update version file for v1.5.4-rc2 ef451598 by @innobead

longhorn/longhorn

release: v1.5.4-rc2 38864894 by @innobead
Add ServiceMonitor in helm chart (#6157) 30cd09ef by @enrico9034
Fix grammatical errors making error messages confusing f0fc599e by @b-rad15
fix(environment_check): add check for globalDefault priority class. 9c286a16 by @james-munson

longhorn/backing-image-manager

release: update version file for v1.5.4-rc2 385a2c35 by @innobead
fix(datasource): fix url parsing 7d282346 by @ChanYiLin

longhorn/longhorn-instance-manager

release: update version file for v1.5.4-rc2 81986037 by @innobead
Fix "context.Context should be the first parameter of a function" 9d69ea20 by @derekbit
grpc: add checkConnection for process manager, instance and disk services ee97f18e by @derekbit
Fix conflict 3589c116 by @derekbit
use util.Connect b3d2e969 by @sfackler
Support TLS in proxy clients b3d462f8 by @sfackler

longhorn/longhorn-engine

release: update version file for v1.5.4-rc2 3cbe8318 by @innobead
Don't return an error on unmap while rebuilding 6e80006b by @ejweber
vendor: update backupstore 55c5c5ad by @mantissahz
restore: implement DeltaRestoreOperations methods 0dc53580 by @derekbit
backup: move common functions and types to backupstore lib deca4456 by @derekbit

longhorn/longhorn-share-manager

release: update version file for v1.5.4-rc2 73123977 by @innobead

longhorn/longhorn-manager

release: update version file for v1.5.4-rc2 485f498d by @innobead
disk client only supports non-tls connection 76086b5b by @derekbit
Fix rpc error: code = Canceled desc = context canceled when falling back to non-TLS client fc3147a6 by @derekbit
disk monitor: fix conflict 0b2652f6 by @derekbit
vendor: update dependencies 87139034 by @derekbit
Pass ctx and cancel function to instance and disk clients fad8f107 by @derekbit
Close connections to process manager, instance and proxy services after encountering and error d95e816e by @derekbit
Check connections to instance and process manager services 515cf15b by @derekbit
Fix connection leak during TLS fallback f9b16f3a by @ejweber
Support proxy connections over TLS 359958c7 by @ejweber
Improve and clarify lastHealthyAt and lastFailedAt functionality 6eeaca8e by @ejweber
Add upgrade logic for LastFailedAt and LastHealthyAt eeb86936 by @ejweber
Use LastFailedAt and LastHealthyAt to prevent dangerous replica deletion 23fb8733 by @ejweber
fix(instance): add conditions when parsing instance ab4a0fc2 by @ChanYiLin
fix(csi): do not return error when unmount is successful e89ba2e0 by @c3y1huang
fix(csi): continue when corrupted target mount point is umounted 96ee8b04 by @c3y1huang

cc @longhorn/qa

Run security testing of container images for pre-GA milestones:
v1.5.4-rc1: 32 HIGH, 0 CRITICAL
v1.5.4-rc2: 32 HIGH, 0 CRITICAL

Change logs between RC3 and RC2.
longhorn/longhorn-share-manager

release: update version file for v1.5.4-rc3 153db027 by @innobead

longhorn/longhorn

release: v1.5.4-rc3 70a962ed by @innobead
fix(env_check): Add check for kernel ranges known to have NFS issues. d82f9517 by @james-munson
Explicitly set preserveUnknownFields to false 3aa3ce90 by @ejweber
Use livenessprobe version with upstream fix d721a5c0 by @ejweber
Make InstanceProcessStatus.Conditions nullable 937bf9d1 by @ejweber

longhorn/longhorn-ui

release: update version file for v1.5.4-rc3 b64b19ef by @innobead
hides upgrade indicator for v2 volumes 82d88afa by @scures
Bump base image to 15.5 fcc42d5a by @sfackler

longhorn/backing-image-manager

release: update version file for v1.5.4-rc3 fef5cd20 by @innobead
BackingImage does not download URL correctly in some situation 88d3c2da by @votdev
feat: replace golint with golangci-lint 8b01a344 by @FrankYang0529
Use a HEAD instead of GET 154a52e2 by @votdev

longhorn/longhorn-engine

release: update version file for v1.5.4-rc3 d7c0b673 by @innobead

longhorn/longhorn-instance-manager

release: update version file for v1.5.4-rc3 6dc531dd by @innobead
feat(volume): remount volume if it becomes read only fa10cc97 by @ChanYiLin
Don't send on unbuffered channel while holding a lock 88659787 by @ejweber

longhorn/longhorn-manager

release: update version file for v1.5.4-rc3 7250ac38 by @innobead
controller: Fix issue that regular restore volume won't be detached ae88a484 by @shuo-wu
fix(deps): update longhorn branch repo dependencies to v1.5.4-rc2 103a15f1 by @renovate[bot]
fix(deps): update patch digest dependencies bb0d6bbe by @renovate[bot]
refactor: misleading variable names fff7bec6 by @c3y1huang
controller: DR volume should wait for the latest backup restored before activation b01e2e3c by @shuo-wu
feat(volume): remount volume if it becomes read only 041ef526 by @ChanYiLin
Explicitly set preserveUnknownFields to false ed48cfdb by @ejweber
Use livenessprobe version with upstream fix b2410e9a by @ejweber
Revert "Add a startup probe to the longhorn-csi-plugin container" a265f72d by @ejweber
Make InstanceProcessStatus.Conditions nullable aa4d40d0 by @ejweber
Don't automatically upgrade engines while migrating eca4cbe6 by @ejweber

Run security testing of container images for pre-GA milestones:
v1.5.4-rc3: 27 HIGH, 0 CRITICAL

The changelogs between RC4 and RC3:
longhorn/longhorn-ui

release: update version file for v1.5.4-rc4 0fe7f8d9 by @innobead

longhorn/longhorn

release: v1.5.4-rc4 c42e19f4 by @innobead

longhorn/backing-image-manager

release: update version file for v1.5.4-rc4 7fef407a by @innobead
fix(deps): update patch digest dependencies d96f1142 by @renovate[bot]
refactor: replace deprecated grpc.WithInsecure d0d76192 by @c3y1huang
fix: fix golint issue need to catch return value fb687246 by @mantissahz
fix: update longhorn-engine vendor 2057626e by @mantissahz
fix: add timeout parameter for export volume b8a0521a by @FrankYang0529
fix(deps): update module github.com/longhorn/longhorn-engine to v1.5.3 60678426 by @renovate[bot]

longhorn/longhorn-instance-manager

release: update version file for v1.5.4-rc4 9177599f by @innobead
fix(deps): update patch digest dependencies 2a0dd608 by @renovate[bot]
refactor: move common func to backupstore lib 7c72fc53 by @c3y1huang
fix(deps): update module github.com/longhorn/longhorn-engine to v1.5.4-rc3 5c556a97 by @renovate[bot]

longhorn/longhorn-engine

release: update version file for v1.5.4-rc4 aa1298b4 by @innobead
fix: missing one parameter of Set function for gopkg.in/cheggaaa/pb 3f504357 by @mantissahz
backup/restore: update arguments due to the changes in apis dd72993f by @derekbit
fix(deps): update patch digest dependencies b1f625d9 by @renovate[bot]

longhorn/longhorn-manager

release: update version file for v1.5.4-rc4 2d05804c by @innobead
Fix bug we initiate a backup when the volume has started detaching 49619e2f by @PhanLe1010
controller: Allow DR volume activation if the latest backup is empty 54ea6c65 by @shuo-wu
Allow DR volume activation if the backup volume is not found e05f7dd1 by @shuo-wu
fix(deps): update patch digest dependencies 079922fa by @renovate[bot]
fix(deps): update longhorn branch repo dependencies to v1.5.4-rc3 e5dcad60 by @renovate[bot]
fix(supportbundle): update support bundle image pull policy to if not present 7dcd2aa4 by @ChanYiLin

longhorn/longhorn-share-manager

release: update version file for v1.5.4-rc4 c05b75c1 by @innobead
fix(deps): update patch digest dependencies 475e8a6e by @renovate[bot]

1.5.4 images are ready. @longhorn/qa
Let's finish the remaining items.

Pre-Release

[x]  Regression test plan (manual) - @khushboo-rancher
[x]  Run security testing of container images for pre-GA milestones - @roger-ryao
[ ]  Verify longhorn chart PR to ensure all artifacts are ready for GA (install, upgrade)  @chriscchien
[ ]  Run core testing (install, upgrade) for the GA build from the previous patch and the last patch of the previous feature release (1.4.4). - @yangchiu

Changelog between GA and RC4.
longhorn/longhorn-share-manager

release: update version file for v1.5.4 58263c21 by @innobead

longhorn/longhorn-engine

release: update version file for v1.5.4 bda6cbc9 by @innobead
chore(deps): update dependency pytest to v5.4.3 06af7a9c by @renovate[bot]

longhorn/backing-image-manager

release: update version file for v1.5.4 bb59c332 by @innobead

longhorn/longhorn-ui

release: update version file for v1.5.4 60247b02 by @innobead

longhorn/longhorn-instance-manager

release: update version file for v1.5.4 283faeb6 by @innobead

longhorn/longhorn-manager

release: update version file for v1.5.4 b7b00ad5 by @innobead
fix(deps): update longhorn branch repo dependencies to v1.5.4-rc4 11a0f25f by @renovate[bot]
fix(backuptarget): backuptarget update skipped when enqueued by engineimage updated 8a858e2b by @c3y1huang
controller: Check backup volume sync time before activation 5f68750d by @shuo-wu

Run core testing (install, upgrade) for the GA build from the previous patch and the last patch of the previous feature release (1.4.4):
amd64: 0 failure
arm64: 0 failure
amd64 upgrade: 0 failure
arm64 upgrade: 0 failure

Verify longhorn chart PR to ensure all artifacts are ready for GA (install, upgrade)

For this item. @khushboo-rancher @yangchiu  let's see if our automation already covers it. If not, create an issue to work on that in the future. I would like to have all items here automated. Then, we just need to do a quick sanity test.

Verify longhorn chart PR to ensure all artifacts are ready for GA
https://github.com/longhorn/longhorn/tree/v1.5.x/chart
https://github.com/longhorn/charts/tree/v1.5.x

[x] Fresh install
[x] Upgrade from v1.5.3
[x] Upgrade from v1.4.4

[x] Replica rebuilding
[x] V2 volume replica offline rebuilding
[x] Restore from backup(v1 volume)

[x] Uninstall


Will std::num::Float be moved here?

See https://github.com/PistonDevelopers/piston/issues/864
We use the Float for generics in some piston libraries, and wonder what's the plan of replacing the trait.

Yes I believe the current plan is to move the generic traits into this crate for the time being.
cc @aturon

See https://github.com/rust-lang/num/pull/75!


Fix #98

Update to Python 3.6 both tox.ini and README.md
Will fix #98

Thanks! We've decided to drop Python 2.7 support and will be including this change into #107 .


serial error

i am getting the following errors. Any advice?
Process "pwsh" in domain "Serial Port com1" didn't exit cleanly
Exited with code 1.
This message is shown because exit_behavior="CloseOnCleanExit"

I run wezterm serial com1

Remove the following code

Can be used normally  .thank you


New version: JetBrains.CLion version 2024.1.5

Created by 🥟 Dumplings in workflow run #7216.

Log
Updated: 2024.1.4 → 2024.1.5
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run

/azp run

This package installs and launches normally on a Windows 10 VM.


Register source locations for instructions that may load in x64 backend

Many instruction formats in the new x64 backend accept a RegMem parameter, implying that they may load from memory. This may cause a trap if the memory address is out-of-bounds and, in order to return the correct trap code, we should be registering the source location of the instruction, e.g.:
if let Some(srcloc) = *srcloc {
    sink.add_trap(srcloc, TrapCode::HeapOutOfBounds);
}

Currently, some formats do accept a RegMem parameter but do not correctly register the possible trap location. This passes the spec tests because these formats are not used in their RegMem::Mem variant, but for correctness and completeness we should register the trap locations any time it is possible that an instruction may load from memory.
The current convention for doing so appends a srcloc: Option<SourceLoc> field to the format and expects the programmer to correctly choose between None and Some(ctx.srcloc(insn)) when instatiating a new instruction format. I propose we change this: instead, attach the Option<SourceLoc>, or perhaps even a plain SourceLoc, to SyntheticAmode. This approach has advantages:

any programmer attempting to do a load/store will be forced to decide how the trap will be reported (but not when only accessing registers)
perhaps the helper functions in lower.rs can automatically attach a SourceLoc to any SyntheticAmodes created
the Inst formats no longer need an extra field filled with None in many cases

If we agree that the above approach is a good one, this issue should be closed not only

when that refactoring is complete but
also when any instruction formats that can load/store properly registers traps for their RegMem::Mem variants

cc: @julian-seward1, @bnjbvr, @cfallin

I agree that there's an issue with the current design, and indeed the RegMem::Mem variant could have its source location. (No need for Option<SourceLoc> in fact, since SourceLoc already has a default value meaning invalid that we could reuse to mean "undefined".) This would become a large issue when input_to_reg_mem can actually embed a load in an address-mode operand.
Unfortunately, this also means that the SyntheticAmode would then become even much bigger, going against the general plan of making Vcode's inst data fit into 32 bytes or fewer. It would be nice to find a way to properly pack here without inflating the RegMem too much.
To wit: these source locations are also only useful when not using implicit bounds checking (via signal handling and the 4GB memory page trick). When using implicit bounds checking, this data information has no use at all. We could imagine adding a trait to lowering, to decide whether we're using explicit bounds checks or not, and that trait would select a different type for RegMem and/or SyntheticAmode, but that lead to a lot of binary code duplication in the Cranelift-embedding binary, I expect...

So at a high level, I think this issue implies several sub-problems to solve:

We want to design the API for creating MachInsts such that it is not possible to accidentally create an inst that should have a SourceLoc attached without that SourceLoc. I think that we can probably achieve this by auditing the helpers that we create.
We want to be sure to register the trap-codes and trap-locations at the appropriate offsets in the sink
We want to store the SourceLocs efficiently, that is, ideally not inflate the size of every RegMem if we can help it.

It occurred to me that we could solve the last two issues simultaneously by keeping source-location / trap info in a side-table, indexed by instruction (i.e., a sparse instruction-index to info map), and emitting this metadata to the sink as we iterate over the insts, outside of the machine backend's particular MachInstEmit method. We already have a notion of metadata outside the instruction, in the form of the "is this a safepoint" bit; perhaps this is another.
(In a sense, both of these bits are orthogonal to, and outside the scope of, the machine instruction itself; the MachInst is some instruction/operation that updates machine state, and the safepoint bit and trap info are metadata carried by the emission pipeline out to side-tables on the machine code.)
So perhaps we have a notion of InsnMetadata records; each instruction has zero or more such records; they are held by the VCode container in a sparse manner, sorted by instruction index (i.e., kept in the same order as the insts); and the VCode container promises to keep the order in sync, if e.g. it reorders or removes insts (e.g., move elision after RA).
Then we have some trait that the InsnMetadata implements that "emits" the metadata to the MachBuffer sink; these emit-calls are interleaved with instruction emit calls as appropriate.
Thoughts? I can sketch this in more detail if there's general agreement that we should have a framework something like this.

When we call Inst::foo(...), how would Inst have a way to stuff the metadata into into VCode? I don't see how they reach one another.
(As an aside about Inst size, I have wondered why we are not using #[repr(u8)] more liberally to fit stuff into 32 bytes: in the longest case I can think of, we would have an Inst with the following conceptual fields, {bool, opcode, source loc, dst reg, src from shifted amode}. If we applied #[repr(u8)], we could get this case down to inst tag/1 + bool/1 + opcode/2 + source loc/4 + dst reg/4 + src tag/1 + SytheticAMode tag/1 + Amode tag/1 + simm32/4, + base reg/4 + index reg/4 + shift/1 which equals 28 bytes. I'm not saying we shouldn't store stuff in a side table, that may still make sense, but why not pack things tighter? Or perhaps Rust won't pack things this way?)

Re: #[repr(u8)]: my understanding from @bnjbvr's explanation is that there are alignment/padding restrictions that come along with nested enums -- so if every field were in one struct, we could indeed pack more tightly, but we haven't gone there. (It could be an option if we have a way to keep the ergonomics somehow; maybe a "packed" and "unpacked" form; needs more thought.)

When we call Inst::foo(...), how would Inst have a way to stuff the metadata into into VCode? I don't see how they reach one another.

Indeed, the idea is that the creator of the Inst would attach the metadata as it passes the instruction to the LowerCtx. Right now we have (slightly hackishly) ctx.emit() and ctx.emit_safepoint(); perhaps instead we could have ctx.emit_with_metadata(), and then have various constructors for the metadata info/flags (InsnMetadata::builder().with_mem_trap_loc(...).build() maybe, and .is_safepoint() as well to set the safepoint bit?).
Anyway, just a thought; perhaps it's too much infrastructure for just a few things; but it at least enables sparsity and gives the ability to only optionally include the data (with zero cost if not), which is good :-)

Makes sense to me. @bnjbvr, @julian-seward1?

Re: #[repr(u8)]: my understanding from @bnjbvr's explanation is that there are alignment/padding restrictions that come along with nested enums -- so if every field were in one struct, we could indeed pack more tightly, but we haven't gone there. (It could be an option if we have a way to keep the ergonomics somehow; maybe a "packed" and "unpacked" form; needs more thought.)

Yes, exactly this: each different enum adds a new word for the discriminant (not sure if it applies under certain conditions like "when the enum may be heap-allocated" or not; this matches what I've observed with the Inst enum, though). Even if we flattened all the enums into a single one, and then used a newtype as suggested by @fitzgen, we'd not have enough space; the ideal packing would need the RegMem SIB shift offset (3 bits) to be on the same byte as the overall emulated discriminant, if I remember correctly my back-of-the-envelope computation.

Indeed, the idea is that the creator of the Inst would attach the metadata as it passes the instruction to the LowerCtx. Right now we have (slightly hackishly) ctx.emit() and ctx.emit_safepoint(); perhaps instead we could have ctx.emit_with_metadata(), and then have various constructors for the metadata info/flags (InsnMetadata::builder().with_mem_trap_loc(...).build() maybe, and .is_safepoint() as well to set the safepoint bit?).

The Metadata struct sounds good to me! If it has only two fields (is_safepoint + trap's sourceloc), and in no cases both are needed at the same time, the Builder pattern may be overhead, and it may increase Rustc compile times for the already-quite-large lower functions (but that's still another issue, that can be handled separately).


Tflite.tensorflow  Cannot convert a Tensor of dtype resource to a NumPy array. after multi mirrored strategy training

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04.3 LTS
TensorFlow installed from (source or binary): Tnsorflow 2.2-gpu docker
TensorFlow version (or github SHA if from source): tensorflow/tensorflow:2.2.0-gpu

Command used to run the converter or code if you’re using the Python API
If possible, please share a link to Colab/Jupyter/any notebook.
https://github.com/uidchet/tflite-issue

The output from the converter invocation
File "tflite.py", line 22, in convert_model
  tflite_model = converter.convert()
File "/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/lite.py", line 459, in convert
  self._funcs[0], lower_control_flow=False))
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/convert_to_constants.py", line 706, in convert_variables_to_constants_v2_as_graph
  func, lower_control_flow, aggressive_inlining)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/convert_to_constants.py", line 457, in _convert_variables_to_constants_v2_impl
  tensor_data = _get_tensor_data(func)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/convert_to_constants.py", line 217, in _get_tensor_data
  data = val_tensor.numpy()
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py", line 961, in numpy
  maybe_arr = self._numpy()  # pylint: disable=protected-access
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py", line 929, in _numpy
  six.raise_from(core._status_to_exception(e.code, e.message), None)
File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot convert a Tensor of dtype resource to a NumPy array.

Also, please include a link to the saved model or GraphDef
https://github.com/uidchet/tflite-issue/blob/master/sav_model.zip

Was able to reproduce the issue with TF v2.2 and TF-nightly. Please find the attached gist. Thanks!

Seeing a same error, i doubt it's about type mismatch because when I load the SavedModel into TFServing, it worked well. So it should be something specific to TFLiteConverter

@jvishnuvardhan i think @uidchet has already provided a SaveModel for you, most likely you just need to run the converter over it.

Assigning to @karimnosseir since this is related with tflite converter.

Any work around for this?

well reloading the saved model and the saving it again works...

@uidchet Is this still an issue? I ran the gist @amahendrakar  without any issue. May be this was resolved in recent tf-nightly. Please verify the gist here. Thanks!


refactor(react): export React only in ccstate/react

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
1590

Relevant Lines:
1590

💛  - Coveralls


How to trigger it when change happen in ASG state.

Hi,
If you have some time could you please help? I want to trigger IP change when state of ASG change.
I tried to change the trigger from aws.ec to aws.autoscalling group. Below trigger
"source": [
"aws.autoscaling"
],
"detail-type": [
"EC2 Instance Launch Successful",
"EC2 Instance Terminate Successful",
"EC2 Instance Launch Unsuccessful",
"EC2 Instance Terminate Unsuccessful",
"EC2 Instance-launch Lifecycle Action",
"EC2 Instance-terminate Lifecycle Action"
],
"detail": {
"AutoScalingGroupName": [
"elastic-ip"
]
}
It's triigering lambda function but IP is not chnaging. Changed below lines in manage.py and compiled code using docker and upload new code to lambda but no success.
def is_state_change_event(event):
return event.get("source") == "aws.autoscaling" and event.get("detail-type") in [
"EC2 Instance Launch Successful"
"EC2 Instance Terminate Successful",
"EC2 Instance Launch Unsuccessful",
"EC2 Instance Terminate Unsuccessful",
"EC2 Instance-launch Lifecycle Action",
"EC2 Instance-terminate Lifecycle Action"
]
No error in lambda function log. Please if you have some free time and guide where to make changed in code.
Regards,

Closing as this issue is really old. I trust you solved it.


SSH Log in

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed: https://github.com/icetee/remote-ftp/issues

Description
I can log in a virtual machine using an IP address such as 192.xxx.xxx.xxx, but I cannot log in the same vm using a host name which has benn written in my .ssh/config file.
Steps to Reproduce

edit the ~/.ssh/config and add a host with an IP
start remote-ftp and ssh to a machine with host name.

Expected behavior: [What you expect to happen]
log in successfully
Actual behavior: [What actually happens]
cannot connect
Reproduces how often: [What percentage of the time does it reproduce?]
Versions
atom : v 8.9.3
remote ftp : 2.2.2
OS: win10
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

If using a key and not a password you also need to include that in the ssh config file along with the host and username... ex...
Host www.example.com
User root
IdentityFile "~/.ssh/id_rsa"
You can remove the the username, password, PrivateKey from remote-ftp config file if putting everything in the ssh config file like my example.


[Bug]: Only metadata backed up (Ceph S3)

Current Behavior
Milvus version: 2.2.9
Milvus-backup version: 0.3.1
Running milvus-backup tool for a milvus cluster deployed on k8s (baremetal).
Among other logs, I am seeing an extensive amount of:
[2023/08/09 15:46:02.178 +00:00] [WARN] [core/backup_impl_create_backup.go:443] ["this may be old segments before flush, skip it"] [id=443168155094843286]

and
[2023/08/09 15:46:03.363 +00:00] [WARN] [core/backup_impl_create_backup.go:468] ["this segment has no insert binlog"] [id=443168155396182316]

And then, my backup contains metadata only.
Expected Behavior
Backup contains not only metadata, but the data itself as well
Steps To Reproduce
No response
Environment
My backup.yaml:
log:
  level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
  console: true
  file:
    rootPath: "logs/backup.log"

http:
  simpleResponse: true

# milvus proxy address, compatible to milvus.yaml
milvus:
  address: milvus.milvus.svc.cluster.local
  port: 19530
  authorizationEnabled: false
  tlsMode: 0
  user: "root"
  password: "Milvus"

minio:
  address: ##### (Ceph)
  port: 443
  accessKeyID: ####
  secretAccessKey: ####
  useSSL: true # Access to MinIO/S3 with SSL
  useIAM: false
  cloudProvider: "aws"
  iamEndpoint: ""
  bucketName: "mlops-milvus-prod-prague"
  rootPath: ""
  backupBucketName: "mlops-milvus-prod-prague-bucket"
  backupRootPath: "backup"
backup:
  maxSegmentGroupSize: 2G

My folder structure in S3 is as follows:
s3.ObjectSummary(bucket_name='mlops-milvus-prod-prague', key='index_files/443168155091753550/1/443168155091553369/443168155091553381/IVF'

(So root folder is the bucket's root)
Anything else?
I just want to clarify that that's indeed some BUG and not just me doing something wrong. When this is clear - I can take a look myself at the codebase to try to figure out the issue.

Would assume that this forms insertPath inappropriately with empty rootPath:
https://github.com/zilliztech/milvus-backup/blob/f276c61cb370244670edad3ea351f84cf1b01781/core/backup_impl_create_backup.go#L730
Can try to test and fix myself @wayblink, let me know if you think that's an appropriate assumption

@punkerpunker Hi, Thanks! We have tested empty root path on minio/S3. I guess it may caused by different behavior about '/'. Obviously your patch can make it more compatible. Let's test and verify this.


sink jdbc connector

Hello,
What about using this plugin in a generic confluent sink connector.
Thanks...

you meant "source connector" I guess right?

I am having this issue also.
I am using erdemcer for source connector with kafka. How can i write a sink connector to postgresql?
Thank you.

Hi,
this connector output is not proper for Generic JDBC Sink Connector and you have to write your own consumer which will consume messages from topic and execute sql_redo data on postgresql db.
Thanks


Repo not in sync with npm

When I install the package from NPM, it is not quite in sync, for example, I have to manually fix the promises to get the getAsync functions working. I believe the latest changes have not been released to create the sync.
Thanks

Already fixed.


Add option to reconcile silently

Ugh. I just realized having a "reconcile specific" option is the same thing as the get_credentails script. 🤦


Twitter preview

Atm, the twitter preview is quite boring:

It may be worth to investigate additional meta tags a little to make it look nicer:
https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary

Looking at the site, there does appear to be some relevant meta tags in there already, courtesy of a plugin:

#42 would indirectly fix this (by virtue of Rewriting The Whole Dang Thing), if we decide to go that route.

With the updated tags from the Zola rewrite, the preview for a post now looks like this:

Main differences being that we have a higher-res image and more control over the text displayed. I've got it set up so that it'll display the post summary if one exists, or the first 100 words if not. Let me know if you're happy with this, or if you think it needs any more tweaks :)

Awesome!


(windows10-media-creation-tool) Migration from DarwinJS Repo

@gep13 @AdmiringWorm @pascalberger @majkinetor
Description

This is to migrate this package with a AU update file to the core team repository.
Motivation and Context
Why is this change required? What problem does it solve?
This makes this package a AU updating package

How Has this Been Tested?

Include details of of your testing environment, and the tests your ran to
Updates via AU Streams version in AppVeyor

Screenshot (if appropriate, usually isn't needed):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Migrated package (a package have been migrated from another repository)

Checklist:

[X] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this mean usually the notes in the description of a package).
[X] I have updated the documentation accordingly (this mean usually the notes in the description of a package).
[X] All files is up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[ ] The changes only affect a single package (not including meta package).

Original Location

Original Repository
Open Issues Add the different issues underneath, and tick those that are fixed in this PR

[ ] Issue 1 link
[ ] Issue 2 Link

[ ] Include the link to the opened PR that removes the package from the original location
[X] The migration guidelines have been followed
Migrating Link

Adjustments in development branch, updating files soon
should it be a new PR or just adjusted here?

Updated and AppVeyor Check passed 😄

@majkinetor The requested changes have been made the files.
The nuspec url(s) commit will be fixed by AU ( I Hope).

Not everything is fixed:

Mandatory tags
You download the file 2 times - once to get version, and again to get hashsum. Disable automatic checksum and calculate the $Latest.ChecksumXY yourself from downloaded file.

@RedBaron2 just make the update to the mandatory tags, I plan to make some changes to the update script myself (mostly to disable the need to download the binary when it isn't needed).

@majkinetor mind having a new look, I've updated his PR with quite a few changes (including the mandatory tag)

@AdmiringWorm
Thanks for the assistance. This might help another package.
@majkinetor
Changes made but might need to rename the directory if the package name is to be changed to win10mct?
Unless anymore obvious changes need to be made this seems to be ready 🤞

You miss dependency on core extension now.

Yes, change the directory if the package gets renamed. Also the icon name

I can take out the meta package since it is the failure issue. I created it as a fall back point for those of the older package should they want to upgrade via Chocolatey. It works on the principle of the javaruntime package.
Let me know what else needs to be done. 😄


Spamming next turn still seems to change the position of the player somehow

I have been unable to reproduce this so this may have been a mistake when I reported it

Can't reproduce. Will open if issue noticed again


feat: Nitro with Chatgptbox

Problem
Add docs about using Nitro with Chatgptbox
https://github.com/josStorer/chatGPTBox

status @hahuyhoang411 ?


i want to know my master password.

What's the problem?
i forgot password and i want that particular password.
How often you face this problem ?
sometimes
What is the expected output? What do you see instead?

What version of the product are you using? On what version of Windows?

lock-a-folder 3.10.3 on windows 8
Any previous version produced the same problem ?

yes
What is the language of your operating system and keyboard ?

english
Please provide any additional information below and attach debug.txt file
generated in C:\Program Files\LocK-A-FoLdeR or C:\Program Files
(x86)\LocK-A-FoLdeR(64bit windows).

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 2 Oct 2013 at 6:28

is this issue solved?


📊 AWS Reports

👀 Purpose

To understand the current reporting functionality of AWS

✅ Definition of Done

[x] 🔐 The Team Has Access to The AWS Cost and Billing Dashboard
[ ] 👔 Assessment of Cost Report per Business Unit (i.e. HMPPS,
[ ] 🪣 Assessment of Cost Report per AWS Service (i.e S3, OpenSearch, RDS etc.)
[ ] 🧱 Assessment of Cost Report per Platform (i.e. Cloud Platform, Modernisation Platform and Off Platform)
[ ] ☁ Assessment of Cost Report per AWS Account
[ ] 📓 Document any limitations

📓 Notes

Assessment Criteria:

Understand how the report may enable us to make decisions
Understand missing information that we may need to be more confident in our decisions
Understand the general quality of the data (i.e. how reliable is it? how much of the estate does it cover?)

@connormaglynn has wrangled us read-only access to root account allowing us to access financial data cross the organisation's AWS accounts

Reports analysis document: https://docs.google.com/document/d/17UYdOJb5NLSvodUSUESxKuDlpWAiU4N8_Y5vV8trs9g/edit?tab=t.0


Unable to use "from haystack.document_stores import FAISSDocumentStore"

Describe the issue
Whenever i try to import
from haystack.document_stores import FAISSDocumentStore
i get the following errors
"""
ImportError: cannot import name 'MODEL_TO_ENCODING' from 'tiktoken.model' (C:\Users\25013529\AppData\Local\Programs\Python\Python311\Lib\site-packages\tiktoken\model.py)
"""
To Reproduce
Steps to reproduce the behavior:
Run this
from haystack.document_stores import FAISSDocumentStore
Expected behavior
I expected the installation to be done and to start using the FAISSDocumentStore
What environment did you try to run the tutorial on?:

OS: Windows 10 Pro
Browser [e.g. chrome, safari]: Chrome
Haystack Version
faiss-cpu                     1.7.4
farm-haystack                 1.20.0

Additional context
Add any other context about the problem here.

Hi @ashlytom, according to this stackoverflow entry, this issue should be fixed with 1.20.1. Do you still encounter this issue?


Inconsistency licence statements between README and LICENSE

The README states
License

Authlib offers two licenses:

    BSD for open source projects
    Commercial license for closed source projects

however, the LICENSE is a BSD license, which is compliant with closed source (redistribution). As it stands, I read this as

If I develop a close source project, I must buy a commercial license; if it is an open source, I can use BSD.

If this is the case, then this project is not BSD licensed, as its actual license is

If usage in open source, you can use it under the terms of BSD; else, you must buy a commercial license

I propose that we clarify what exactly do we mean with Commercial license for closed source projects.

I've removed the enforcement on readme. https://github.com/lepture/authlib/commit/6c78efc2c949df3ce9a82006986817695adf0edd

Wow, thanks a lot for the fast response and fix. Much appreciated.

Hello @lepture @jorgecarleitao, can you further clarify this please?
For a moment, I was still thinking the same as written by @jorgecarleitao:

If I develop a close source project, I must buy a commercial license; if it is an open source, I can use BSD.

However, after this, my current understanding changed to:

If I develop a closed-source project, I have two options:

I can use Authlib under BSD
I can buy a commercial license to have more benefits

Is my new understanding correct?

I am wondering why there is still a commercial license . If thats not the case then it should be removed.

I am wondering why there is still a commercial license

Many companies choose to financially support open source projects in order to help sustain their development or to receive direct support or benefits.

Some orgs , especially big-tech are very serious on licenses and this would cause this great lib to get not adopted. I think you can remove and still offer commercial license by placing a link , to the webpage ?  That way it will be a lot more easier for companies to adopt. Now it sound like the are are some catches inside,

If your lawyers are skittish, even more reason for them to buy a commercial license and remove any possibility of problems.

1 . Not  a company
2 . We are choosing an auth library in an opensource  webframework and maintainers wants an auth solution that is license compatible , and adoptable to the mass.

https://github.com/lepture/authlib/blob/master/LICENSE
:man_shrugging:

i aware of that , there are 2 license .
Existance of this already is a red flag for most companies.
https://github.com/lepture/authlib/blob/master/COMMERCIAL-LICENSE

I don't know what to tell you. You're asking @lepture to give up some of their livelihood to perhaps make some corporate attorneys somewhere more comfortable about profiting from their work without contributing back.
That's a decision for @lepture to make for themselves, but personally I think it is very audacious for you ask.

All i wanted to point out is :

its confusing  to have a commercial licenses
@lepture  can put gh sponsor or many other crowd funding setups.
also placing a link to website for commercial support license is a better idea  instead of an extra license.


Capes

Hello,
So I'm not the best at modifying. Could you help me out on how I can change cape? To illustrate, now that upload feature for capes is gone, I was wondering if you can upload a cape within the source code.

How to apply a cape?

Yeah for real how do you add your cape back. I donated in 2017 and have lost my cape now that it doesnt work. Sad this guy dropped his ownership for 5zig :(

The capes relied on servers which have been shutdown by 5zig himself when he quit.


Better Printing Meta Information

print statements such as one in forecaster.py  line number - 380 and 381 should either write to stderr instead of stdout or such there should an option to turn off these messages.
When such a statement is executed in a distributed environment such as hive with a custom script using fbprophet, output includes such rougue statements as well.
print('Disabling yearly seasonality. Run prophet with '
                      'yearly_seasonality=True to override this.')

Yes this should be done with INFO level logging. This is tangentially related to #170 in setting verbosity.


Use sensible gRPC options when dialing

Reported by @msteffen.  Opening it here so we don't forget.
Currently in a couple places we dial gRPC connections using the default options, which means that:

The connection is established lazily; so if you use it right after Dial returns, the connection might not be ready.
There's no keepalive; long-standing gRPC connections can thus become defunct.

Reminder that I should remember to use these on the worker pool connection code once the helpers are merged.

stale

We use fairly reasonable defaults now.


change how blocksize is defined in create CLI

ref https://github.com/cogeotiff/rio-cogeo/pull/279#pullrequestreview-1843221687
closes https://github.com/cogeotiff/rio-cogeo/issues/280

@alexismanin let me know if you can 👀 this PR 🙏

@alexismanin let me know if you can 👀 this PR 🙏

I will give a quick look at it.


DROOLS-355 - Migrating DroolsJaxbHelperImpl from XJC/CodeModel code to a different framework

Do not close: working on a JiBX based solution and will push -f those commits soon.
Related PR's:

https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/pull/239
https://github.com/droolsjbpm/droolsjbpm-knowledge/pull/149
https://github.com/droolsjbpm/drools/pull/836

Closing as @psiroky has taken over the issue.


JsMinifyOptions.keep_fnames throws unknown field

Describe the bug
Error: unknown field `keep_fnames`, expected one of `compress`, `mangle`, `format`, `ecma`, `keepClassnames`, `keepFnames`, `module`, `safari10`, `toplevel`, `sourceMap`, `outputPath`, `inlineSourcesContent`, `emitSourceMapColumns` at line 1 column 794

Input code
No response
Config
{ "minify": { "keep_fnames": true } }

Playground link
No response
Expected behavior
recognizes JsMinifyOptions.keep_fnames to be compatible with TerserOptions, or correct the property name in https://github.com/swc-project/swc/blob/main/node-swc/src/types.ts#L17 perhaps
Actual behavior
No response
Version
1.3.36
Additional context
payground prompts keepFnames, hence it's working properly

https://play.swc.rs/?version=1.3.36&code=H4sIAAAAAAAAA8vNTynNSdVLrSjILyopVrBVSCvNSy7JzM9TSMvP19BUqK4FANcTgHsiAAAA&config=H4sIAAAAAAAAA3VUy5LjIAz8F8457By2aisfMLf9BooY4ZDByIVEJq5U%2Fn2FHxAnszfTbomWuu27ulCnjnc1mkSQyhNNkc1NHRVPI1CX%2FMjqoJgE4pThIc8m9cDCAPotrwIigTo6EwgOavDRu6k06nAYExCVZ6nIA0SmyjMp4TctPQ%2FqhBjAxLezNqR9ZOghtdIOQzAjgb6aVCvKbSZ5wriDMoPVY8LxCY3Ws8cozTbMgrG6QwsV8Ak69ldoFOkhlEgirCqZQQun3PdleQsTriZkw7UX3OY1yI217oyeWLsc6QXaKV2gZciV5Z1OwDnFjXNBH3d7%2BAIQncEQRTNAq5xxJz7sme4Hlo9OTOSpouJwUxWhl%2BG0965OWFRDYt%2B2lcDmDsqEXWu%2BgruByFvQ4JxsuxbTt%2Bfu3JqVIKKrR9macc2D5ai3PO3REoE38FNU8bMdKz4YPr9iNA0nDG8tBuAz2jdYFsH4CiZJ7218RXO0IGsG%2B%2FQiUznWmIr5jDqUT23bswRCanQf8FTjK1%2FkYGJfYnlXjGOAK4S9o%2F%2FNww%2BYXHItBq9R3IIHf5pnRnLkP36twGMp%2FFx7zZKKJrR51ST%2Byd9CvBgwXkg92l9imcvT35U8F%2F8DD1z4G5UEAAA%3D
Another issue, it seems setting JsMinifyOptions.keepFnames takes no effect, which should be shorthand for setting both compress.keep_fnames and mangle.keep_fnames I think.

/// A single object in the `.swcrc` file
#[derive(Debug, Default, Clone, Deserialize, Merge)]
#[serde(deny_unknown_fields, rename_all = "camelCase")]
pub struct Config {

@kdy1 looks it is because the origin options are renamed here at crates/swc/src/config/mod.rs, should swc accept both? or correcting them in node-swc types? perhaps I can help


Remove itemfreq

scipy.samplers.itemfreq has been deprecated since v1.1.0 and has been removed in 1.9.0.

FYI: There is a recent stackoverflow question about this: Issue with importing TextExplainer from eli5.lime package relating to deprecated 'itemfreq' function


Adjust the display order of tokens

It is necessary to adjust the order of tokens as follows:
Rearrange the display order of tokens by rank Marketcap

Update in #1444


Display sub. data approach code  in Mont. Methods

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context (wireframes, business rules, etc.)?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a ECMPS user
I want to be able to select a sub. data approach code
So that I can add or edit it
Acceptance Criteria
Given a user has accessed monitoring methods
When sub. data approach codes are displayed
Then I can edit an existing
And add a new code
Context
Substitute Data Code (SubstituteDataCode)
Report the Substitute Data Code that designates the methodology used to determine substitute
values during periods of missing data. Leave this field blank when NOX Mass is calculated from
NOX Rate and HI (Method Code NOXR and Parameter Code NOX). Also, leave this field blank
for parameter codes OP, HGRE, HGRH, HCLRE, HCLRH, HFRE, HFRH, SO2RE, SO2RH,
and all LME methods, with the following exception. When using long-term fuel flow as the heat
input methodology for an LME unit, report a Substitute Data Code of MHHI only if it will ever
be necessary to report the unit's maximum rated hourly heat input rate as the heat input rate for
any hour. This may be necessary for either of two reasons: (1) for any hour when burning a
secondary fuel that is not measured by a long-term fuel flow system, or (2) if a unit operated for
only a very short period or used only a very limited amount of fuel during a quarter or reporting
period, so that a tank drop measurement will not yield an accurate estimate of the fuel combusted
during the reporting period. Report the appropriate uppercase code as shown in Table 12:

https://www.epa.gov/sites/production/files/2021-06/documents/ecmps_monitoring_plan_reporting_instructions.pdf
Testing
Test Case: TC213
Tester: @mosesdeeCVP
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[ ] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[x] Have all defects been reviewed and dispositioned, resolved, or deferred?
[x] Has the user story been accepted by the Product Owner?
[x] Is the user story ready to be deployed to the test/staging environments?

Test Passed


nfs-ganesha-mount-9P: init at v5.7

Description of changes
The nfs-ganesha mount.9P helper is a standalone shell script that makes
some aspects of mounting a 9P filesystem easier, e.g. instead of:
  mount -t 9p <IP_ADDRESS> /mnt -oaname=/home

it allows the familiar syntax:
  mount -t 9P <IP_ADDRESS>:/home /mnt

As the mount helper is independent of the server, it's added here
separately from it.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

all new packages must be added to by-name https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/README.md

Thanks. I have switched it to the new hierarchy.

Thanks for the feedback. Please check again. Now that this is part of the same expression, I think it would be nice to enable the tools output by default:

nfs-ganesha.out implies nfs-ganesha.tools
nfs-ganesha.tools doesn't imply nfs-ganesha.out

Is this easily possible?

Thanks for the feedback. Please check again. Now that this is part of the same expression, I think it would be nice to enable the tools output by default:
* nfs-ganesha.out implies nfs-ganesha.tools

* nfs-ganesha.tools doesn't imply nfs-ganesha.out

Is this easily possible?

You could add the following:
meta.outputsToInstall = [ "out" "tools" ];

That should yield the desired result.


Finish /stock endpoint

@bitemyapp Hey Chris!
I went back to finishing the /stock endpoint for now. This has all the query parameters mentioned in the API documentation. Should I move on to other endpoints now?

@alexeyzab amendment requested for #4, then I have a question for this:
Everything under ShipwireHasParam is an optional parameter right? The distinction between when the Stripe library used HasParam and plain function arguments was the former were for optional arguments only and the latter for obligatory arguments.

@bitemyapp Yes, that's how I've been doing it here as well. ShipwireHasParam is for optional arguments which have all been query parameters so far.

@alexeyzab merge master into this so it has the singular secure block.
Other than that, would there be a way to test this against the sandbox API? Fake the addition of some products to their warehouse, then check the Stock API for them?

@bitemyapp I was thinking about that. Will work on it. How would those tests be reproduced locally, if they require a bunch of setup within a Shipwire account? Is that even a problem?

@alexeyzab all code, no manual setup. The test provisions the test data required to run the test.

@bitemyapp Ah, I see. Would need to set up the endpoint that sends stuff to the warehouse to check the stock afterwards. Or should it be a one-off JSON payload for now?

I want to do that too, the only thing that bothers me is that I would need to go ahead and implement all the needed endpoints before coming back to testing this one. I hope that's okay.

defo fine by me. You can merge this and you can start a new branch for that if you like.

Sure, sounds good. Thanks Chris!


Problem with INFERBO with Java code

Good evening.
I have a question about the Inferbo checker for bufferoverrun in Java code.
I tried Inferbo on the following two examples of Java code:
EXAMPLE 1:
public class BufferOverrun {

	public static void main(String[] args) {
		int arrayDimension = 5;
		int [] myArray = new int[arrayDimension];

		for(int pos = 0; pos < arrayDimension; pos++)
			myArray[pos] = pos * (2 + pos);
	}
}

and output is:
Found 1 issue

BufferOverrun.java:9: error: BUFFER_OVERRUN_L2
  Offset: [0, 4] Size: [1, 1].
  7.   		int [] myArray = new int[arrayDimension];
  8.   		for(int pos = 0; pos < arrayDimension; pos++)
  9. > 			myArray[pos] = pos * (2 + pos);
  10.
  11.   	}

Summary of the reports

  BUFFER_OVERRUN_L2: 1

But I did not expect errors.
EXAMPLE 2:
public class BufferOverrun {

	public static void main(String[] args) {
		int arrayDimension = 5;
		int [] myArray = new int[arrayDimension];
		for(int pos = 0; pos < arrayDimension; pos++)
			myArray[pos + 1] = pos * (2 + pos);
	}
}

and output is:
Found 1 issue

BufferOverrun.java:9: error: BUFFER_OVERRUN_L1
  Offset: [1, 5] Size: [1, 1].
  7.   		int [] myArray = new int[arrayDimension];
  8.   		for(int pos = 0; pos < arrayDimension; pos++)
  9. > 			myArray[pos + 1] = pos * (2 + pos);
  10.   	}
  11.   }

Summary of the reports

  BUFFER_OVERRUN_L1: 1

But I expected Size[5, 5]. I don't understand why "myArray" has Size [1, 1] and
hasn't Size[5, 5].
Could you tell me if the two outputs are correct or incorrect?
Thank you so much.

Hi @paso101,
Thanks for your interest in Inferbo!
Inferbo is still a work in progress targeting C/C++ for now.
You actually tested it on Java before we even tried!
I am closing the task as we have no plan on supporting Java in the near future but feel free to contact me/send pull requests if you want to contribute and add Java support.