nixos,nixpkgs: only build essentials on i686

Motivation for this change
Only build a bare minimum of packages for i686 for 17.09 and beyond.
NixOS evaluation: https://hydra.nixos.org/jobset/nixos/grahamc-i686 (cuts out about 12,000 jobs)
Nixpkgs evaluation: https://hydra.nixos.org/jobset/nixpkgs/graham-i686 (cuts out about 21,000 jobs... is this right?)
NixOS still builds the same jobs in tested to be sure we don't kill anyone's system, but we no longer span out and build everything.
Nixpkgs won't build i686 at all, except for jobs where it is mandatory like Skype.
cc @FRidh @domenkozar @globin @edolstra
Related discussion on mailing list: https://groups.google.com/forum/#!topic/nix-devel/m7ikFjor24Y
see https://github.com/NixOS/nixpkgs/pull/27731
Things done
Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers.

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Looks correct, will merge when either @fpletz or @domenkozar have sanity-checked this.

You can use wine instead jdk for i686 -- for first is most usable 32bit app for x86-64 users, for second is also build most common useable libraries.

I generally agree with @fpletz concerns, but this is a step in the right direction and doesn't block us from refining this further (thinking more about aarch64, splitting etc.), so I'm merging this.

Hmm yes I'm pretty sure I meant to leave that. Unfortunately I can't submit
PRs for the next couple days.
On Sun, Aug 6, 2017 at 3:37 AM Vladimír Čunát<EMAIL_ADDRESS>wrote:

@vcunat commented on this pull request.
In pkgs/top-level/release.nix
https://github.com/NixOS/nixpkgs/pull/27923#discussion_r131536231:

@@ -54,43 +57,36 @@ let
jobs.manual
jobs.lib-tests
jobs.stdenv.x86_64-linux

         jobs.stdenv.i686-linux

I know I'm late, but I'd personally keep stdenv in there, as we still want
to support some packages built by it (e.g. wine).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/27923#pullrequestreview-54529193,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAErrK5bV9e7VD06A1hu-O9fmYAzJC9aks5sVW02gaJpZM4OtNvm
.

That doesn't matter;  I'll push that change myself, but first I'll have a look why all aarch64-linux jobs were cut as well.  (That's why there's significantly more removed jobs on nixpkgs than on nixos.)

We might reconsider what to do about i686 nixos tests of big stuff.  I now removed plasma5.i686-linux from tested jobset on master, and we might want to avoid other tests on i686 that have heavy build-time closures, e.g. xmonad.

Actually, there's most likely no hurry for such actions, as since this PR the x86_64+i686 queue tends to be clearly the least loaded of all.  (Darwin has the longest queue now, almost all the time.)

Offtopic. But seems to be an appropriate place to ask this.
This constant lack of resources on hydra seems strange to me. It takes
<12 hours to rebuild every single package I use (and I use a lot) on a
4-core i5 with 32G of RAM (I build everything on tmpfs, makes a lot of
difference). When building on my little distributed cluster (16 cores)
its basically a matter of waiting for gcc to build, and then for webkit
and firefox to finish.
I do not rebuild every single commit, of course, but still.
What hardware official hydra runs on today?
Why can't hydra use distcc to speed up heavy builds?
Why can't it impurely cheat a little with ccache if it really wants to
build every single commit?
(Also, I think it would really help for nix to look at load averages of
the machines in the cluster, not just span n builders that do make -j n when enableParallelBuilding is on. But that's offtopic.)

It doesn't build every commit, and Hydra is quite a strong set of machines now.  (You can get an idea by looking at https://hydra.nixos.org/machines )
The largest problem here are changes in stdenv and other "mass-rebuild" packages.  We have quite a lot of those nowadays, and doing one staging rebuild in two weeks would probably be an inconveniently slow feedback (for humans fixing the problems there).
The worst part of the testing is that half of people isn't even able to build on darwin or aarch64 in any direct way.

Load averages are considered by the -l${NIX_BUILD_CORES} option to make and equivalents.  I'd personally also try a jobserver, as the current way is prone to fluctuations, but it doesn't seem like it could make a significant difference.
ccache could help significantly, but (1) it's slightly risky for purity (IIRC Eelco might oppose it), and in the current case of quite many build slaves it wouldn't help that much on Hydra, assuming the cache would be local (and distributed ccache would be quite a notrivial setup).

It doesn't build every commit, and Hydra is quite a strong set of machines now.  (You can get an idea by looking at https://hydra.nixos.org/machines )

Ok, thanks.

The largest problem here are changes in stdenv and other "mass-rebuild" packages.  We have quite a lot of those nowadays, and doing one staging rebuild in two weeks would probably be an inconveniently slow feedback (for humans fixing the problems there).

More the reason to seriously consider using ccache for staging, I think.
Also, I was wondering if some derivation preprocessing could possibly
help with that. Seems to me that many heavy "mass-rebuild"s are
refactorings of the infrastructure. Wouldn't it be nice if nix could
"partially evaluate" derivations (remove comments, normalize whitespace,
substitute non-recursive shell functions, etc) before assigning them a
hash. Most refactorings wouldn't produce any changes to derivations. One
could actually use that fact for self-assurance when refactoring
(refactor, nix-build, get the same output immediately, "Yay! I have not
f*cked up!").
The only problem I immediately see is that evaluation time for
derivations would go up.

The worst part of the testing is that half of people isn't even able to build on darwin or aarch64 in any direct way.

I agree. Also Travis.

Load averages are considered by the -l${NIX_BUILD_CORES} option to make and equivalents.  I'd personally also try a jobserver, as the current way is prone to fluctuations, but it doesn't seem like it could make a significant difference.

I'm not that sure. Last time I measured building two firefoxes in
parallel with -j${NIX_BUILD_CORES} I had more than 4x slowdown
(because too many threads compete for CPU caches, I think).
A lot of that was simply wasted because one would expect two firefoxes
to share a lot of code and so they should get a lot of ccache hits.
Another common nix artifact I see frequently:

run one nix-store --realise, starts working as expected,
run another one with the same derivation, it starts building something
too, I would expect it to wait with "no build slots".

(Also, "no build slots" stalls and waits, while "no nixbld users" produces an error.)

ccache could help significantly, but (1) it's slightly risky for
purity (IIRC Eelco might oppose it)

I'm unsure about a good way to integrate ccache into stdenv myself. I
probably wouldn't trust it to build stdenv (at least, not by default),
and building tiny packages with it seems wasteful, but having an option
of using ccache at least for selected packages like geko and webkit
would be really nice, I think.

and in the current case of quite many build slaves it wouldn't help that much on Hydra, assuming the cache would be local (and distributed ccache would be quite a notrivial setup).

AFAIK its just works™ over NFS.

Wouldn't it be nice if nix could "partially evaluate" derivations (remove comments, normalize whitespace, substitute non-recursive shell functions, etc) before assigning them a hash.

That is done – the *.drv files are quite a lot canonicalized.  With intensional store I expect we could save the propagation of mass rebuilds in case of bit-equal outputs, but that's a far-away dream...

Another common nix artifact I see frequently: * run one nix-store --realise, starts working as expected, * run another one with the same derivation, it starts building something too, I would expect it to wait with "no build slots".

These cases always wait on my machine, even in case of using distributed builds.  (iff the hashes are the same)

I'm unsure about a good way to integrate ccache into stdenv myself.

We have ccacheStdenv, but I have no idea if it has bitrotten or something.
ccache over NFS could be good, but the build farm currently uses a mix of slaves that aren't co-located, so each compiler invocation would necessarily induce a noticeable latency.  That might not be a problem by itself, but I expect it would be more fragile and we would probably want to increase the load, as much more waiting for network would be expected.
We might even serve the ccache, similarly to current binary cache. (!!)

That is done – the *.drv files are quite a lot canonicalized.

Not to any reasonable degree. I just checked. Adding a single empty line
to any shell script in stdenv/generic causes a mass rebuild.
I remember stopping myself from fixing typos in comments of expressions
I read (several times) because of the mass rebuild that caused.

With intensional store I expect we could save the propagation of mass rebuilds in case of bit-equal outputs, but that's a far-away dream...

It also wouldn't work in general for packages because many packages
refer to themselves by /nix/store path in their own output. In configs
and man pages, for example.
But we could probably do that for binaries.
Nix could link binaries (and other files too, put they are less
interesting for this discussion) from /nix/store/<package>/bin to e.g.
/nix/store/bin/<hash of the binary> and resolve
{pkgs.package}/bin/<binary> into the latter path instead.
Note that nix-store --optimise kinda does the first half already. All
what's left is the resolve and the ability to depend on files (not
packages) by hash. The problem is that nix derivations become dynamic
because you can't compute the output hash without having binaries of the
inputs and so nix-instantiate and nix-store --realise become a
single thing (or it needs to have evaluation passes or something).
That last part is a hard thing to swallow.
Another possibility that I entertained here is caching the final build
root of the derivation you build. If you trust the build system you
could just dump the results of the unpackPhase on top of the results
of the previous build of the same package and hope it will work. It
probably wouldn't, though.
So, I think, ccache is the way to go. Sure, caching more results would
be good, but I see no other realistic and more pure way to do it than
ccache.
By the way.
Another impure thing that would help a lot and could be absolutely
transparent is caching of source repositories. Like, say, fetchgit. Why
refetch it every time when you can just git fetch into a local cached
copy and fetchgit from it instead?

Another common nix artifact I see frequently: * run one nix-store --realise, starts working as expected, * run another one with the same derivation, it starts building something too, I would expect it to wait with "no build slots".

These cases always wait on my machine, even in case of using distributed builds.  (iff the hashes are the same)

Try it next time you rebuild the whole system. Build stdenv separately
first so that it won't block on it and then run those two realises.
I get that behavior even without distributed builds.

We have ccacheStdenv, but I have no idea if it has bitrotten or something.

Nah, it's fine. I just built it and it still passes all its tests with
gcc-6. By

I'm unsure about a good way to integrate ccache into stdenv myself.
...

I mean

sure, you can overrideCC like ccacheStdenv does (needs changes to
nix.conf too because sandbox, but it's tolerable),

but you can only override stdenv for all packages or selected packages
and I would like to have "classes" of packages, like all
requiredSystemFeatures = [ "big-parallel" ]; to be built with ccache
or something,

and some work needs to be done to build stdenv using ccache and I'm
unsure about how it should be done. How the following plan sounds?
input: bootstrap-gcc
stages:
-> bootstrap-ccache: ccache built by bootstrap-gcc
-> stage1-gcc built by bootstrap-ccache with bootstrap-gcc
-> stage2-gcc built by bootstrap-ccache with stage1-gcc
-> stage2-ccache build by bootstrap-ccache with stage2-gcc
outputs: stdenv with stage2-gcc
ccacheStdenv with stage2-ccache with stage2-gcc

some more work needs to be done to verify it produces same binaries as
the default stdenv and/or it should never be used for any results that
get into the binary cache. Because I'm paranoid that evil stuff can be
done with a ccache hash collision.

ccache over NFS could be good, but the build farm currently uses a mix of slaves that aren't co-located, so each compiler invocation would necessarily induce a noticeable latency.  That might not be a problem by itself, but I expect it would be more fragile and we would probably want to increase the load, as much more waiting for network would be expected.

Well, yeah. Single ccache cache wouldn't work well with that. But you
could setup one cache per location and make hydra prefer putting
"similar" derivations (package name without version) to machines in the
"same" location (sharing ccache) when possible.
Or maybe there's some good hierarchical caching filesystem I don't know
about. Something like AFS, but hierarchical and with file locking.

We might even serve the ccache, similarly to current binary cache. (!!)

That could be cool, but the feasibility of it needs actual latency
measurements.

That is done – the *.drv files are quite a lot canonicalized.
Not to any reasonable degree. I just checked. Adding a single empty line
to any shell script in stdenv/generic causes a mass rebuild.

I remember stopping myself from fixing typos in comments of expressions
I read (several times) because of the mass rebuild that caused.

Yes, but given that the builder can be any program, nix can't assume any kind of semantics in general.

It also wouldn't work in general for packages because many packages refer to themselves [...]

The intensional store proposal does count on self-references not changing the hashes.  It's all in that old Eelco's thesis.

We might even serve the ccache, similarly to current binary cache. (!!)

That could be cool, but the feasibility of it needs actual latency measurements.

ping cache.nixos.org would be expected a few dozen milliseconds, which seems usable to me, especially given enough build-parallelism, if you have a good network.


Community Contribution for CC94 isn't available anymore

Hi @MatthewBrown,
your contributions under https://matthewbraun.github.io/CodingTrainProjects/CC_094_2048/index.html isn't available anymore.
Could you be so kind and fix this url?
Thank you in advance

@gruselhaus
It seems that the github account of @matthewbrown is completely blank(No repo and contributions). If he doesn't reply, i think the link should be removed.

@ShivanshuKantPrasad
I don't know. I found the Contribution under https://matthewbraun.github.io/CodingTrainProjects/CC_94_2048/

Looks like you have my username @matthewbrown confused with @matthewbraun.
Slightly different spelling, also a different person. :)
On Sun, Nov 11, 2018, 1:58 PM Nico Finkernagel<EMAIL_ADDRESS>wrote:

Hi @matthewbrown https://github.com/matthewbrown,
your contributions under
https://matthewbraun.github.io/CodingTrainProjects/CC_094_2048/index.html
isn't available anymore.
Could you be so kind and fix this url?
Thank you in advance
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CodingTrain/website/issues/849, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAm5v9iwuJOXi0IUJaGJpRsR3vLM8nebks5uuHNvgaJpZM4YYoLk
.

Looks like you have my username @matthewbrown confused with @MatthewBraun. Slightly different spelling, also a different person. :)
…
On Sun, Nov 11, 2018, 1:58 PM Nico Finkernagel @.*** wrote: Hi @matthewbrown https://github.com/matthewbrown, your contributions under https://matthewbraun.github.io/CodingTrainProjects/CC_094_2048/index.html isn't available anymore. Could you be so kind and fix this url? Thank you in advance — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#849>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAm5v9iwuJOXi0IUJaGJpRsR3vLM8nebks5uuHNvgaJpZM4YYoLk .

@matthewbrown Oops, sorry for that.
@nilsweb what do you think? Should we remove the Contribution?

This is my fault as this was caught up in the automatic script I set to add the zeros to the Coding Challenges. Looks like the correct url is https://matthewbraun.github.io/CodingTrainProjects/CC_94_2048/index.html

Thank you @meiamsome.
Fixed with #853


Mixin: Update sidecar alert

Signed-off-by: Xiang Dai<EMAIL_ADDRESS>Fix #544

This metrics has removed by #599, so remove this alert.
Add new alert

@kakkoyun please review.

@kakkoyun ping

Who is generating this? will make docs generate it? :thinking:

@bwplotka it's make examples since it's where it gets updated.
https://github.com/thanos-io/thanos/blob/56a1fb6c084f11638f6f7b6532adc07dd05824b6/Makefile#L335-L337


Allow non-CSS compilers to optionally emit CSS modules

Allows non-CSS compilers (template and javascript) to emit CSS code that will be processed by Brunch.
This is useful for single-file Vue.js plugins, as they emit both JS and CSS. Currently, vue-brunch relies on injecting CSS using Javascript or dumping the unprocessed CSS to a separate file.
This change is similar to #1240.
How to use it:
class MyCompiler {
  compile(params) {
    const compiled = magic(params);
    const cssExports = ".red { color: #f00 }";

    return Promise.resolve({ data: compiled, cssExports });
  }
}

Hello,
I made a proof of concept plugin @ https://github.com/shferreira/vueify-brunch and made a bare-bones project that tests both this PR and the plugin: https://github.com/shferreira/brunch-template/tree/brunch-importcss-sample
Let me know if there's anything I can improve in this PR, or make it easier for you guys... I don't normally contribute to open source projects, but I love Brunch and would like to improve it!

Thanks!


Inconsistent Name for Application from inside Subcommands

Motivation
Fixes #783
The current behavior of the app.Name is not consistent and results in a bad experience for the users. The PR attempts to fix this until such time a better solution is in place (v3)
Release Notes
Adds ProgramName and CommandName. The ProgramName will always contain the name of the application as defined by the user. The CommandName will include the ProgramName with the name of the command, and it's parent commands.
Changes

app.go - Added the ProgramName and CommandName members to the App struct. Initialize ProgramName for the first time.
command.go - Added logic to initialise and update the ProgramName and CommandName members. Make use of the context lineage to set the ProgramName correctly.
command-test.go - Added a test case to validate above change'
helpers_test.go - Added equal method to compare slices

Testing
I used the following program to help test:

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/urfave/cli/v2"
)

func main() {
	app := cli.NewApp()
	app.Name = "myprogramname"
	app.Action = func(c *cli.Context) error {
		fmt.Println("c.App.Name for app.Action is", c.App.Name)
		fmt.Println("c.App.ProgramName for app.Action is", c.App.ProgramName)
		fmt.Println("c.App.CommandName for app.Action is", c.App.CommandName)
		return nil
	}
	app.Commands = []*cli.Command{
		{
			Name: "foo",
			Action: func(c *cli.Context) error {
				fmt.Println("c.App.Name for app.Commands.Action is", c.App.Name)
				fmt.Println("c.App.ProgramName for app.Commands.Action is", c.App.ProgramName)
				fmt.Println("c.App.CommandName for app.Commands.Action is", c.App.CommandName)
				return nil
			},
			Subcommands: []*cli.Command{
				{
					Name: "bar",
					Action: func(c *cli.Context) error {
						fmt.Println("c.App.Name for App.Commands.Subcommands.Action is", c.App.Name)
						fmt.Println("c.App.ProgramName for App.Commands.Subcommands.Action is", c.App.ProgramName)
						fmt.Println("c.App.CommandName for App.Commands.Subcommands.Action is", c.App.CommandName)
						return nil
					},
					Subcommands: []*cli.Command{
						{
							Name: "baz",
							Action: func(c *cli.Context) error {
								fmt.Println("c.App.Name for App.Commands.Subcommands.Subcommands.Action is", c.App.Name)
								fmt.Println("c.App.ProgramName for App.Commands.Subcommands.Subcommands.Action is", c.App.ProgramName)
								fmt.Println("c.App.CommandName for App.Commands.Subcommands.Subcommands.Action is", c.App.CommandName)
								return nil
							},
						},
					},
				},
			},
		},
	}

	err := app.Run(os.Args)
	if err != nil {
		log.Fatal(err)
	}
}

The same program was modified to write the test case.
Reviewer Guidelines
The PR is marked as a v2 feature. However, I thought that this, being a simple change, it would be worth our while to get this into v1 for the sake of sanity.

I don't think we should add any public API, we should just fix App.Name to always be the same thing.
I think command can be retrieved from the context?

I don't think we should add any public API, we should just fix App.Name to always be the same thing.
I think command can be retrieved from the context, or if the user is generating functions (the only reason why I can explain you'd need a name), he could curry (functionally speaking) the name into the acting function.

@lynncyrin  ☝
@AudriusButkevicius You are right about currying through the context. We actually have a ctx.Lineage call available which would return a slice of contexts from the current till the parent which would help the user do the same.

I don't think we should add any public API, we should just fix App.Name to always be the same thing.

It's unclear if anyone relies on the current behavior of App.Name. So until someone can provide evidence that App.Name was always intended to ever return the program name, I consider this change to be a feature request rather than a fix.

So until someone can provide evidence

Also, this should be happening inside the issue => https://github.com/urfave/cli/issues/783 rather than inside this pull request. Pull requests aren't a good context for collecting information and discussion like this.

I consider this PR WIP and not approve-able until consensus on the desired solution is reached, that conversation should happen here => https://github.com/urfave/cli/issues/783

Similarly to https://github.com/urfave/cli/pull/973, is this still relevant as of https://github.com/urfave/cli/pull/975?

@meatballhat i see there’s a test failing. Will take a look at this later today.

@asahasrabuddhe Can you check if we still need this in latest release ? I've made some changes that actually fixes this.

Fixed in latest release.


Soundpipe Effects memory leak

I have come across some memory leaks concerning the C code in Soundpipe when instantiating some AudioKit AVAudioUnit/AUAudioUnits. I've checked the leak issue with multiple AudioKit effects units and they all seem to point to sp_create malloc which is called from the effect's DSPKernels, and SoundPipe>Modules>base.c
It seems to when we start the engine (after they've been connected and attached) and sometimes when we are instantiating the units... so it leads me to believe something is happening when we start up the audio hardware.
> Bytes Used	                             # Leaks		  Symbol Name
320 Bytes   90.9%	3	 	                              +[AVAudioUnit instantiateWithComponentDescription:options:completionHandler:]
320 Bytes   90.9%	3	 	                               APComponent::NewInstance(unsigned int, bool, void (OpaqueAudioComponentInstance*, int) block_pointer)
320 Bytes   90.9%	3	 	                                AUIB_OpenAsync(void*, OpaqueAudioComponentInstance*, unsigned int, void (OpaqueAudioComponentInstance*, int) block_pointer)
320 Bytes   90.9%	3	 	                                 AUAudioUnitSubclassInstance::OpenAsync(OpaqueAudioComponentInstance*, unsigned int, void (OpaqueAudioComponentInstance*, int) block_pointer)
320 Bytes   90.9%	3	 	                                  AUAudioUnitSubclassInstance::Open(OpaqueAudioComponentInstance*)
320 Bytes   90.9%	3	 	                                   -[AUAudioUnit initWithComponentDescription:error:]
320 Bytes   90.9%	3	 	                                    -[AKMoogLadderAudioUnit initWithComponentDescription:options:error:]
256 Bytes   72.7%	2	 	                                     sp_create
256 Bytes   72.7%	2	 	                                      malloc
256 Bytes   72.7%	2	 	                                       malloc_zone_malloc

I'm going to need a sample project or something to be able to act on this issue.

Hey Aure, I just ran the SamplerDemo. Thanks!

Was this analyzing the simulator or the app running on a device?  I have had some spuriously reported memory leaks on the simulator.

My comment might be related to this issue - if not, let me know and I can start a new Issue. I have found that the AKAmplitudeTracker isn't being deallocated after the containing class has had its deinit block called. I've dereferenced the object, but it persists. I see that it is using the C++ kernel audio unit method, so I'm wondering if it is related to that.
Here's what I'm seeing in the memory graph of xcode:

I've confirmed it happens in both the simulator and on a device in both my project and the SamplerDemo
I also see multiple leaks for AVAudioFormat that I've experienced in my own project and SamplerDemo

I don't know if the Leaks screenshot is helpful or not, but here's what I see there in a very short run of my app instantiating and deleting a few objects. It seems like Apple's frameworks also show up as Leaks so I don't know exactly what to think. I'm new to even looking at this Instruments app so I don't know what to expect there.

the initial stack trace posted ends with a call to sp_create. A memory leak there would indicate that sp_destroy isn't being called at cleanup.

So, for the record, my idea about what is wrong here is a long standing thing with AudioKit / Audio Units v3.  Basically, there's a stage in which you create the audio unit, but we're usually ending up with two, one that works and one that just doesn't go away / isn't ever used.  It hasn't seemed to affect things too negatively yet, so it hasn't been a priority.   But perhaps now is the time.

The weird thing was in the initial stack trace, it did seem to call sp_destroy when I was deiniting the class that held the units and it was freeing up the memory... But the fact that there are two audio units being created makes sense...
Is this the line?

    AVAudioUnit.instantiate(with: _Self.ComponentDescription, options: []) {
        avAudioUnit, error in

        guard let avAudioUnitEffect = avAudioUnit else { return }

        self.avAudioNode = avAudioUnitEffect
        self.internalAU = avAudioUnitEffect.auAudioUnit as? AKAudioUnitType

        AudioKit.engine.attach(self.avAudioNode)
        input.addConnectionPoint(self)
    }

So this is only with some of the Audio Units though, or is it for all of them? For example, I don't see this behavior in the AKTimePitch class - it is deallocated. I haven't yet tested too many of the effects, but have noticed it in particular with the AKAmplitudeTracker. Do you mean any of the AudioKit nodes that also use embedded C code in them?
For me, I'm developing a desktop application where performance is key, not an iOS app - so anything hanging around after I want to get rid of it is a bit worrying.

I'm also allocating up to thousands of AudioKit objects over the lifecycle of a session.

It's only for nodes that employ AUv3.  Anything with a DSP kernel.  AKTimePitch is just a wrapper around Apple's time stretcher, so it handles its own lifecycle. If you're up for the challenge of figuring out this memory leak, we can certainly use the help!  Thanks!

I'm also using a lot of effects nodes so this adds just to hundreds of leaks and confirm the leak with AKAmplitudeEnvelope. Ryan and I are up for the challenge, but no guarantees :P
I'm not that versed with C as much as ObjC or Swift, but I'd love to try to contribute to this amazing project.
What are the two audio units being initialized? Are you saying that AVAudioUnit and AVAudioNode are the two AudioUnits? I'm not seeing where the two audio units are being created...

    self.avAudioNode = avAudioUnitEffect
    self.internalAU = avAudioUnitEffect.auAudioUnit as? AKAudioUnitType

Or are you saying that the dsp _kernel is the second audio unit?
Inside the .mm files for AUAudioUnit subclass there is
- (instancetype)initWithComponentDescription:(AudioComponentDescription)componentDescription
                                     options:(AudioComponentInstantiationOptions)options
                                       error:(NSError **)outError {
    self = [super initWithComponentDescription:componentDescription options:options error:outError];

    if (self == nil) {
        return nil;
    }

    // Initialize a default format for the busses.
    AVAudioFormat *defaultFormat = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:AKSettings.sampleRate
                                                                                channels:AKSettings.numberOfChannels];

    // Create a DSP kernel to handle the signal processing.
    _kernel.init(defaultFormat.channelCount, defaultFormat.sampleRate);

is the _kernel the second "AudioUnit"? This would make sense because AVAudioFormat seems to be leaking consistently on that line.

I'll do what I can though my C skills are very rusty.
Soon I'll create a very simple project to test this with.

Hi guys, I finally had a bit of time tonight to look closer at the issue. It's actually a very simple bug in the swift code. In the closures self is a strong reference so this creates a retain cycle. All that needs to be done is to use a weak reference to it like this:
        AVAudioUnit._instantiate(with: _Self.ComponentDescription) { [weak self]
            avAudioUnit in

            self?.avAudioNode = avAudioUnit
            self?.internalAU = avAudioUnit.auAudioUnit as? AKAudioUnitType

            input.addConnectionPoint(self!)
        }

Aure, I'll go through all the AUv3 classes and make the fixes. Will send you a pull request when done!
Ryan

Note these strong self references in closures may be in other places in the AudioKit code besides these v3 classes, so keep an eye out for them!

Aure,
I'm wondering about the following Dispatch block:
`        token = tree.token (byAddingParameterObserver: { [weak self]
address, value in
        DispatchQueue.main.async {
            if address == self?.halfPowerPointParameter!.address {
                self?.halfPowerPoint = Double(value)
            }
        }
    })`

Specifically, does that DispatchQueue really need to be in there? I think it's possible in certain situations that by the time the code is executed on the main thread the reference to self could be gone.

Fixed by https://github.com/audiokit/AudioKit/pull/697


core: cds-control can expand outside of its container width

Describe the bug
When the content of a custom cds-control is long, it can force the component to go outside of its container.

How to reproduce
https://codesandbox.io/s/cds-control-overflow-sjdkz
The first block is a regular paragraph that stays within the boundaries of its container, even when force not to wrap.
The second block is a cds-control. As you can see, the content goes out of the screen.
Expected behavior
Both elements should look like the top one.

Versions
Clarity project:

[x] Clarity Core
[ ] Clarity Angular/UI

Clarity version:

[ ] v3.x
[ ] v4.x
[x] v5.x

Framework:

[ ] Angular
[ ] React
[ ] Vue
[x] Other: All

Additional notes
@mathisscott and @dturcotte had a chat about this, and it sure is tricky. We identified 2 options for this:

@mathisscott suggested adding a max-width of var(--internal-label-max-width) (or calc(var(--internal-label-max-width) - 1rem) if using a status) as a hack to avoid changing the library itself. This works, but... only when used in a cds-form-group and its layout is horizontal. This solution means Clarity needs to expose --internal-label-max-width regardless of the layout.
Another option is to try and add a boundary to the div.input-container element within the shadow root of cds-control, for example some variation of max-width: 100% + some math.

In both cases, status makes it tricky because it's not a simple 100% anymore. Worse, since the control action can take any size, it's not a matter of 100% - 1rem (as the default success/error action takes about that width).
@mathisscott, let me know if I missed or misrepresented something. Either way, thanks a ton for the help! 🙏

The second option could work as a fix. We can calc off the max width if the status is error or success on the .input-container.
Here is a possible workaround if you are blocked
https://stackblitz.com/edit/http-server-apny3t?file=src%2Findex.ts

I have a fix for this issue in the pipeline. I should have a PR up for it tomorrow. ￼

Resolved by https://github.com/vmware/clarity/pull/6254, thanks again!


Add Alpha to Coverage

Alpha to Coverage is used for anti aliasing Cutout borders with MSAA.
See https://medium.com/@bgolus/anti-aliased-alpha-test-the-esoteric-alpha-to-coverage-8b177335ae4f

Before:

After:

It is important to use Mipmaps preserve Coverage in the texture, so it won't fade out when a lower mipmap level is used.


CHS Translation of v2o.5.0beta1

It is shown that the CHS file has less lines than the English file, because nc.sf.plural_rule is changed in CHS file, so actually it is completely translated

Cheers!


When arm show directly open sensors in screen

Hi ALl,
I love this integration. It's so advanced and lots of great options!!!
Maybe it is there already, but when I arm the house for away and the time is over I see the message "Could not arm....."
Then im already left the house.
Would it be possible at the moment you press ARM AWAY the message will shown already? Then you see direct after pressing the button the message and you can close the door/window and arm again.
Greets,
Peter

You can configure if a sensor is allowed to be active during the exit delay.
If a sensor is configured as not allowed, the arming will fail (and message will be shown) before the countdown.
I would suggest to only use exit delay on door sensors which you use for leaving the house, all other sensors should not have delay.
I don't think a new feature is needed to satisfy your request.

This are the settings for all of my door sensors except front door. But when I arm no message will show. Arm is active after 30 seconds.


Top down parser

@kevalmorabia97 please help me i need for university practical Exam
Enter number of rules:5
Enter rules in the form AB+C meaning A->B+C
SiEtSA
Sa
AcS
Ae
Eb
Enter starting non terminal:S
Enter input ending with $:ibtaca$
curr_sym:i, Stack: $ S
curr_sym:i, Stack: $ A S t E i
curr_sym:b, Stack: $ A S t E
curr_sym:b, Stack: $ A S t b
curr_sym:t, Stack: $ A S t
curr_sym:a, Stack: $ A S
curr_sym:a, Stack: $ A         a
curr_sym:c, Stack: $ A
Not Valid
it shows invalid but by logic its valid

plzz can anyone help me...


adding test files to test pr workflow.

pr workflow test

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-csharp-cosmos-sql
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-csharp-cosmos-sql -b pr/38

View Changes | Compare Changes

Project: todo-csharp-mongo
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-csharp-mongo -b pr/38

View Changes | Compare Changes

Project: todo-csharp-sql
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-csharp-sql -b pr/38

View Changes | Compare Changes

Project: todo-nodejs-mongo-aca
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-nodejs-mongo-aca -b pr/38

View Changes | Compare Changes

Project: todo-nodejs-mongo-swa-func
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-nodejs-mongo-swa-func -b pr/38

View Changes | Compare Changes

Project: todo-nodejs-mongo
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-nodejs-mongo -b pr/38

View Changes | Compare Changes

Project: todo-python-mongo-aca
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo-aca -b pr/38

View Changes | Compare Changes

Project: todo-python-mongo-swa-func
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo-swa-func -b pr/38

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/38

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples-staging
Branch: pr/38
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo-terraform -b pr/38

View Changes | Compare Changes


how to use temperature scaling parameter

@gpleiss hello , thank you for sharing your code! I had trained my binary classification network with softmax cross entropy loss. And I compute the prob using softmax. Now I delete softmax layer, so the last layer of my network is a fully connected layer(logits). I calibrated the confidence with your sharing code, and got the temperatuer scaling. How should I utilize the scale ? 1. sigmoid(logits / T) or 2.softmax(logits / T) ? As I known, the paper said the sigmoid(logits / T).

the code readme says using softmax(logits / T), and the code compute the nll loss with nll_loss(log_softmax)

sigmoid(logits / T). The network is trained without the temperature.

@gpleiss however this is one sentence in the readme.md of your repo

Temperature scaling divides the logits (inputs to the softmax function) by a learned scalar parameter. I.e.

softmax = e^(z/T) / sum_i e^(z_i/T)
and the code computer nll_loss based on log_softmax. Does this mean that the way using the learned scale depends on the way of computing prob of original network ?

@gpleiss  however this is one sentence in the readme.md of your repo

Temperature scaling divides the logits (inputs to the softmax function) by a learned scalar parameter. I.e.

softmax = e^(z/T) / sum_i e^(z_i/T)

and the code computer nll_loss based on log_softmax. Does this mean that the way using the learned scale depends on the way of computing prob of original network ?

@gpleiss however this is one sentence in the readme.md of your repo

Temperature scaling divides the logits (inputs to the softmax function) by a learned scalar parameter. I.e.

softmax = e^(z/T) / sum_i e^(z_i/T)

and the code computes nll_loss based on log_softmax. Does this mean that the way using the learned scale depends on the way of computing prob of original network ?

and the code computes nll_loss based on log_softmax.

Which part of the code are you referring to? The training code does not apply temperature scaling, since temperature scaling is only done as part of post processing.

@gpleiss In the file temperature_scaling.py set_temperature function in which to tune temperature scale the code optimizes it with nll loss that actually is crossEntropy loss(which is negtivie log_softmax)

This is the methodology that we describe in our paper - see section 4.1, Platt Scaling. The temperature is optimized to minimize the NLL on the validation set. This is the natural choice, since we desire a probabilistic output and NLL will ensure that our output is probabilistic.

Does this mean that the way using the learned scale depends on the way of computing prob of original network ?

Are you asking if the original network also has to be trained with NLL? I'm not sure if our method would apply otherwise. If you were learning the network with a different loss (e.g. hinge) then your model will likely not be probabilistic.

THX for your reply! My original network is the logits layer following softmax layer in the deploy .My original network was also trained with NLL.  After I got the temperatuer on validation set,  how should I use it in the post processing ?

@gpleiss https://geoffpleiss.com/nn_calibration, here I got the answer!


Fix: Layout breaks when device orientation changes

Motivation
Should solve #877
My understading is that bug has been introduced by this commit : https://github.com/react-native-community/react-native-tab-view/commit/30216d3
On orientation changes, TabBar layout state updates his component before his own parent component pass (to his children thus TabBar) new layout prop.
Test plan
Just change orientation of your device / emulator

Sorry for that bad quality (thx gif)

@satya164 Any insight into this issue then?
Been looking for a solution and the closest guess I have is that layout is being set before the orientation has completed.


[GC Forms UI] Refining form building cards for forms with a lot of content

As users start to create large forms, the thick stroke/widths and the black and white will become draining on their eyes. I have a proposal for some small changes to the cards themselves that will reduce the cognitive load of the Edit page.
Private Zenhub Image
Card style
border-color: slate-700
border-width: 1px
Drop down within the card
height: 42px
border-color: slate-700
border-width: 1px
font-size: text-lg/18px
Other input fields (including required checkbox)
border-color: slate-700
border-width: 1px
Content
font-family: Noto-sans,
// question //
font-size: text-lg, font-bold / 150% / 18px
font-color: slate-700
// required, options //
font-size: text-lg
font-color: slate-700
// question number //
font-size: text-lg, font-bold / 150% / 18px
font-color: slate-700
background-color: slate-300
Work detailed /GC Forms UI/Components/Section: Builder cards

@samsadasivan working on a PR for this one here:
https://github.com/cds-snc/platform-forms-client/pull/2654
I see the borders listed in this issue as slate-700 but I don't see slate-700 in the palette (for now I'm using slate-500) --- does 500 work?

Drop down within the card

The dropdown no longer exists in the app so should likely updates the designs to follow suit.

@dsamojlenko I'll leave this open --- and we can look at the typography in #2358 and #2357 is worked out.

https://github.com/cds-snc/platform-forms-client/pull/2677
https://github.com/cds-snc/platform-forms-client/pull/2722


Refactor and add Component Event Source Unit tests

Purpose

Refactor and add Component Event Source Unit tests

Goals

Refactor and add Component Event Source Unit tests

Approach

Refactor and add Component Event Source Unit tests

User stories

N/A

Release note

N/A

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

Unit tests

N/A

Integration tests

N/A

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

N/A

Related PRs

wso2-cellery/distribution#150

Migrations (if applicable)

N/A

Test environment

N/A

Learning

N/A

Codecov Report

Merging #62 into master will increase coverage by 3.88%.
The diff coverage is 92.59%.

@@             Coverage Diff              @@
##             master      #62      +/-   ##
============================================
+ Coverage     35.02%   38.91%   +3.88%
- Complexity      417      528     +111
============================================
  Files           128      129       +1
  Lines          5347     5337      -10
  Branches        993      989       -4
============================================
+ Hits           1873     2077     +204
+ Misses         3033     2813     -220
- Partials        441      447       +6

Impacted Files
Coverage Δ
Complexity Δ

...ellery/observability/k8s/client/crds/CellSpec.java
86.66% <ø> (ø)
8 <0> (?)

...bility/k8s/client/crds/model/ServicesTemplate.java
81.81% <ø> (ø)
6 <0> (?)

...ry/observability/k8s/client/crds/DoneableCell.java
0% <ø> (ø)
0 <0> (?)

...ty/k8s/client/crds/model/ServicesTemplateSpec.java
73.91% <ø> (ø)
12 <0> (?)

...lery/observability/k8s/client/crds/model/GRPC.java
85.71% <ø> (ø)
8 <0> (?)

...lery/observability/k8s/client/crds/model/HTTP.java
80% <ø> (ø)
11 <0> (?)

...ability/k8s/client/crds/model/GatewayTemplate.java
81.81% <ø> (ø)
6 <0> (?)

...ability/k8s/client/crds/model/STSTemplateSpec.java
60% <ø> (ø)
2 <0> (?)

...ity/k8s/client/crds/model/GatewayTemplateSpec.java
91.3% <ø> (ø)
12 <0> (?)

...servability/k8s/client/crds/model/STSTemplate.java
81.81% <ø> (ø)
6 <0> (?)

... and 21 more

Continue to review full report at Codecov.

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


Figure out postgres indexes for pass-core

Review how current PASS searches to see what indexes are needed.
See elide documentation for how to turn on logging and see the SQL resulting from RSQL.
Then use explain in postgres to figure out what indexes are needed.
Key searches include journalName, awardNumber, and various relationships.
Note there is already spring support for loading liquibase changelogs which is disabled in application.yaml.
The output should be a SQL file which can be run in postgres.
If the liquibase work is already done, create a changelog too.

First cut at creating reasonable indexes:
# doi service
CREATE INDEX pass_journal_issns_id_ix ON pass_journal_issns (journal_id);
CREATE INDEX pass_journal_issns_issn_ix ON pass_journal_issns (issns);

# journal service
CREATE INDEX pass_user_locators_id_ix ON pass_user_locators (user_id);
CREATE INDEX pass_user_locators_locator_ix ON pass_user_locators (locatorids);

# Make LIKE operations faster. Could also consider trigrams.
CREATE INDEX pass_grant_awardnumber_ix ON pass_grant (awardnumber varchar_pattern_ops);

# Make RSQL ini faster
CREATE INDEX pass_journal_name_ix ON pass_journal (lower(journalname) varchar_pattern_ops);

# UI searches on pi and copi
CREATE INDEX pass_grant_pi_ix ON pass_grant (pi_id);
CREATE INDEX pass_grant_copis_grant_ix ON pass_grant_copis (grant_id);
CREATE INDEX pass_grant_copis_copi_ix ON pass_grant_copis (copis_id);

# Deposit service
CREATE INDEX pass_deposit_submission_ix ON pass_deposit (submission_id);
CREATE INDEX pass_file_submission_ix ON pass_file (submission_id);
CREATE INDEX pass_submission_status_ix ON pass_submission (submissionstatus);
CREATE INDEX pass_deposit_status_ix ON pass_deposit (depositstatus);

The journalName search in particular can be made a fair amount faster with:
CREATE EXTENSION pg_trgm;
CREATE INDEX pass_journal_name_ix ON pass_journal USING GIN(lower(journalname) gin_trgm_ops);

After one more pass of user interface:
# doi service
CREATE INDEX pass_journal_issns_id_ix ON pass_journal_issns (journal_id);
CREATE INDEX pass_journal_issns_issn_ix ON pass_journal_issns (issns);

# journal service
CREATE INDEX pass_user_locators_id_ix ON pass_user_locators (user_id);
CREATE INDEX pass_user_locators_locator_ix ON pass_user_locators (locatorids);

# Make LIKE operations faster. Could also consider trigrams.


Pagetree cleanup

fixes a bug where multiple icons were incorrectly stacked in the pagetree
fixes a bug with checkbox in copy dialog being incorrectly positioned
decreases the timeout for showing the tooltip

before

after

LGTM

Coverage remained the same at 88.647% when pulling c7e7b96fee8c76ea46de273151b94df3d006792f on vxsx:feature/pagetree-cleanup into 05ba570131e0c40feaad9af605bfc46480602fce on divio:develop.


golang: add apt-get update before installing deps

This avoids errors if repos are out-of-sync

going to merge it, otherwise master is locked. build seems fine, so we should be good!


Create a simple example of using .observe

Surprisingly, we don't have any simple examples of building a small UI with widgets interacting with each other using .observe.

Like this:
from ipywidgets import IntSlider
from IPython.display import display
x = IntSlider(description='x')
y = IntSlider(description='y')

def update_y(args):
    y.value = args['new']
    print(args['new'])

x.observe(update_y, 'value')

display(x)
display(y)

may be change args to change for consistency and adding change['old'] too?
def update_y(change):
    y.value = change['new']
    print(change['old'], change['new'])

Note: use change.old and change.value instead of get_item.

is this new in 6.0.x?

Fairly new in traitlets

IMO, this example is not enough, here is related issue:
https://github.com/jupyter-widgets/ipywidgets/issues/1731

Let's come up with another example over there and submit it to the docs. It's always great to have more!


It would be helpful to specify how to use optional parameters

I'd like to have routes
(1) ~/admin/user
(2) ~/admin/users?siteID=42
I'd expect .NET Core to support these two in one endpoint, but I cannot find on this page how to do this. There is something about optional parameters but this is limited to a route like
(3) ~/admin/users/42
But that's not what I want. It's not a request for user 42, but for site 42.

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

ID: 32374077-e02e-d6a6-1cea-05e58447b7cd
Version Independent ID: 86aeab13-1c25-9fc1-4e56-0390cb40c242
Content: Routing in ASP.NET Core
Content Source: aspnetcore/fundamentals/routing.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

It's there, keep reading.


[webhook-service] Webhook upgrade deletes "Drain Timeout"

Reproduce:

Configure a service with drain timeout
setup a webhook, upgrading that service
trigger the webhook

Expected: Service upgraded, and drain timeout still set and used
Behavior: Drain timeout is set to 0 and draintimeout is not even used 1 time

Useful
Info

Versions
Rancher v1.6.12 Cattle: v0.183.30 UI: v1.6.30

Access
localauth admin

Orchestration
Cattle

Route
hosts.index

Close in favor of https://github.com/rancher/rancher/issues/10524


Add slf4j dependency to fix build related errors when running ZksCryptoTest.

Fixes:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

while running ZksCryptoTest in IntelliJ IDEA.

@MaximFischuk if you agree with this PR, please merge it


[aws-lambda] New deprecation dates

Updated based on information from https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
Note: "eol" has been taken to mean the "Block function update" date

Thanks a lot for this update @francis-shine !


Blinking Items/ Documentation

When trying to use Brokered Update Sync. Objects blink RGB for some reason and there seems to be no way to toggle this feature. Also there is no documentation from what I can see on what "B Debug, B Held, B Disable Collision On Grab do. Is B the hotkey? What's the feature do? I also went to the Demo map and the cube seem to have tile errors on mouse error when I don't know if it's due to the sync update or something else.

The RGB is just because of the debugging features.  If checked, it will indicate various internal states.  It is not intended for general use.
What are the errors?


Script Request: Ruby

ToDo: Add a script for Ruby.

Script has been added by user nanderson83. Closing.

Reopening until merged into master.


updated flux (37.3)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Merged as 9a1a4982de792c6cfd9a426b3ac4f45612ad1794.


fixfilter and project node should be pushed down through cte

Proposed changes
1.move PushdownFilterThroughCTEAnchor and PushdownProjectThroughCTEAnchor into PUSH_DOWN_FILTERS rule set
2.move PushdownFilterThroughProject before MergeProjectPostProcessor

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Data Length Extension

Hello all,
Just a quick question. I have a BLE application where I am sending 494 bytes through a notification.
After some testing, it appears that the program is unable to get the notification if it is above the 23 byte limit. Is there a way in the library to enable to data length extension so that I can get the 494 bytes?

Hi @philm001,
I'm the friendly issue checker.
It seems like (100.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

Hi @philm001 ,

Just a quick question. I have a BLE application where I am sending 494 bytes through a notification.
After some testing, it appears that the program is unable to get the notification if it is above the 23 byte limit. Is there a way in the library to enable to data length extension so that I can get the 494 bytes?

I guess you are talking about Bluetooth 5 Advertisement Extensions, right? (These extended advertisement should be able to include up to 255 bytes in a single packet, and even more via chaining.)
Support for BT5 Advertisement Extensions has been added recently on Android (see #495 and #496). On iOS this is currently still not possible AFAIK.
We will soon prepare a release 2.1.2, which will include this feature on Android.

Ok great. Just to confirm, the package that is on the MS Nuget package manager, is that at the latest version with these fixes?

Ok great, do you have a timeline for the release?

Ok great, do you have a timeline for the release?

I'd like to get it done within a week or so, but I'm not giving any guarantees ;)
In any case, I'm working on auto-building nuget packages via CI right now (cf. #501), which should make it much easier to try the master branch before the actual release.
If I read your explanations above correctly, then you only use xamarin-bluetooth-le for the receiver side of your application, while the transmitter side has a different implementation, right?

In any case, I'm working on auto-building nuget packages via CI right now (cf. #501), which should make it much easier to try the master branch before the actual release.

Done. The nuget packages for the current master branch are available here:
https://github.com/xabre/xamarin-bluetooth-le/suites/2478813162/artifacts/53361185
@philm001 Could you try those, in order to see if they work for you, and if they solve your problem?

Hello Thank you for the update! I haven't installed a Nuget package manually before. According to my Nuget oackage manager, my Xamarin shared project is v2.1.1-24-g22bed21 which is the one that you gave me. The droid and iOS projects do not have this version.
I created another source that points to a local directory of the nuget packages. In my Manage package for Solution window,I clicked on the gear and added a directory that points to my local installation of the nuget packages. So I think that I am doing it correctly?
Like I said, the droid and iOS projects are unable to find the package even though the nuget manager settings are the same. As a result, when I run with the new update, the droid app is unable to grab the data (it also never gets notified that there is data).
Quick question, I thought that the data extension was released for BLE v4.2?

Hello Thank you for the update! I haven't installed a Nuget package manually before. According to my Nuget oackage manager, my Xamarin shared project is v2.1.1-24-g22bed21 which is the one that you gave me. The droid and iOS projects do not have this version.

You should make sure that all your projects reference the same version of the plugin (and yes, v2.1.1-24-g22bed21 is the one from the GitHub Actions build mentioned above).
It might even be enough if only your shared project references the plugin (if your droid & iOS projects in turn reference the shared project).

I created another source that points to a local directory of the nuget packages. In my Manage package for Solution window,I clicked on the gear and added a directory that points to my local installation of the nuget packages. So I think that I am doing it correctly?

Yes, sounds good. You need to set up an additional package source in VS, which consists of a local folder containing the nupkg files.

Like I said, the droid and iOS projects are unable to find the package even though the nuget manager settings are the same. As a result, when I run with the new update, the droid app is unable to grab the data (it also never gets notified that there is data).

That's strange.
But yes, I also see that sometimes the local packages are not shown if I select "All sources". Seems one can work around that by selecting the specific local package source. (Note: I'm using VS for Mac.)

Quick question, I thought that the data extension was released for BLE v4.2?

I'm afraid there was a misunderstanding on my side.
I somehow thought you were talking about BLE Advertising Extensions (with a payload of up to 255 instead of 31 bytes), which are actually a feature of BLE 5 (and the subject of #495).
However, you are obviously talking about BLE Data Length Extensions (DLE), which is a completely different thing, and I think it's true that those have been introduced in 4.2.
Sorry for the misunderstanding. In that case I'm not sure if the packages from our current master branch will help you, but you can still try.

Just a quick question. I have a BLE application where I am sending 494 bytes through a notification.
After some testing, it appears that the program is unable to get the notification if it is above the 23 byte limit. Is there a way in the library to enable to data length extension so that I can get the 494 bytes?

Could you tell us on which platform (operating system) you have tried this?

For Visual studio I am on VS2019 windows 10

Android 8.0 API 26

Sorry for going dark on this. For now, we limited the transmission to 20 bytes and that is working fine. The application is able to work well with this data rate but am looking forward to the next release!

Sorry for going dark on this. For now, we limited the transmission to 20 bytes and that is working fine. The application is able to work well with this data rate but am looking forward to the next release!

Release 2.1.2 is out now, but I don't think it will help you with this. (You should still try it, though.)
Btw, I just found this ...
https://github.com/NordicSemiconductor/Android-BLE-Library/issues/42#issuecomment-436215164
... which claims that Android 6 and above should support DLE, and that there is no special API to enable it.

Also here is an in-depth guide to DLE:
https://punchthrough.com/maximizing-ble-throughput-part-3-data-length-extension-dle-2/
I haven't read through it fully, but I hope it may be helpful to you.


Support Safari 10 and variants

[x] CHANGELOG.md has not been updated, this is a bugfix of an unreleased feature.

Fixes #459 (see that bug and the comments in this PR for the details).

Oh, and this is pretty much only possible to test on OS X because with sauce I expect you'll get different machines, so it's totally fine to run tests in parallel there. You can verify that it works locally by running the integration tests (previously we had been excluding Safari, probably because of this problem 🤕 🌴 🐶 🔥).

Oh, Justin is out for the rest of the day. Switching to Dan

Thanks for the quick review! I'll stamp out a release of this as prerelease.2 shortly.

Stamped v6.0.0-prerelease.2 which also includes caching of compilation in polyserve for mroe speed.


Fixing issue https://github.com/ansible-lockdown/AMAZON2023-CIS/issues/62

Overall Review of Changes:
This PR contains the solution for this issue.
Issue Fixes:

https://github.com/ansible-lockdown/AMAZON2023-CIS/issues/62

Enhancements:
This PR contains some minor syntax fixes (removing some whitespaces) for 4.6.x as well!
How has this been tested?:
Tested locally.

hi @DianaMariaDDM
Thank you again for your updates, unfortunatley this appear that its not working with the latest devel branch, so the pipeline is failing.
Happy to add this and give credit if to save you doing this again?
thanks again for you patience.
uk-bolly


Post this too! not filling in details from visitor view

Details are not filled in when clicking 'Post this too!' on the visitor view.
Reason: Draft is not updated correctly (create-post.js)

was not reproducible for me, might have something todo with the failed to load post, but tried it multiple times and always ended up with a prefilled need-creation


Move SSD View enum and function to find it to Geometry. Also includes…

… fix for seg fault on phase1b geometry with no SSD strips.

Hi Teresa,
I looked at the change, please  merge it into the main branch.  One minor suggestion, for phasec1c user, perhaps we could put a "fcl data card", a switch to skip the loading of the strips.  Up to Linyan to consider..
Paul

From: Teresa Lackey @.>
Sent: Tuesday, 18 April 2023 19:00
To: EMPHATICSoft/emphaticsoft @.>
Cc: Paul Lebrun @.>; Review requested @.>
Subject: Re: [EMPHATICSoft/emphaticsoft] Move SSD View enum and function to find it to Geometry. Also includes… (PR #79)
@lackey32https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_lackey32&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=rWbq940lyflnglWDrGZaLQ&m=MqYMhyTEZ7p6Qjb-b0SMKHeoYavKLHC8gYFMUCKT7EHwvmd3oTaJheu9U7l2pUZ3&s=F0b7wwOH_-Ac07blcop769vFsT9GKNql1bWffE3rcB0&e= requested your review on: #79https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_EMPHATICSoft_emphaticsoft_pull_79&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=rWbq940lyflnglWDrGZaLQ&m=MqYMhyTEZ7p6Qjb-b0SMKHeoYavKLHC8gYFMUCKT7EHwvmd3oTaJheu9U7l2pUZ3&s=bCFRLF8xqm6cjbz0VTE11_5Jg0cthHBqVWdacMr3tEM&e= Move SSD View enum and function to find it to Geometry. Also includes….
—
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_EMPHATICSoft_emphaticsoft_pull_79-23event-2D9041043897&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=rWbq940lyflnglWDrGZaLQ&m=MqYMhyTEZ7p6Qjb-b0SMKHeoYavKLHC8gYFMUCKT7EHwvmd3oTaJheu9U7l2pUZ3&s=_ba-huBfNE_pzGfgRQ4KiaBDdQsfK-PqOKR17WkYbyQ&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ACQEOMY35OTI5D4RYQCNFIDXB4TLDANCNFSM6AAAAAAXDJ53LU&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=rWbq940lyflnglWDrGZaLQ&m=MqYMhyTEZ7p6Qjb-b0SMKHeoYavKLHC8gYFMUCKT7EHwvmd3oTaJheu9U7l2pUZ3&s=xFcuPJVfQSs6HO30npuCTZ04ja1Dzref_KyN8zfauA0&e=.
You are receiving this because your review was requested.Message ID: @.***>

Thanks Teresa! The modification looks great!


Collections implement FromIterator and Extend (C-COLLECT)

Do we want to implement those traits and, if we do, should it be implemented for A: Any or for Box<dyn Any>?
i.e:

Extend<A: Any> vs Extend<Box<dyn Any>>
FromIterator<A: Any> vs FromIterator<Box<dyn Any>>

For the moment, I do not think this is a needed feature.
If you have a use case, please post it here.


Use auto-derived implementations of Hashable and Equatable

The original versions of hashValue only used addition, so 0.5, -0.5, 0.0 and -0.5, 0.5, 0.0 hash to the same value.
Just use the auto-synthesized hash value.

@harlanhaskins CI seems to be failing.
Was this change to address a real performance problem you were seeing, or is it just that you happen to know that the standard hash implementation is better?

The standardized hash value mixes the fields more than just &+.
Also it seems CI failed because swift.org was down. Can you restart the Linux job?


Fix readme.md

Provide more descriptive readme.md with confidential sources and documentation.
@michalspano

Fix: 6dec26c2a69ffa54e978cf1e75afa93bda67cd5d


ACE1 Compatibility

The purpose of this PR is to implement an ace1_model function that provides as much as possible compatibility with ACE1x.ace_model, and tests that confirm this compatibility. Once this is achieved, a separate PR will remove ACE1, ACE1x and JuLIP entirely from the package.

A first draft of the ACE1compat + tests is ready. This appears to be able to produce ACE1 compatible models for single species so far. Left todo:

[ ] clean up the tests to make it convenient to add more compatibility tests
[ ] extend to multi-species

This looks ready to me to merge. It is anyhow a low-risk PR. But it sets the stage for retiring ACE1 completely.
CC: @CheukHinHoJerry and @wcwitt  -- it's a biggish PR, don't worry about looking at everything, but if you'd be willing to take a look at test/ace1/test_ace_compat.jl and let me know what you think.
My plan going forward is this:

Continue to maintain ACEpotentials.ACE1compat
remove ACE1, ACE1x, JuLIP entirely from the package.
remove the ACE1 compat as a standard test, but keep the test/ace1 folder, give it a separate Project + test script that we can run if we ever run into ACE1 compatibility problems again.

In order to continue development, I'll merge this. I think it is low-risk since we aren't really registering the main branch yet.


fix protocol

This PR change symbol to string for attr 'protocol'. This allow to configure protocol like 'icmpv4:8,Any' for Echo request (PING).

any updates?

Sorry for the delay on this. Bumped the version to 3.0.0 due to the breaking change and published it to Supermarket. Thanks!


Transferring to another chair when i sit based on chair while.

I'm from Korea. Sorry to my bad english ability.
Recently, while using the advanced duplicator2, I noticed a strange phenomenon based on me.
For example, if I install 4 chairs in my car creation, I stay where I sit, but it is transferred to another chair, and it can only be controlled from that chair. Anyone can help me? Help!
There is no right place to ask a question, so here is a question.

I think you have a problem with another addon. I can't understand without a video or pictures.


'von Brandt' style (prefixed) names render inverted in full citation using citeproc/csl/styles

When I use prefix: 'von', last_name: 'Brandt' as a Person, and I reference that person in authors: of a BibTeX spec, then the cached_author_string renders "correctly", but the native BibTex rendering renders with a comma.

Confirm this is expected behaviour, everything going into the bibtex renderer seems to be ok.

duplicate


Implement Project Infrastructure

Description
Implement Project Infrastructure
Linked Items:
Closes/Fixes/Resolves #3
Added
Project infrastructure files
Changed

Describe any changes in existing functionality.

Deprecated

Describe any deprecated features.

Removed

Describe any removed features.

Fixed

Describe any bug fixes.

Security

Describe any security-related changes.

Checklist:

[ ] I updated project documentation to reflect my changes.
[ ] My changes generate no new warnings.
[ ] I updated new and existing unit tests to account for my changes.
[ ] I linked the associated item(s) to be closed.
[ ] I bumped the version.
[ ] I added the labels corresponding to my changes.

Missing a root level .gitignore and a README.md

Still need to remove the docs/requirements.txt, add a README, and add the root level gitignore.

REAMDE and gitignore were part of initial repo creation and did not get edited in this PR, so they weren't in file list.


Linked List implementation along with Documentation

Implement Linked list without using python built-in functions
Brief information about linked list and its applications

Issue completed
https://github.com/HarendraSingh22/Python-Guide-for-Beginners/pull/147/commits/dd755113bc68a4999c344d154638b3b7a4a2cb73


[SPARK-27214]Upgrading locality level when task set is starving

What changes were proposed in this pull request?
Currently, Spark locality wait mechanism is not friendly for large job, when number of tasks is large（e.g. 10000+）and with a large number of executors(e.g. 2000), executors may be launched on some nodes  where the locality is not the best(not the same nodes hold HDFS blocks). There are cases when TaskSetManager.lastLaunchTime is refreshed due to task finished within spark.locality.wait and re-launch new tasks, but due to there are only few of PROCESS_LOCAL executors, the launch rate is not fast enough to schedule all pending tasks soon, so that locality level could not be upgraded in time and lots of pending tasks will wait a long time.
In this case, when spark.dynamicAllocation.enabled=true, then lots of executors may be removed by Driver due to become idle and finally slow down the job.
We encountered this issue in our production spark cluster, it caused lots of resources wasting and slowed down user's application.
This PR will optimize this by following formula:
Suppose numPendingTasks=10000, localityExecutionGainFactor=0.1, probabilityOfNextLocalitySchedule=0.5
maxTolerableStarvingTime = numTasksCanRun * medianOfTaskExecutionTime * localityExecutionGainFactor * probabilityOfNextLocalitySchedule

totalStarvingTime = sum(starvingTimeByTasks)

if (totalStarvingTime > maxTolerableStarvingTime)

{  upgrading locality level... }

How was this patch tested?
Exist UT & added UT
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

cc @srowen @vanzin @squito

I think this is actually a pretty big change in behavior, and at the very least would need to go behind a conf.  I had a dicussion with Kay Ousterhout about this type of situation and delay scheduling (need to search for the jira ...) -- I had not proposed this solution, but something along these lines, and she said that to some extent, this was the intended behavior for when there were multiple active jobs in a "job server" style deployment.  Then it is OK for one job to end up waiting a while, to keep resources free for another job which might be able to use those resources with better locality.
In the meanwhile, I've actually often advised users on large clusters to turn the locality wait down to 0 (the odds of getting locality goes down on larger clusters anyway).  Have you considered that?  Note that spark still tries to schedule for locality even with the wait = 0; it just doesn't wait until it gets the desired locality.
While your proposal is reasonable, its also really hard to say whether its a good idea in general.  One big change that you're not calling out -- it always turns off delay-scheduling until some task has finished.  That could be a very big change for some use cases.

@squito  Thank you for your reply. I think this PR is useful in batch processing when a single job is submitted.

to some extent, this was the intended behavior for when there were multiple active jobs in a "job server" style deployment. Then it is OK for one job to end up waiting a while, to keep resources free for another job which might be able to use those resources with better locality.

I don't agree with this, because it's non-deterministic, you can hardly say the delay scheduling brings gains or pains. What's more, I think this multi-job cases in SparkSQL thriftserver, these resources allocation which considering locality should be done in the Scheduler like FIFOScheduler/FairScheduler etc. And in multi-jobs cases with FIFO scheduler, if we let one job to end up waiting a long time while let later job running more resources, it seems breaks what user has expected: The first comes should be executed fast and finished first.

In the meanwhile, I've actually often advised users on large clusters to turn the locality wait down to 0 (the odds of getting locality goes down on larger clusters anyway). Have you considered that? Note that spark still tries to schedule for locality even with the wait = 0; it just doesn't wait until it gets the desired locality.

Yes, set spark.locality.wait=0 works in this case, and I just use this conf to temporarily fix this issue before this solution in batch mode. But I think set to zero is a little bit aggressive, and it's not easy for users to decide how large a cluster is a large cluster. So it's not bad to add this option for batch processing.

One big change that you're not calling out -- it always turns off delay-scheduling until some task has finished. That could be a very big change for some use cases.

Yes, this change is big, it may breaks the delay scheduling, so I agree with your suggestion to add an option to enable it, or we can just enable it when the SchedulingMode is FIFO, this is mostly used in Batch processing.

I find the prior issue is https://issues.apache.org/jira/browse/SPARK-18886, there is a long discussion there.

I also hit this same issue and the work around was to set the locality wait to 0 which works fine, but not really ideal if you want locality to work.  So I think it would be nice to get it fixed.  One thing is that since networks have increased in speed the benefit of exact locality isn't as critical for many jobs.  But for certain jobs I can see that you want it, but only if the task runtime  is long enough.  I need to look more at the background discussions in the jira @squito referenced though.

Yes, It's better to be fixed if we can find out a graceful way. Actually, as I mentioned in the PR description, if enabled dynamic allocaiton, the idle of the executors may cause executors to be removed and not reallocate new executors until the numExecutorsTarget is reset. This is really bad and even can not meet the point of Letting other parallel TSM or job use resources with locality
Ref:
https://github.com/apache/spark/blob/0bb716bac38488bc216fbda29ce54e93751e641b/core/src/main/scala/org/apache/spark/ExecutorAllocationManager.scala#L388
    // Do not request more executors if it would put our target over the upper bound
    if (numExecutorsTarget >= maxNumExecutors) {
      logDebug(s"Not adding executors because our current target total " +
        s"is already $numExecutorsTarget (limit $maxNumExecutors)")
      numExecutorsToAdd = 1
      return 0
    }

If that is the case we should separate that out and fix that bug as that really seems like a separate issue.   But I thought the removeExecutors code wouldn't remove idle executors if it would put it under the target number. see SPARK-21656. Which version of spark are you using?

@tgravescs ah..I'm using spark2.1, the issue seems to be fixed  on 2.2+ by the PR you given.
Then, we can focus on the locality issue and maybe more discussion. If you got any good idea please let me know, Thank you!

what's the latest here?  @liupc should this PR be closed for now while we consider the solution for the locality issues?

Yes, we can close this PR for now. Thank you @squito


gha: increase Multicluster timeout

Recently the Multicluster workflow started to timeout pretty often.
Try to increase the timeout and see if the problem re-appears.

ok i'll re-enable the multicluster workflow. let's see what happens.

let me close and re-open to trigger multicluster


Rancher UI could not open logging, showing disconnection

Rancher UI cannot open the log, indicating that the binary worker node added later has been disconnected. Above Rancher UI, the two binary worker nodes added after POD cannot open the log on the worker node added after POD.
I ran the custom cluster from the old Docker, restored the ETCD snapshot data to the binary cluster, and manually deleted the ETCD data

rancher version=2.5.12

Custom cluster creation via commands provided by Rancher, and then 3 ETcds were corrupted. I restored the etcd backup snapshot to the new binary Kubernetes cluster. Because the restored data left the old cluster resources, I manually deleted hundreds of ETCD data. After registering with Rancher, I added two more workers, and the above problems occurred to the newly added worker


Setup GitHub actions workflow for continuous deployment(CD)

For Python packages, setup GitHub Action workflows so that the package is built and published to PyPI when pull requests are accepted to the main branch. The workflow should also use semantic versioning to automatically version the published releases. For Python we recommend using the ci-cd.yml file from the py-pkgs-cookiecutter repository.

Done by Rory. Thanks


Edit: K+ Action

Channel ID (required)
KPlusAction.vn
Channel Name
K+ Action
Alternative Names
No response
Network
No response
Owners
Vietnam Satellite Digital Television Company Limited
Country
VN
Subdivision
No response
City
No response
Broadcast Area
c/VN
Languages
vie
Categories
movies;series
NSFW
None
Launched
2010-03-24
Closed
No response
Replaced By
No response
Website
https://www.kplus.vn/
Logo
https://i.postimg.cc/0ybq8yVY/Kplus-Action-logo-m-n-h-nh.png
Notes
No response

https://youtu.be/rjfU695zrdw?si=XbGa2bm3TgZ8B2M-


Queue synchronizer error

Description:
I'm working on integrating Kimera into an MAV simulator. The simulator creates rectified stereo images and an IMU stream. I unfortunately can't share launch/param files due to confidentiality reasons, but they are basically Euroc's with a different camera/IMU model. I'm running through the ROS wrapper.
The sim is very slow in wall clock time, but uses sim_time to "speed up" to 60 Hz. Any ideas as to why I'm getting the queue synchronizer error below?
Command:
roslaunch kimera_vio_ros <launchfile>

Console output:
[ INFO] [1588266720.331173496]: Initializing pose graph visualizer
I0430 13:12:00.557873 15321 RegularVioBackEnd.cpp:114] Using Regular VIO backend.
I0430 13:12:00.630167 15321 RosOnlineDataProvider.cpp:41] Waiting for ROS time to be valid...
(Sim Time is enabled; run rosbag with --clock argument)
I0430 13:12:00.810081 15345 RosOnlineDataProvider.cpp:350] Spinning RosOnlineDataProvider.
I0430 13:12:00.810123 15346 Pipeline.h:174] Spinning Kimera-VIO.
I0430 13:12:00.810075 15321 KimeraVioRos.cpp:99]
W0430 13:12:01.065454 15349 RosDataProviderInterface.cpp:118] Converting image...
W0430 13:12:01.336712 15346 DataProviderModule.cpp:115] Asking for data before start of IMU stream, from timestamp:<PHONE_NUMBER>9 to timestamp:<PHONE_NUMBER>4
I0430 13:12:01.346658 15345 RosOnlineDataProvider.cpp:383] Spinning RosOnlineDataProvider.
I0430 13:12:01.631211 15346 Pipeline.cpp:776] Frontend launched (parallel_run set to 1).
I0430 13:12:01.631243 15346 Pipeline.cpp:591] ------------------- Initialize Pipeline with frame k = 2--------------------
W0430 13:12:01.631251 15346 InitializationFromImu.cpp:26] InitializationFromImu: assumes that the vehicle is stationary and upright along some axis,and gravity vector is along a single axis!
I0430 13:12:01.704898 15346 Pipeline.cpp:300] Before launching threads.
I0430 13:12:01.704996 15346 Pipeline.cpp:805] Backend, mesher and visualizer launched (parallel_run set to 1).
I0430 13:12:01.705001 15346 Pipeline.cpp:302]  launching threads.
W0430 13:12:02.438673 15350 RosDataProviderInterface.cpp:118] Converting image...
W0430 13:12:03.792672 15350 RosDataProviderInterface.cpp:118] Converting image...
W0430 13:12:04.920267 15351 Tracker.cpp:578] 1-point RANSAC (voting) could not find a solution.
F0430 13:12:04.970415 15353 QueueSynchronizer.h:138] Check failed: timestamp == payload_timestamp<PHONE_NUMBER>7 vs.<PHONE_NUMBER>6) Syncing queue mesher_frontend in module Mesher failed;
 Could not retrieve exact timestamp requested:
 - Requested timestamp:<PHONE_NUMBER>7
 - Actual timestamp:<PHONE_NUMBER>6
Reached max number of sync attempts: 10
*** Check failure stack trace: ***
    @     0x7fb145fceb0d  google::LogMessage::Fail()
    @     0x7fb145fd09b1  google::LogMessage::SendToLog()
    @     0x7fb145fce63d  google::LogMessage::Flush()
    @     0x7fb145fd1389  google::LogMessageFatal::~LogMessageFatal()
    @     0x7fb14579c81d  VIO::SimpleQueueSynchronizer<>::syncQueue()
    @     0x7fb13e97563e  VIO::MesherModule::getInputPacket()
    @     0x7fb13e97ad9f  VIO::PipelineModule<>::spin()
    @     0x7fb144c096df  (unknown)
    @     0x7fb14432b6db  start_thread
    @     0x7fb14466488f  clone

Please give also the following information:

SparkVio branch, tag or commit used: master
GTSAM version used:
OpenGV version used:
OpenCV version used:
Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
Did you change the source code? (yes / no):  no, except the launch file

It might be an issue with timestamps that are equal-- here's a text file with timestamps from ~ a second of output
Timestamps.txt

I ran Kimera five times on the rosbag that has ^ those timestamps and received the same error each time, except for the timestamps it complained about. Here are the timestamps it errored out on.
Round 1:
 - Requested timestamp:<PHONE_NUMBER>99
 - Actual timestamp:<PHONE_NUMBER>35

Round 2:
 - Requested timestamp:<PHONE_NUMBER>43
 - Actual timestamp:<PHONE_NUMBER>79

Round 3:
 - Requested timestamp:<PHONE_NUMBER>59
 - Actual timestamp:<PHONE_NUMBER>95

Round 4:
 - Requested timestamp:<PHONE_NUMBER>59
 - Actual timestamp:<PHONE_NUMBER>23

Round 5:
 - Requested timestamp:<PHONE_NUMBER>83
 - Actual timestamp:<PHONE_NUMBER>47

It looks like both timestamps are sensor timestamps from the IMU. The Requested timestamp can be any of the IMU messages, but the Actual timestamp is always a timestamp that both an IMU and a stereo pair are published on.

The Requested timestamp comes from the backend output queue and the Actual timestamp comes from the frontend output queue. Both should be tied to stereo frame timestamps.
Somehow, we are getting a backend output packet that has a timestamp from an IMU packet, not a stereo frame, causing this call to fail. @ToniRV Any ideas?

Also to note, the simulated camera stream has nothing on the cameras except the background (0 disparity between left/right). How does Kimera respond in this case? It may be failing in a weird way, then passing a bad input packet to the mesher.

In the end, this error was fixed by giving the MesherModule more room to work with in its queue. This appears to be dataset dependent, but if you want to give it a shot you can pass the desired number of iterations into syncQueue in MesherModule.cpp:
  PIO::syncQueue(timestamp, &frontend_payload_queue_, &frontend_payload);

to this:
  PIO::syncQueue(timestamp, &frontend_payload_queue_, &frontend_payload, 40);


chore(turing): Add Kaniko service account to Turing chart

Motivation
Similar to how https://github.com/caraml-dev/merlin/pull/352 introduced a Kubernetes service account to be used for Kaniko jobs orchestrated by Merlin, this PR similarly introduces a similar change for Turing in its chart.
Note that this PR has to be merged first (for the chart to be published before being used in this PR https://github.com/caraml-dev/turing/pull/357 in the Turing repo that includes the API server changes).
Modification

charts/turing/templates/_helpers.tpl - Addition of the Turing Kaniko service account in the default Turing configs
charts/turing/templates/kaniko-service-account.yaml - Addition of the new Turing Kaniko Kubernetes service account manifest
charts/turing/values.yaml - Addition of default Turing image builder service account values

Checklist

[x] Chart version bumped
[x] README.md updated

Note that this PR has to be merged first (for the chart to be published before being used in this PR https://github.com/caraml-dev/turing/pull/357 in the Turing repo that includes the API server changes).

We are yet to deprecate the individual turing chart :') https://github.com/caraml-dev/turing/tree/main/infra/charts/turing


Calling Logout With CacheLocation as localstorage Does Not Remove the Key

Description
When calling logout({returnTo: ${appConfig.app}/logout}) the reference in the browsers local storage is not removed. And leads to the application still thinking the user is logged in on page refresh/redirect
Reproduction
In a react project with auth0 login and cacheLocation set to localstorage, once logged in, have a button which calls logout({returnTo: 'a-logout-route}). When you trigger the logout inspection the local storage tab in browser tools will show the key/val is still there

Hi @Rocinante89
I'm not able to reproduce this - can you check that  ${appConfig.app}/logout is specified in "Allowed Logout URLs" in your tenant settings.
I suspect that what is happening is that your auth0.com logout is failing, so on return to your app the SDK attempts silent auth with an iframe and logs you back in because you have an active auth0.com session.

Hi @adamjmcgrath, thanks for having a look, you were right about the route not being specified correctly. It was resolving to the wrong location.
Thanks again!


Make package imports external by default in Rollup config

Instead of keeping a complicated list of external dependencies per
package, declare all imports as external except for relative paths,
aliases and absolute paths generated by
@babel/plugin-transform-runtime.
This will make sure newly added dependecies will be external by
default.
Comparing the build before/after this change only shows two changes:

classnames is external now.

In development build, prop-types and its dependencies are also
external now.

REDMINE-17434

Coverage remained the same at 99.23% when pulling ea4d2212843e1617ca61e996a728d72e3a5ec34e on tf:dep-ext into 6f290a52ba3d606707d454043e493af1fe191251 on codevise:master.


supportedAlarmList to get DefaultValue and *

The current concept of supportedAlarmList:

Defining a couple of alarms, which are mandatory to be supported in the comment,
defining the minimum multiplicity according to the number of mandatory alarms
(because not possible to have default, when minimum multiplicity > 0) having no default value.

This concept doesn't work, because it is not assured that devices support the mandatory alarms.
As a consequence they could not be listed in the Capability attribute.
In worst case (happened at least for HybridMwStructure and PureEthernetStructure) the device does not support any alarm at all at this interface.
Because it is a list attribute, but does not have a  default value, the attribute doesn't show up in the implementation in this case.
Proposal:
All supportedAlarmList attributes shall have multiplicity * and default value "Supported Alarms Not Yet Defined."
supportedAlarmList : String [*] = "Supported Alarms Not Yet Defined."

The supportedAlarmList attribute shall have multiplicity * and default value "Supported alarms not yet defined." (supportedAlarmList : String [*] = "Supported alarms not yet defined.")
Comment to corrected
UML and YANG have already been corrected.
Existing implementations are basing on the corrected YANG.
Proposal to the 5G-xhaul call on 28th of July:
Just closing the issue.


Kubernetes extension native compilation high memory consumption

The minimum heap size to get the Kubernetes extension to build natively seems to be around 7GB, which is too much for GitHub CI to handle.
For now, I'll disable native tests of this extension on CI. It should be enabled again when this issue is fixed.

Seems this is a known issue on the Quarkus side too https://github.com/quarkusio/quarkus/issues/7374.


docs(v2): Fix typo in doc: sidebar.md

Fixed a typo on highlight-start in the section Hideable sidebar.

thanks!


[RFC] Improve systemd service unit

This tries to address issues https://github.com/NLnetLabs/unbound/issues/475 and https://github.com/NLnetLabs/unbound/issues/476, but it’s incomplete. See the issues for discussion.

@Maryse47, @hardfalcon, it’d be great if you shared your expertise.

I don’t see either #475 nor #476 being Unbound issues, nor this PR to provide improvements (actually it’s the opposite as stated in review comments).


[fix] Flash Security event

fix a case where if you call TcpFlashClient::Connect() twice (by
making an auto reconnection for exemple) the SecurityErrorEvent was not
correctly listen on the second call. add

*fix loseConnection call on Server.hx, we call the function before
remove all socket in case of user need to remove some reference.

Don't forget this too ! haha
joke :)

Hi. Another issue was found, not sure if it was ever on github, where calling .broadcast() inside the 'loseConnection' handler caused the server to crash. It was because by the time that eof error is called, that socket is entirely invalid, so using it in .broadcast or .send crashed the server. I'd like to check that this doesn't happen before merging. Thanks!

seems strange. on our project, we use a broadcast inside loseConnection without any issue. :s

any news about testing crash using broadcast/send inside the "loseConnection" ?

Hey there! I'm super sorry about being so late again. I'm lazy and forgetful!
I'm still not sure about your code though. All of this code is firing when the socket hits an eof error. By that stage, the client is gone. There isn't a reason why, the TCP connection was just cut. This could obviously be for any reason, even the client losing internet connection. My point is that by the time this eof error is triggered, the client isn't there any more.
This calls the  .onConnectionClose event, where mphx users can do whatever they want, including broadcasting. Given that .broadcast sends to all connections that should be live, I don't see why onConnectionClose should be ran before the socket is removed from the array. It doesn't make sense to try to send to a connection that we know has dropped.
However, broadcasting to all other players that a player has dropped (except for the player that dropped) makes sense, you often want to know a player disconnected. I changed the basic/simple test to show an example for how this might look, and in my tests (keep in mind this is all on the Neko target) it worked as expected. (4b809fadd108d19d3)
If you want the server to be able to handle a client disconnection more, I suppose, gracefully, then your best bet is to have that client send a quit event to the server, along with a reason etc.
If this example behaves unexpectedly (perhaps on flash), feel free to reply. Hopefully I am quicker!


The 3D Viewport does not render with proper UI scaling

Not sure how it's supposed to be done, but there's something in RT viewport handling?
Reproduction:
cvar display.uiScale 1.5 in the debug console (might persist, so don't forget to set it to 1.0 later)
A shitty fix that does seem to work:
diff --git a/Content.Client/Viewport/GameViewport.cs b/Content.Client/Viewport/GameViewport.cs
index f70c8b8..e5f2ca9 100644
--- a/Content.Client/Viewport/GameViewport.cs
+++ b/Content.Client/Viewport/GameViewport.cs
@@ -56,7 +56,7 @@ public sealed class GameViewport : Control
         SkyInstance.SetParameter("cameraDir", cameraProp.Value.Angle.ToVec().ToRobustVector());

         handle.UseShader(SkyInstance);
-        handle.DrawRect(Rect, Color.White);
+        handle.DrawRect(new UIBox2(Rect.Left * UIScale, Rect.Top * UIScale, Rect.Right * UIScale, Rect.Bottom * UIScale), Color.White);
         handle.UseShader(null);
     }

@@ -87,7 +87,7 @@ public sealed class GameViewport : Control
             }
         }

-        var drawHandle = new DrawingHandle3d(handle, Width, Height, cameraProp.Value, DrawingInstance,_parallel);
+        var drawHandle = new DrawingHandle3d(handle, Width * UIScale, Height * UIScale, cameraProp.Value, DrawingInstance,_parallel);

         if (_configuration.GetValue<bool>("render_debug"))
             drawHandle.DrawDebug = true;

Probably should do something better than that tho

fixed f5f6a523


Update readme with Dakota 6.18 patch note

Bring Carolina Readme up to date with current Dakota version 6.18

Can we also fix this:
https://github.com/equinor/Carolina/blob/a4eb536f136aa971fdc2d83c6168cf23102e6de3/README.md?plain=1#L44
6.13 -> 6.16


[HHH-16979] Fix subclasses being skipped on generated joins.

https://hibernate.atlassian.net/browse/HHH-16979

Hi @The-Huginn ,
thanks for the PR, can you please add also a test case?
Thanks

There is a test failure with this change. See https://github.com/hibernate/hibernate-orm/pull/7087/checks?check_run_id=15394366846

Thanks!


Incorrect date comparator

ca.uhn.fhir.rest.gclient.DateClientParam.before() has a typo. It is using "<=" when it should be "<".
public IDateSpecifier before() {
return new DateWithPrefix("<=");
}

Thanks for reporting! Fix coming shortly.


[build] produce source tarball and upload to PyPI

Only tagged releases get published to PyPI.

@mikeboers I had a look at the generate .tar.gz and it doesn't match what you usually upload to PyPI: it's lacking the cython-generate C files. What is your usual workflow for preparing the source release?

Closing in favour of #631