how to simulate several scenarios with multiple VMs where each VM runs a benchmark?

"How to Use" in README is too concise.

Dear,
It is assumed that the user (1) already used the original gem5 and knows
how to use it and (2) read the gem5v paper.
please let me know if with the above assumptions, the "How to Use" needs to
be expanded.
Best
Seyed Hossein Nikoonia
On Sun, Mar 19, 2017 at 6:14 AM, lxy0816<EMAIL_ADDRESS>wrote:

"How to Use" in README is too concise.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nikoonia/gem5v/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/AKtGHzHPke45dETEET8eH6HPdd1PmXncks5rnJaPgaJpZM4MhnLW
.

Yeah, although two days ago, i wasn't with (1).
And here is my another problem:

when i type like above, only the first vm can run successfully, and then "Enter runlevel: " appears on the console, i type a number, but finally no more hints.

Yeah, although two days ago, i wasn't with (1).
And here is my another problem:
the command is "./build/X86/gem5.opt configs/example/hypervisor.py --vm-scripts=configs/boot/ls1.rcS:configs/boot/ls2.rcS --kernel=x86_64-vmlinux-<IP_ADDRESS>.smp --topology=Mesh --vm-cpu-placements=1-0:0-1 --vm-mem-sizes=512MB:512MB --mesh-rows=1 --caches --l1d_size=32kB --l1i_size=32kB --l2cache --l2_size=2MB --num-l2caches=1 --num-dirs=1"
ls1.rcS and ls2.rcS are just simple ls and echo, but it only run the first vm successfully,
"loading script...
bin   dev  home  lib32	lost+found  opt   root	sys  usr
boot  etc  lib	 lib64	mnt	    proc  sbin	tmp  var
hello!!!
", then appears “ Enter runlevel: ", i type a number,
, and finally it pause like above

How do you find that the second VM is not running?
gem5.opt has some options to write its outputs on a directory. It will
create and update a file containing terminal output for each VM.
On Tue, Mar 21, 2017 at 3:02 PM, lxy0816<EMAIL_ADDRESS>wrote:

Yeah, although two days ago, i wasn't with (1).
And here is my another problem:
[image: options]
https://cloud.githubusercontent.com/assets/10864295/24145543/8d920c3e-0e6c-11e7-979d-0c4237e66a2a.jpeg
when i type like above, only the first vm can run successfully, and then
"Enter runlevel: " appears on the console, i type a number, but finally no
more hints.
[image: wechatimg2]
https://cloud.githubusercontent.com/assets/10864295/24145537/83059b3c-0e6c-11e7-931c-08f1f6937531.jpeg
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nikoonia/gem5v/issues/2#issuecomment-288051549, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKtGH3edtumEBUtGD_Yxsgq-xp7l01_Zks5rn7VbgaJpZM4MhnLW
.

ls2.rcS, the script of the second vm is only one command: echo "world". The output never appeared.

system.pc.com_1.terminal (the output of the first vm ? ) and system1.pc.com_1.terminal(the output of the second vm? i am curious about the function of system0.pc.com_1.terminal, as it was null) show the second vm running successfully, and the first vm did not run.
ls1.rcS is "ls
echo "hello!!!"
/sbin/m5 exit"
ls2.rcS is "echo "world!!"
/sbin/m5 exit"
i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.
Thanks.

i just test the script which delete "/sbin/m5 exit",and both of vms run successfully.
Besides, is the way which gem5v run SPEC CPU 2006 different from the gem5?
Thanks.

"m5 exit" terminates the whole simulation.
what is inside system.pc.com_1.terminal ?
On Tue, Mar 21, 2017 at 5:19 PM, lxy0816<EMAIL_ADDRESS>wrote:

system.pc.com_1.terminal (the output of the first vm ? ) and
system1.pc.com_1.terminal(the output of the second vm? i am curious about
the function of system0.pc.com_1.terminal, as it was null) show the second
vm running successfully, and the first vm did not run.
ls1.rcS is "ls
echo "hello!!!"
/sbin/m5 exit"
ls2.rcS is "echo "world!!"
/sbin/m5 exit"
i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nikoonia/gem5v/issues/2#issuecomment-288083260, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKtGHymiTo_LAK6SHZijTmte9DlnGzGfks5rn9VMgaJpZM4MhnLW
.

Ok. Glad it is running!
there should be no difference in running SPEC CPU 2006. If you can run it
successfully in gem5, (logically) you should be able to run it in gem5v too.
On Tue, Mar 21, 2017 at 5:53 PM, Hossein Nikoonia<EMAIL_ADDRESS>wrote:

"m5 exit" terminates the whole simulation.
what is inside system.pc.com_1.terminal ?
On Tue, Mar 21, 2017 at 5:19 PM, lxy0816<EMAIL_ADDRESS>wrote:

system.pc.com_1.terminal (the output of the first vm ? ) and
system1.pc.com_1.terminal(the output of the second vm? i am curious about
the function of system0.pc.com_1.terminal, as it was null) show the second
vm running successfully, and the first vm did not run.
ls1.rcS is "ls
echo "hello!!!"
/sbin/m5 exit"
ls2.rcS is "echo "world!!"
/sbin/m5 exit"
i doubt "/sbin/m5 exit" cause gem5v exit, not one of vm exit.
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nikoonia/gem5v/issues/2#issuecomment-288083260, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKtGHymiTo_LAK6SHZijTmte9DlnGzGfks5rn9VMgaJpZM4MhnLW
.

system.pc.com_1.terminal  is empty.

do you mean system.pc.com_1.terminal or system0.pc.com_1.terminal?
the former is:
"Linux version <IP_ADDRESS> (gblack@fajita) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) #12 SMP Fri Feb 27 22:10:33 PST 2009
Command line: earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda1
BIOS-provided physical RAM map:
BIOS-e820:<PHONE_NUMBER>000000 -<PHONE_NUMBER>100000 (reserved)
BIOS-e820:<PHONE_NUMBER>100000 -<PHONE_NUMBER>000000 (usable)
（omission）
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 248k freed
INIT: version 2.86 booting
mounting filesystems...
loading script...
bin   dev  home  lib32	lost+found  opt   root	sys  usr
boot  etc  lib	 lib64	mnt	    proc  sbin	tmp  var
hello!!!
Enter runlevel: "
the latter is empty.

i found a tutorial https://markgottscho.wordpress.com/2014/09/20/tutorial-easily-running-spec-cpu2006-benchmarks-in-the-gem5-simulator/ about how to run spec cpu 2006 in gem5, but it is system call emulation (SE) Mode, gem5v is full system(FS) mode.
Also, vm and host os are two system, how should vm run the program(spec) which is in the host os ?
Thanks for the answer.

Each VM has its own file system and init script so if you run SPEC in FS
mode (gem5), you can run it in VMs too (gem5v).
On Wed, Mar 22, 2017 at 10:51 AM, lxy0816<EMAIL_ADDRESS>wrote:

i found a tutorial https://markgottscho.wordpress.com/2014/09/20/
tutorial-easily-running-spec-cpu2006-benchmarks-in-the-gem5-simulator/
http://url about how to run spec cpu 2006 in gem5, but it is system
call emulation (SE) Mode, gem5v is full system(FS) mode.
Also, vm and host os are two system, how should vm run the program(spec)
which is in the host os ?
Thanks for the answer.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nikoonia/gem5v/issues/2#issuecomment-288309332, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKtGH14Y_REI0K5aT2WImAPe2p3cKj6Gks5roL3lgaJpZM4MhnLW
.


Error while installing

npm WARN deprecated<EMAIL_ADDRESS>use uuid module instead
c:\tt\webdriverio-sample
+--<EMAIL_ADDRESS>`-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN webdriverio-sample No description
npm WARN webdriverio-sample No repository field.
npm WARN webdriverio-sample No license field.
I am getting above error while i install in wdio verion v4.6.2

These are warnings. Make sure you have WebdriverIO installed, see
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>


Get new session for client/resource creation

Resolves a bug where client creation would fail for all threads but the first in multithreaded use cases (e.g. https://github.com/Netflix-Skunkworks/aardvark/issues/14) by creating a new session for each client/resource. This avoids problems with reusing the default session and lines up with boto3 recommendations for multithreaded scenarios: http://boto3.readthedocs.io/en/latest/guide/resources.html?highlight=multithreading#multithreading-multiprocessing.
Discussion/feedback welcome.

@mcpeak - Let's take a look at this next week with aardvark threading.

Any updates? Currently, I have the same issue with aardvark.


Is db.view inside db.update safe for atomic updates (increment value)

Hi!
For the use case of a simple key that holds a counter value that i want to increment.
Can i use a read transcation inside a update transcation and simply increase the read out value and expect this mutation to be concurrently safe or does some kind of CAS needs to be in place ?
Also want to say big thank you, boltdb is amazing! I belive most  B2B apps will never reach the limit of bolt thus being the no 1 db for rapid development=)

@lundin You don't have to use a read transaction inside a Update() transaction.
A View() transaction is read only, while a Update() transaction is writable and readable.
You could do that like this:
db.Update(func(tx *bolt.Tx) error {
	b := tx.Bucket([]byte("MyBucket"))
        v := b.Get([]byte("myNumber"))
        v++ // not actual code, you have to convert []byte to int first, and then convert back
	err := b.Put([]byte("myNumber"),v)
	return err
})

Hope that helps

Many thanks @mbertschler
It make sense now  =)


List the PackageIdentifier of the package to be added to automation
Baidu.BaiduNetdisk
Details about the application
Source:
https://pan.baidu.com/disk/cmsdata?do=client
$result.guanjia.url InstallerUrl
$result.guanjia.version PackageVersion (Regex or slicing is needed for parsing)

3 versions missed:
https://github.com/microsoft/winget-pkgs/pull/41645
https://github.com/microsoft/winget-pkgs/pull/41646
https://github.com/microsoft/winget-pkgs/pull/41647

Fixed in Automation v2.0.0.


Error in URL Concatenation

The 404 problem certainly appears to be fixed. But I do now get a different problem. It looks like a possible typo in the web page link.
When looking at the “Temperatures” page and clicking on one of the tan/orange temperatures shown, it goes to a bad link (see in the screenshot below)
<IP_ADDRESS>settings.htm’s DNS address could not be found. Diagnosing the problem.

DNS_PROBE_POSSIBLE

Originally posted by @rkhanso in https://github.com/lbussy/keg-cop/issues/51#issuecomment-1274170349

Just a vent - all of these URL concatenations are required because the damned SPIFFS Editor stopped working.  These routines all re-write because of the difference in route handling (controller) and URL path handling (development.)
I could go to all URL filepath handling and probably do away with a lot of work.

Issue is probably here:
https://github.com/lbussy/keg-cop/blob/18b27a26f8069bee98eceab7c63890783f225092/data/temps.js#L285-L289

Fix merged to devel, closing.


How to use this with custom Dataset

hi
first of all  thanks for publishing this. May be very basic q
in your Read.md you have provided python command
python tools/train.py configs/queryinst/queryinst_r50_fpn_1x_coco.py
1)I opened it but was not able to understand how does it starts training.
2) How can i use just the model for fine tuning with my custom dataset.

This repo is built upon mmdetection codebase, please refer to the official instructions to use your custom dataset.

We believe we have answered your question, and as such I'm closing this issue, but let us know if you have further questions.


Make addPathSegmentSafe internal

Make internal-use-only extension/util internal

The length of these PRs is getting way out of hand


Please add a simple DBus interface to open a youtube link

It would allow me to add support to Quickddit to quickly switch to YTPlayer and open/play. Other apps could benefit from this as well.
I could help with implementing, I've already added similar functionality to Quickddit.
Thanks.

A related note here, it does not seem to be possible to start the app with an URL passed. Would be nice.


[bug] min-width in center is computed incorrectly

I ran into this issue. To repro this, change the container width sass variable to 600, and use center.
For the css class center, min-width is set to $width, but it should be set to $width - 2*$gutter_size (unless it's collapsed)

Also declaration for th seems to be missing, causing th columns with nested center tag to always be 580px wide.
@for $i from 1 through $grid-column-count {   td.large-#{$i} center {     min-width: -zf-grid-calc-px($i, $grid-column-count, $container-width);   } }

I've fixed the th issue from @moteey in https://github.com/zurb/foundation-emails/commit/33e6c0b94d9343e106f5d8c142d30376059dfe15
I'm not seeing the issue from @allenwoot so I'm not sure if that was already addressed or I'm just missing something.  @tdhartwick @gakimball do you know?  Alternatively, @allenwoot can you try with the v2.0 branch and see if you're still seeing the issue?  Please note that .center class has been updated to .text-center for consistency with foundation-sites.

@kball I got the latest code from the v2.0 branch, and am still seeing the issue. Seems like the problem is that min-width for center and th.large-N center are not calculated correctly.
Repro steps
1 Change $global-width to 600px
2 Compile CSS
3 Render the following HTML:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width">

          Sample text

The container will turn out to be 616px instead of 600px. They key here is the CSS for , which is set as
center {
  width: 100%;
  min-width: 600px; }

The container renders as expected when I change the CSS to the following:
center {
  width: 100%;
  min-width: 568px; }

td.large-12 center,
th.large-12 center {
  min-width: 568px; }

Let me know if I can provide more info!

Fixed in https://github.com/zurb/foundation-emails/commit/e0b3601db75dec8c7e277aab5e94a47f91c1a9b8


operator project-quay (3.11.3)

Add 3.11.3 to community operators

/pipeline restart operator-hosted-pipeline


Karpenter example is not working as expected

[X] ✋ I have searched the open/closed issues and my issue is not listed.

Please describe your question here
I tried to run the Karpenter provisioning example from https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/examples/karpenter
The terraform scripts ran successfully and I could see the Karpenter pods executed through Fargate as well. But when I try to scale the example deployment, the pods are still in "Pending" state.
Is it something related to AWS user with which I am executing the commands or something else ?
Additional context
I execute the command using admin user, existing policy is as follows,
[AdministratorAccess]
[AmazonEKSClusterPolicy]

Can you please share a reproduction

Hi @bryantbiggs,
I cloned the repo and executed terraform apply within examples/karpenter folder.
Once I execute the command, the terraform successfully provisioned EKS cluster names karpenter in us-west-2.
When I checked the eks-node-viewer, I am able to see fargate managed nodes are created for kube-system and karpenter namespace as expected.

Deployments:

Pods:

I could also see, inflate deployment is created with 0 pods as expected.
Now, I tried scaling the instance as below:
kubectl scale deployment/inflate --replicas=2

deployment.apps/inflate scaled

But now when I look at the pods, the state shows as pending.

Node viewer:

So was trying to understand how this works ?

Does the deployment works only if deployed under karpenter namespace or any Fargate managed namespace ?

I tried to quickly check on the question,

Does the deployment works only if deployed under karpenter namespace or any Fargate managed namespace ?

I deployed the karpenter example deployment under karpenter namespace. It worked fine.

If so then, is it correct to say that in this setup (Fargate enabled) - every add-ons and workloads should be managed by Fargate to use Karpenter ?
or using mix of Fargate (for controllers) and eks managed nodes (for workloads) is feasible ?

I'm not sure I quite follow - you can run workloads on Fargate or with Karpenter; it all just depends on the configuration, the supported features, and the desired end result. I'm going to close this for now but please feel free to open a new issue with a reproduction if still encountering issues


Add avro reader support [databricks]

This PR is trying to support the avro reader on basic type support.
Since there is no meta info for the block data, this PR first iterates the whole avro file to get all the block info, it didn't read all files. instead, it only needs to read small bytes by seeking the desired position, then filters the blocks according to the PartitionedFile. finally read the blocks into CPU and send to GPU to decode ...
Close #4935 .
Re #4831 .

build

build

build

build

build

build

build

@tgravescs @jlowe  @revans2  Could you help to review this PR? Thx

build

build

build

build

build

build

build


User confusion on official Dalamud Plugins repo

Hello!
This is Franz from the official XIVLauncher/Dalamud support server (aka goatplace). We've been seeing an increased amount of feedback by DeathRecap users because only the testing branch has received a version with 6.15 compatible opcodes.
I've opened https://github.com/goatcorp/DalamudPlugins/pull/2649 to move the test version over to stable, consolidating it into a single release, but would like your confirmation to merge first. Or if you'd prefer to keep it testing only, we can alternatively block the outdated stable version.

Oh apologies, I completely forgot to move it into stable. Go ahead


Direction Indicator and Follow Solver Graduation

Overview
Work to graduate the Direction indicator and Follow Solver into mainline
Changes

Fixes: #8998, #9006

Verification

This optional section is a place where you can detail the specific type of verification
you want from reviewers. For example, if you want reviewers to checkout the PR locally
and validate the functionality of specific scenarios, provide instructions
on the specific scenarios and what you want verified.
If there are specific areas of concern or question feel free to highlight them here so
that reviewers can watch out for those issues.
As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

Indicator now scales with how much you have to turn to look at the target.

/azp run

/azp run

/azp run

/azp run


Lambda functions in stacksets

Is there a way to deploy a Lambda function in a StackSet using cdk-stacksets?
I've tried using both aws_lambda.Code.from_inline and aws_lambda.Code.from_asset to create a Lambda function:
        func = aws_lambda.Function(
            scope,
            "MyFunction",
            function_name="my_function",
            ...
            code=aws_lambda.Code.from_inline(lambda_code),
       )

But I'm getting this error:
RuntimeError: StackSets cannot use Assets

Is there any way around it using CDK? Or do I first need to upload the Lambda function to an S3 bucket?

What version are you on? Asset support was added in v0.0.120


datadriven: add rewrite mode

add rewrite
don't trim on expected value (bug)
move the test to independent file

Is rewrite mode used in the raft tests?

This is like a tool, not really necessary for testing.
If we change the Display in the future, we can just modify the test by hand.
I forget we need group commit so I skip this feature at the beginning.

@NingLin-P @Fullstop000 PTAL

LGTM


Support TCP/IP queries and retry fragmented via Socket component

Resolution via TCP transport should use the react/socket-client component.
Fixes #11 and #13.

Depends on https://github.com/reactphp/socket-client/issues/12 so that the socket-client component does not depend on a DNS Resolver instance again.

Updated title now that the SocketClient component has been deprecated via https://github.com/reactphp/socket/issues/74

This ticket is ready to be implemented in a future version :+1:
For the reference: See also the updated RFC 7766 and the old RFC 1035

@clue Any estimates, please?

As much as I'd like to commit to specific date, I can only say that we will get to this feature as soon as time permits.
If you want to sponsor this feature, feel free to reach out :+1:


IOS 10 clicking inside swiper slide makes slider navigate to different slide

This is a (multiple allowed):

[x] bug

Swiper Version: 3.4.1

Platform/Target and Browser Versions: IOS 10

What you did
Go to example page on ios 10 iphone 6 or later.
http://idangero.us/swiper/demos/#.WJhh4bZ94UE
Use second example.
Click on second page navigation roundel. Then click inside slide area. Click triggers swiper to go to the previous slide. It doesn't happen on every click, but happens pretty often.
Expected Behavior
Click without drag shouldn't cause swiper to navigate to another slide.
Actual Behavior
Clicking inside slide shouldn't cause swiper navigate to different slide.

UPD. I think this may be connected to simulateTouch: true property. When i disable it on localhost, i couldn't reproduce the problem.

face the same issue

i create two swiper in one page, and cpu usage come up to 100%

Issue is closed because of outdated/irrelevant/not actual/needed more information/inactivity.
If this issue is still actual and reproducible for latest version of Swiper, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with issue


Allow setting node style from file

Let an application ship their global style in a file, e.g.:
const QString styleFile = ":NodeEditorStyle.json";
QtNodes::ConnectionStyle::setConnectionStyleFromFile(styleFile);
QtNodes::FlowViewStyle::setStyleFromFile(styleFile);
QtNodes::NodeStyle::setNodeStyleFromFile(styleFile);

Also remove redundant constructor to avoid interface bloat.

My old implementation wasn't the best one and this one does not improve the situation.
I do not see why you couldn't load styles from file without this pull-request.
The style classes accept QString -- a json style -- and this was done on purpose. You could get this text from whatever you want. It is a very general interface.
The function  NodeStyle::loadJsonFile was implemented private on purpose as well. It hides the fact that we store the default style in a resource file. This has nothing to do with the external world.
If you look at the example styles you'd see that we construct a text-style at the beginning of the main.cpp. You could put your file-stuff there.

I agree the styles interfaces and code structure is a bit clumsy. My intend was to stay minimally invasive.
I don't understand why you implement functionality and then deliberately hide it from possible users. After all, reading a style from a resource is not an obscure use case.
Next time I will ask before doing the work.


Fix cube dimensions

Hello,
on retina displays, this becomes important when the spinner is bigger than ~40px.
Cheers!

Looks fine to me. What do you say, @tobiasahlin?

:heart::shipit:

@tobiasahlin can you please push this to http://www.jsdelivr.com/? Do you need a new package version?

@jarnoux Will do! Sorry for the delay :bow:

@jarnoux 1.2.3 is now published with this change included, jsdelivr should detect it Real Soon™ :pray:

awesome, thanks!


When imagefilter.blur of backdropfilter on IOS device is on the platform view widget, the blur effect fails. Android device is normal

When Imagefilter.blur of Backdropfilter on IOS device is on the platform view widget, the blur effect fails. Android device is normal

Hi @hjc22
I believe @ykaito21  is correct.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you


Active sessions management

A user should be able to see their current active sessions, including;

the browser agent used
the clients logged in with that session
when it started
when it was last used

They should be able to terminate a particular session

This is how this kind of feature looks on myaccount.google.com:

This is now in a good state


Update README.markdown

Hi Lukas, thanks for contribution.
What do you think about adding jonof/kenutils/pngout to the main brew install command and maybe mentioning in pngout section that it should have already been installed.
And I've fixed the appveyor build, so please rebase on master.

Good points, I agree. Done.

Very good, but I've missed one more thing - it would be better if commit message would describe the change.

Agree again 👍, done.

Ausgezeichnet!


GSoC 2021 Ideas

GSoC 2021 is coming up, and if SIMDe is going to participate again we need some project ideas.  GSoC this year is going to be a bit different, with each project being roughly half the size.  I think this could work well for SIMDe since we have lots of flexibility in how large a project is; we could just say implement N functions (or families of functions).  This is a bit simpler than last year where we tried to choose extensions which weren't too large or too small.
I think that with the Docker development container we have now the setup should be quite a bit easier this year, so students should be able to get up and running a bit more easily than last year.
As far as ideas, the obvious thing is just implementing more stuff.  NEON still has a long way to go, as does AVX-512 on the x86 side of things. There is plenty to do here.
Another idea would be implementing all the *_f16 NEON functions we have skipped for the existing implementations. Support for 16-bit floats is a very recent addition to SIMDe, and until it was in place we just skipped those functions.  Right now only the x86 side of things is really done (the f16c extension is fully supported, though avx-512 adds some more functions for longer vectors which are not yet implemented, but that's really easy).  I'm not sure this would be quite enough to take up a whole GSoC task, but we could always request they also implement a few new function families.
There is also porting all the x86 stuff from emscripten; that would mean going through all the functions they have implemented and, if their implementations are better (or we are relying exclusively on the portable version), copy them into SIMDe.  It would also require carefully updating the documentation since they want a very clear list explaining what functions are fast on which platforms.
Anyone else have any other ideas?
As far as mentors go, I'm willing to do it again this year.  @mr-c may or may not be interested, and I believe @ngzhian may be interested this as well.  If anyone is interested, please let me know.  Also, if you have a preferred project you'd like to mentor that's of course

A free idea, but I'm unable to mentor much for it:
Benchmark the SIMDe implementations using a real (bioinformatic?) application that was written for x86-64 but compiled for AWS Graviton and Apple Silicon using SIMDe

I will be happy to mentor a student to continue working on what Sean did, implementing ARM intrinsics.

Benchmark the SIMDe implementations using a real (bioinformatic?) application that was written for x86-64 but compiled for AWS Graviton and Apple Silicon using SIMDe

I don't think this is big enough to be a complete project, but it would be interesting.  Maybe find a (bioinformatic?) project which is interested in a SIMDe port, and do both the port and the benchmark?  It would require cooperation with another project, including someone on their side to be a mentor (in addition to someone from SIMDe).
There is also the question of how to compare the performance.  This tweet offers one possibility: price on AWS (or Google Cloud, Azure, whatever…) vs. performance.  I seem to remember Amazon is sometimes willing to offer free EC2 instances for developing OSS.

I will be happy to mentor a student to continue working on what Sean did, implementing ARM intrinsics.

Awesome, thanks!

Hey everyone! I would love to work on this project! I went through the project ideas list for GSoC 2021, and I would love to contribute here. I also reached out to @nemequ through email.
I spent the weekend exploring NEON Intrinsics a little, but I would love to know what else can I do to get started, or get to know the project better. I would love to get involved with the community, and contribute to it.
Thanks!

Hello @Glitch18.  I just responded to your e-mail, but here is an excerpt since I think it contains some decent information for other people who might be interested, too (including for the other project suggestion):

I think the easiest way to get started would be to use the SIMDe docker development container.  I know it works (or at least has worked) from Linux and macOS, and it should work on Windows as well (though it might require you to manually enter some commands instead of using the bash script).  That provides all the emulators you should need so you can easily test the code.
Once you have the docker container set up I would suggest going through the Implementing a New Function page on the wiki.  The example is for an x86 function, but the process is basically the same for a NEON function; just take a look at any other NEON function if you need an example.  Also, here is an example of a patch to implement a previously unimplemented function family: https://github.com/simd-everywhere/simde/commit/1bbc67e22cda19766ef8130245f36de879996709#diff-60d426e405a0fcd08b902e426ba35ff53f5b0c14e713e69fb422805bbebd820e
If you have any questions please don't hesitate to reach out; I should be much more responsive now that I have internet access, though I will still be somewhat busy for at least the next few days as I have to unpack and set up all my stuff.  You can also try our chat room, where there are a few other people who might be able to help as well.

We have a couple great proposals from students this year. We don't yet know how many slots we'll get (or if we'll get any at all), but the time for ideas is done, so I'm closing this.


Add test

Codecov Report

Merging #219 (10f6a2e) into master (26f59a2) will increase coverage by 1.07%.
The diff coverage is 40.00%.

@@             Coverage Diff              @@
##             master     #219      +/-   ##
============================================
+ Coverage     41.27%   42.34%   +1.07%
- Complexity      694      710      +16
============================================
  Files           161      161
  Lines          3840     3849       +9
  Branches        485      491       +6
============================================
+ Hits           1585     1630      +45
+ Misses         2139     2094      -45
- Partials        116      125       +9

Impacted Files
Coverage Δ

...seedu/address/model/attendance/AttendanceList.java
38.88% <40.00%> (+27.77%)
:arrow_up:

...ess/model/person/UniqueStudentsInTutorialList.java
42.85% <0.00%> (+9.52%)
:arrow_up:

...n/java/seedu/address/model/attendance/Comment.java
82.35% <0.00%> (+11.76%)
:arrow_up:

...ava/seedu/address/model/attendance/Attendance.java
57.50% <0.00%> (+17.50%)
:arrow_up:

.../main/java/seedu/address/model/person/Student.java
24.39% <0.00%> (+19.51%)
:arrow_up:

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 26f59a2...10f6a2e. Read the comment docs.


Add extendable-workflow to use customized UI widget in input schema

Closes https://issues.redhat.com/browse/FLPATH-1779
Add extendable-workflow to use customized UI widget in input schema

cc @batzionb


fix for issue #1634 -- for passing a closure to exported Go function

This fixes issue #1634
includes special case for defer function.
I could remove or significantly reduce the comment description, and just have that here for future reference:
// per #1634, if v is already a func, then don't re-wrap!  critically, the original wrapping
// clones the frame, whereas the one here (below) does not clone the frame, so it doesn't
// generate the proper closure capture effects!
// this path is the same as genValueAsFunctionWrapper which is the path taken above if
// the value has an associated node, which happens when you do f := func() ..

@rcoreilly if it is ok for you, allowing 'edit by maintainers' on next pull requests would permit us to better automate rebase at merge (when no conflicts) and manage not up-to-date branches.
In the meantime, you have to update the branch yourself, so we can proceed.
Thanks


Where is access_type is used ?

https://github.com/lucia-auth/lucia/blob/8237d5442dcba0bb8f466684996873682f42b24e/packages/oauth/src/providers/google.ts#L11-L17
So, recently I was trying to get refresh_token back from google, so I checked it wasn't working!
Since, it's wasn't working thoughts let me check the codebase once, yet for me it's was hard to figure it out!
Can you help me solve this problem,
Any instructions are welcomed, as well let me know if anything I can implement!

https://accounts.google.com/o/oauth2/v2/auth?
 scope=https%3A//www.googleapis.com/auth/drive.metadata.readonly&
 access_type=offline&
 include_granted_scopes=true&
 response_type=code&
 state=state_parameter_passthrough_value&
 redirect_uri=https%3A//oauth2.example.com/code&
 client_id=client_id

This is the server response, from google docs's reference
So, from below code
https://github.com/lucia-auth/lucia/blob/8237d5442dcba0bb8f466684996873682f42b24e/packages/oauth/src/providers/dropbox.ts#L42C3-L53
Is it possible to fix this issue doing something similar with google url generation

closing this issue, in respect to this PR https://github.com/lucia-auth/lucia/pull/1129


kie-services: added InMemoryFormSkeletonProvider

to be able to create form services in KIE Server

@ibek do you mind creating jira so we can collect thoughts if this is something we would like to add?

@mswiderski so I created the JIRA for the form operations ... see https://issues.jboss.org/browse/JBPM-4832

we certainly need to have some tests here.
since there is another form provider for .form that comes with form modeler won't it crash in anyway meaning we intercept the default .form provider features?

sure, I will write some tests there.
Are all providers registered automatically in Workbench? Then it could be a problem which we would fix by lowering the priority so in Workbench, this provider would never be used. The aim is to have this skeleton provider mainly in KIE Server.

@ibek closing this as we discussed, there will be new PR that builds this support around KIE Server extensions


npx create-react-app my-app has multiple unresolved dependencies

I get a strange result when running npx create-react-app my-app.  It appears that yarn (v1.10.1) can't resolve a number of dependencies, and not only that but where the yarn CLI output asks me to choose the correct versions, it prints multiple lists to the screen that aren't even all accessible via my cursor or arrow keys:
Here's a screencast: https://gfycat.com/SillyInexperiencedGreathornedowl
ben in Code
$ npx create-react-app my-app

Creating a new React app in /Users/ben/Code/my-app.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

yarn add v1.10.1
info No lockfile found.
[1/4] 🔍  Resolving packages...
Couldn't find any versions for "optimize-css-assets-webpack-plugin" that matches "5.0.1"
? Please choose a version of "optimize-css-assets-webpack-plugin" from this list: (Use a
rrow keys)
❯ 4.0.0
  3.2.0
  3.1.1
  3.1.0
  3.0.0
  2.0.0
  1.3.2
  1.3.1
  1.3.0
  1.2.0
  1.1.0
Couldn't find any versions for "@babel/plugin-transform-react-constant-elements" that matches "^7.0.0"
? Please choose a version of "@babel/plugin-transform-react-constant-elements" from this
 list: (Use arrow keys)
❯ 7.0.0-beta.40
  7.0.0-beta.39
  7.0.0-beta.38
  7.0.0-beta.37
  7.0.0-beta.36
  7.0.0-beta.35
  7.0.0-beta.34
  7.0.0-beta.33
  7.0.0-beta.32
  7.0.0-beta.31
  7.0.0-beta.5
Couldn't find any versions for "@babel/plugin-transform-react-constant-elements" that matches "7.0.0"
? Please choose a version of "@babel/plugin-transform-react-constant-elements" from this
 list: (Use arrow keys)
❯ 7.0.0-beta.40
? Please choose a version of "@babel/plugin-transform-react-constant-elements" from this
 list:
❯ 7.0.0-beta.40
  7.0.0-beta.39
  7.0.0-beta.38
  7.0.0-beta.37
  7.0.0-beta.36
  7.0.0-beta.35
  7.0.0-beta.34
  7.0.0-beta.33
? Please choose a version of "import-local" from this list:
❯ 1.0.0
  0.1.1
  0.1.0

Closing as I discovered it was caused by the package registry override in my .yarnrc


Write tests for DimPlot function

To do this, we must determine the best tests to use for plots. Image-based tests could be used, but tests on the ggplot object itself could also be implemented. We should look into which object properties are best for evaluation.

Plotting will no longer be part of SCUBA - this will be addressed in scPlots testing.


Hosting on Github Pages results in Mixed SSL content

Hello,
I am trying to host my blog using the Indigo theme on Github Pages. However, whenever I force HTTPS through the Github Pages settings, some of the site elements, such as the images (logos, etc.) break. Your help with fixing this problem would be much appreciated.
Thanks!

@TGNYC That's curious. I'm enforcing HTTPS on my own GitHub Pages site and I don't any Mixed SSL content. Do you have a link or a repo I can look at to investigate?

I’m going to close this for now, but feel free to re-open with more info!


talon says my files dont exist

Hi, thanks for making this software available! Any help is appreciated!
I call Talon like this:
talon  --f ./03analysis/talon/TALONconfig.csv
--db ./03analysis/talon/lr2020talon.db
--build hg38 -t 8
--o lr2020
and I immediately get this error:
Traceback (most recent call last):
File "/nas/longleaf/home/abrantes/modules/anaconda2/envs/longread2020/bin/talon", line 8, in
sys.exit(main())
File "/nas/longleaf/home/abrantes/modules/anaconda2/envs/longread2020/lib/python3.7/site-packages/talon/talon.py", line 2400, in main
sam_files, dset_metadata = check_inputs(options)
File "/nas/longleaf/home/abrantes/modules/anaconda2/envs/longread2020/lib/python3.7/site-packages/talon/talon.py", line 1414, in check_inputs
raise ValueError("SAM file '%s' does not exist!" % curr_sam)
ValueError: SAM file '"/nas/depts/007/sullilab/shared/longread_2020/03analysis/talon/labeled/pt_043_001/pt_043_001_labeled.sam"' does not exist!
It isn't just a typo. I can copy directly from the error output and paste into the console to view the file it claims is missing.
TranscriptClean, talon label_reads, and talon initialize_database appear to have worked fine so far in the pipeline.
Anthony

Hi, is it possible that your sam files are symlinked?

I don't think so. The files were created by talon_label_reads according to the tutorial here.

Did you try to ls the file that TALON allegedly can't find in your bash terminal? It's certainly worth double checking.

I have never worked with symbolic links so I am not sure what I am looking for. If I run ls -hs in the folder I see the labeled.sam file and the read_labels.tsv and that they are 9.4G and 113M in size.

Can you use the absolute path that's in your config file instead of just relying on relative paths? It would help if you send me your config file.

TALONconfig.csv
Thanks for the help. What do you mean by that? If I type "ls /nas/depts/007/sullilab/shared/longread_2020/03analysis/talon/labeled/pt_043_001/pt_043_001_labeled.sam" the console just echoes /nas/depts/007/sullilab/shared/longread_2020/03analysis/talon/labeled/pt_043_001/pt_043_001_labeled.sam

What you mention in that post is exactly what I meant. I just wanted to make sure you had absolute paths listed in your config file.
Now that I'm confident that your file indeed exists, I'm wondering if you're trying to run TALON on a cluster as a job where perhaps the compute nodes do not have access to where you've stored the file. This has happened to me in the past and is really the only explanation I can think of at this time.


replace pkg/restore's osFileSystem with pkg/util/filesystem's

Signed-off-by: Steve Kriss<EMAIL_ADDRESS>Somewhere along the line I extracted some code to pkg/util/filesystem but failed to replace its usage within pkg/restore. This PR does that.

Hold until after we cut 0.9


⚠ Bofrost.es has degraded performance

In 072deaa, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1573 ms

Resolved: Bofrost.es performance has improved in d33f0bc after 9 minutes.


Base

Create base to start development of specific code

[x] Json Configuration
[x] Database Connection
[x] Webserver Setup
[x] Webserver Handlers
[x] Implement Web-Framework
[x] Database Setup
[x] Registration
[x] Login
[x] Session Management

done


[RCTUtils] Don't loose NSError code in RCTJSErrorFromNSError()

Fixes #6171
Send original error code back to JS - this reverts old functionality according to https://github.com/facebook/react-native/issues/6171#issuecomment-189332649, that is https://github.com/facebook/react-native/blob/3c541ca54095fbf9d572362bcb661593acc1b64b/React/Base/RCTUtils.m#L299

@facebook-github-bot shipit

@grabbou
I'm not keen on us just sending the numeric code as a string, as the Node spec (which we're attempting to follow) says that error codes should be of the form EACCES ('E' followed by a sequence of capital letters: https://nodejs.org/api/errors.html#errors_error_code).
But I think you're right that just sending RCTErrorUnspecified is not helpful.
iOS errors all have a "domain" value that's a human-readable string, as well as a numeric code. What if we were to generate the code by concatenating those, so something like:
[NSString stringWithFormat:@"E%@%zd", error.domain.uppercaseString, error.code]
Seems like that would be consistent with the Node error styling, without throwing away information?
Obviously that won't solve the problem of errors not being consistent across platforms, but at least its a better stopgap until we actually do the work of going through and defining explicit error codes.

Yeah, @nicklockwood I've been thinking initially about composing error code from domain & original code since error code (numeric) on its own does not really help. However, then - I've noticed we were sending domain property as well so decided to avoid duplicating it.
If that's not a problem, I am generally happy with the proposed snippet and will update the PR.

@grabbou I think we'd like to avoid having to dig into the platform-specific error properties for testing the error type, so it seems worth duplicating it. We could just go for E+code, but that may not uniquely identify the error, as a given call could return errors from multiple domains.

Okey, cool. I'll update it then and let's :shipit:

@facebook-github-bot shipit


Problem with the offline tile layer enabler and the new client side geometry engine (beta).

Hi there.
I have an issue where I cannot use the geometry engine in ArcGIS JS api v3.13 to make a buffer zone if an offline tile layer exists. The offline enabled layer doesn't even have to be loaded into the map. Just the presence of an offline layer object will cause geometry engine errors (at least with buffer zones). There must be something in the way it extends the tile layer class. The error I get is cryptic to say the least since it comes from obfuscated code but I feel like the client side geometry engine is something that would compliment this offline editing and tile caching quite nicely.
The error pretty much says "Type error: h is undefined" coming from geometryengine.js, which is meaningless when looking at the obfuscated JS code, but to someone who had access to the geometry engine source, it could be debugged.
Feel free to contact me directly via email if you need any additional details or cannot recreate the issue<EMAIL_ADDRESS>Thank you much,
-Bryan

Bryan, can you provide a code sample, gist or paste a code snippet here in this github issue?

Hi Andy.
Not sure exactly where to start or what would be helpful in terms of what to code to share so you can get a better idea as to what's going wrong. I guess I'll just give more detail.
I'm using the standard build of the ArcGIS JavaScript API rather than the one provided in the CDN, but I did make sure to grab the geometry engine components as well.
This is where I create the offline object, and it does work like it's supposed to:
midlandImageryOffline = new O.esri.Tiles.OfflineTileEnablerLayer("http://tiles.arcgis.com/tiles/blE8NdGZSd9Sfngv/arcgis/rest/services/midImagery/MapServer", function(){
console.log('offline imagery object added to DOM');// the API throws errors if you don't specify some sort of callback function...
}, true);
midlandImageryOffline.id = "midlandImageryOffline";
midlandImageryOffline.offline.proxyPath = "http://www.fetchgis.com/proxy/proxy.ashx";
I'm not sure why this would break the geometry engine though. I'd be happy to email you my Dev URL, but I don't feel comfortable sharing it here where it is public.
Here is a sandbox for the geometry engine buffer I use:
https://developers.arcgis.com/javascript/jssamples/ge_geodesic_buffers.html
Hopefully any of this helps.
Thanks,
-Bryan

Gotcha. Email the URL to agup at esri dot com and I'll take a look.


[dev.fuzz] testing: crash due to incompatible type

Using 529e5d0c7dc734f3fa6ae69ad6afdb3e185d2c1c.
Consider this snippet:
func FuzzFoo(f *testing.F) {
	for _, td := range myTestdata {
		f.Add(0, []byte(td))
	}

	f.Fuzz(func(t *testing.T, seed int64, b []byte) {
		...
	})
}

Currently, this crashes with:
panic: reflect: Call using int as type int64 [recovered]
	panic: reflect: Call using int as type int64

goroutine 54 [running]:
testing.tRunner.func1.2(0x5fd600, 0xc00058e220)
	testing/testing.go:1153 +0x34b
testing.tRunner.func1(0xc0000f8300)
	testing/testing.go:1156 +0x4b6
panic(0x5fd600, 0xc00058e220)
	runtime/panic.go:972 +0x1d4
reflect.Value.call(0x603a20, 0x653690, 0x13, 0x64222a, 0x4, 0xc001c9c240, 0x3, 0x4, 0x4, 0x30, ...)
	reflect/value.go:409 +0x1917
reflect.Value.Call(0x603a20, 0x653690, 0x13, 0xc001c9c240, 0x3, 0x4, 0x2, 0x4, 0x786c00)
	reflect/value.go:338 +0xb9
testing.(*F).Fuzz.func1.1(0xc0000f8300)
	testing/fuzz.go:343 +0x225
testing.tRunner(0xc0000f8300, 0xc001c9c1e0)
	testing/testing.go:1203 +0xef
created by testing.(*F).Fuzz.func1
	testing/fuzz.go:338 +0x370

The cause of the crash is because testing.F.Add is called with an int, while the Fuzz function itself is expecting an int64.
Either, the testing framework should:

report an with a more clearer message about what's wrong, or
automatically convert assignable values.

Also, with generics on the horizon, is there an API design that would guarantee type safety between testing.F.Add and testing.F.Fuzz? It's probably better to statically prevent type errors like than to have it occur at runtime.
\cc @katiehockman @jayconrod

Ah thanks for testing and reporting this! There's probably something better we can do here, like you said. So I'll think about that more. At the very least we can improve the error messaging to say something more direct.
It would be great to be able to use generics at some point soon. It would likely help for cases like this. If we can't, then at the very least we can add go vet checks that can verify this at build time so it isn't caught at runtime.

It would be great to be able to use generics at some point soon. It would likely help for cases like this.

Although, I'm not sure if it's going to be possible with the currently accepted generics proposal since it doesn't support variadic type parameters. A go vet check might be necessary.
@ianlancetaylor @griesemer

I put this in backlog for now, but is it a release blocker?

One tricky thing to consider is that we have to decide what our source of truth is if the arguments differ.
For example, consider these two fuzz targets:
a)
func FuzzFoo(f *testing.F) {
	f.Add(int32(0))
	f.Fuzz(func(t *testing.T, i int64) { ... })
}

b)
func FuzzFoo(f *testing.F) {
	f.Add(int64(0))
	f.Fuzz(func(t *testing.T, i int32) { ... })
}

Should we pick int64 values to fuzz and write to the corpus, since that can hold the most bytes, and is thus the most likely to be able to assign to? Or should we assume that the arguments in the f.Fuzz function are the source of truth, and if whatever is passed via f.Add or in testdata can't be cast to that type, then we fail the test? I think I'd prefer the latter.
Do you have an opinion on this?

Or should we assume that the arguments in the f.Fuzz function are the source of truth, and if whatever is passed via f.Add or in testdata can't be cast to that type, then we fail the test? I think I'd prefer the latter.

I believe f.Fuzz should be authoritative with the rationale that f.Fuzz is given explicit types in the arguments list and is thus more authoritative. On the other hand, the types given to f.Add are inferred by the values given.

I've been thinking about this a bit more, and at least for the first major release of fuzzing, I don't think we should be attempting to convert inputs of different types. I'd like to revert the part of my change that does the conversion.
I agree that the UX could be better even without doing this though: at the very least with a better error message (which I'm happy to do). I'm concerned that if this ends up causing problems later down the line, then the backwards compatibility promises are going to make us keep it around even when we don't want to. We can always make it less restrictive later, but we can't do the opposite.
@dsnet do you feel strongly about this either way?
@golang/fuzzing

do you feel strongly about this either way?

I don't feel strongly, but  I support a revert. I prefer stricter checks over automatic conversions that have surprising edge cases. It seems more aligned with the Go philosophy that requires manually casting integers of different widths rather than automatically casting them.

I've gone ahead and reverted the change, and will close the issue now. If there are still changes we should make as far as printing a better error message, feel free to re-open or just file a new issue with those details.

I wonder if it would make sense to restore the implicit conversions, but only from the default types of constants (bool, rune, int, float64, complex128, or string) to other types that are compatible with the same untyped constants.
That might give some of the ergonomic benefits of conversion for Add calls with constants (which are likely to be frequent), but without quite as many edge cases to worry about. (Integer overflow is still problematic, but at least float-to-integer conversion goes away!)

(Either way, I think it's totally fine to keep the check strict for Go 1.18!)


Docker build is failing

Hi ,
I am trying to install bistro in below environment .
os : ubuntu:16.04
gcc : 5
This is blocking ,please suggest any quick around for installation of any stable version of bistro .
Below is the error i am getting in log file :
Step 124/126 : RUN make -j '1'
---> Running in bfef425bf6ae
Scanning dependencies of target bistro_lib
[  0%] Building CXX object CMakeFiles/bistro_lib.dir/Bistro.cpp.o
[  0%] Linking CXX static library libbistro_lib.a
[  0%] Built target bistro_lib
Scanning dependencies of target gtest
[  1%] Building CXX object cmake/deps/gtest-1.7.0/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[  1%] Linking CXX static library libgtest.a
[  1%] Built target gtest
Scanning dependencies of target gtest_main
[  1%] Building CXX object cmake/deps/gtest-1.7.0/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[  2%] Linking CXX static library libgtest_main.a
[  2%] Built target gtest_main
Scanning dependencies of target subprocess_with_timeout
[  2%] Building CXX object processes/CMakeFiles/subprocess_with_timeout.dir/SubprocessOutputWithTimeout.cpp.o
[  3%] Linking CXX static library libsubprocess_with_timeout.a
[  3%] Built target subprocess_with_timeout
Scanning dependencies of target processes
[  4%] Building CXX object processes/CMakeFiles/processes.dir/AsyncCGroupReaper.cpp.o
[  4%] Building CXX object processes/CMakeFiles/processes.dir/AsyncReadPipeRateLimiter.cpp.o
[  4%] Building CXX object processes/CMakeFiles/processes.dir/CGroupSetup.cpp.o
[  5%] Building CXX object processes/CMakeFiles/processes.dir/TaskSubprocessQueue.cpp.o
[  5%] Linking CXX static library libprocesses.a
[  5%] Built target processes
Scanning dependencies of target test_cgroup_setup
[  5%] Building CXX object processes/tests/CMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o
[  6%] Linking CXX executable test_cgroup_setup
^[[91mCMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o: In function `TestCGroupSetup_TestSetup_Test::TestBody()::{lambda()#1}::operator()() const':
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:72: undefined reference to `facebook::bistro::cgroupSetup(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, facebook::bistro::cpp2::CGroupOptions const&)'
CMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o: In function `TestCGroupSetup_TestSetup_Test::TestBody()::{lambda()#4}::operator()() const':
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:93: undefined reference to `facebook::bistro::cgroupSetup(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, facebook::bistro::cpp2::CGroupOptions const&)'
CMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o: In function `TestCGroupSetup_TestSetup_Test::TestBody()::{lambda()#6}::operator()() const':
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:118: undefined reference to `facebook::bistro::cgroupSetup(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, facebook::bistro::cpp2::CGroupOptions const&)'
CMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o: In function `TestCGroupSetup_TestSetup_Test::TestBody()::{lambda()#7}::operator()() const':
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:139: undefined reference to `facebook:^[[0m^[[91m:bistro::cgroupSetup(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, facebook::bistro::cpp2::CGroupOptions const&)'
CMakeFiles/test_cgroup_setup.dir/test_cgroup_setup.cpp.o: In function `TestCGroupSetup_TestSetup_Test::TestBody()':
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:63: undefined reference to `facebook::bistro::cpp2::CGroupOptions::CGroupOptions()'
/home/bistro/bistro/processes/tests/test_cgroup_setup.cpp:67: undefined reference to `facebook::bistro::cgroupSetup(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, facebook::bistro::cpp2::CGroupOptions const&)'

Hello @sumitjhaMindtickle
I've got a similar error. Please see #24.
As a workaround I was able to build Bistro from a previous commit (044cd9f as suggested on #18):
git checkout 044cd9f
cd build
./fbcode_builder/make_docker_context.py --os-image ubuntu:16.04 --gcc-version 5 --local-repo-dir <path of bistro source>

Then into dir returned by command above:
docker build .

Some tests fail but it should not be a problem as stated on #18.
Cheers

Thanks @ribaptista , I was looking for a commit which would be stable enough to go in production .I doubt stability of bistro as of now but looking forward to test it in own environment .
@ribaptista , are you gonna use it in production or just trying it for some benchmark ?

Hey @sumitjhaMindtickle
Yeah, I intend to use it in production for a new product I'm working on.
I found some of its features to fit my needs, like dynamic node creation (through the script fetcher).
Anyways it would be great to hear from Bistro developers what updates we could expect within the next months.
Or whether Bistro is even going to evolve as an open source project.

build broken

Sorry about this, Bistro's dependencies move fast, and the continuous integration that tells developers when they broke Bistro had been imperfect. In the last month or so, I did some work to make that more robust, and Travis actually looks green pretty consistently. Even if nobody breaks the build by accident, it cannot be green 100% of the time, because Travis limits builds to 45 minutes. A from-scratch build Bistro + all dependencies on Travis takes longer than that. We use ccache — which usually makes it fast enough to finish. However, if there is a change that triggers a full rebuild, it takes a smaller commit (or two) for the build to turn green again.

does it work in production?

Bistro has been very stable for the use-cases I'm familiar with. It runs workloads continuously on thousands of machines, and has run a few tens of billions of tasks in the last few years.
Despite the mottled appearance of Travis, Bistro's test suite is actually pretty good, so that helps a lot.

any updates expected?

I am personally not doing significant feature work on the C++ core of the project — there's one small scheduler feature that should land soon, but no bigger plans as of now.
The project has been mature and "ready" for many years. I do have a "potential future roadmap" for the project, if a clear need arises, but at the moment Bistro serves the existing deployments well enough.
That said, I'm happy to discuss features you want, and to give pointers on how to add the good ideas to the codebase. So if you're looking to contribute, please open a new issue to discuss your suggestion.
There is also some unreleased code, which could be helpful for open-source Bistro users. It consists of various CLI tooling to make it easier to schedule and manage ad-hoc jobs. It would not be much work to put that code up on Github, but significantly more work to turn it into a high-quality release.
That said, if there is clear demand for that tooling, maybe done is better than perfect, and I should start with a "your mileage may vary" release of those tools, with a few hundred words of markdown to explain how they work. Last year, my impression was that the demand is not there. If I'm wrong this year, please let me know.
So thanks for writing, @sumitjhaMindtickle & @ribaptista. I will do my best to reply more promptly on Github from here on out.


hasStrings support for eliminating clipboard notifications

Previously, the framework was looking at the actual contents of the clipboard in order to decide if it could paste or not.  This caused apps to show a notification ("app pasted from app") on certain platforms (currently iOS 13+ and Android 12+).

After a bunch of engine work linked below, we now have engine methods that can check the clipboard status without accessing the contents of the clipboard on supported platforms (Android and iOS).
This PR wires these engine methods up in the framework.  On platforms that don't have support for methods like these, hasStrings still accesses the clipboard contents in the engine.
Related issues and PRs
Currently waiting for https://github.com/flutter/engine/pull/27749.
Closes https://github.com/flutter/flutter/issues/60145
Partial fix for https://github.com/flutter/flutter/issues/74139 (Android 12+)
Depends on iOS engine support: https://github.com/flutter/engine/pull/19859
Depends on Android engine support: https://github.com/flutter/engine/pull/20393
Depends on Android 12 engine support: https://github.com/flutter/engine/pull/27215
Depends on Mac engine support: https://github.com/flutter/engine/pull/20531
Depends on Linux engine support: https://github.com/flutter/engine/pull/21388
Depends on Windows engine support: https://github.com/flutter/engine/pull/27749
Reopened from https://github.com/flutter/flutter/pull/61774
Makes work arounds like https://github.com/flutter/flutter/pull/86791 obsolete.
Fuchsia
Flutter on Fuchsia currently has no clipboard support.  When it gets clipboard support we should also include support for hasStrings, even if it just uses getData.

Gold has detected about 3 new digest(s) on patchset 1.
View them at https://flutter-gold.skia.org/cl/github/87678

Gold has detected about 7 new digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/87678

Hello. Since this PR is not in Stable yet, is there any workaround to avoid having this notification? Idk, maybe somehow disable Handoff programatically for specific project? Or something else?
Because now it seems that as a developer I'm forced to either stick on using outdated flutter version or start using unstable Master. None of these options is good enough for me.
Thanks.


Adapting to upcoming Portal UI changes on App Registration

Docs Build status updates of commit 61e0632:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/multitenant-identity/run-the-app.md
:white_check_mark:Succeeded
View

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

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

@Jak-MS : Thanks for your contribution! The author, @MikeWasson, has been notified to review your proposed change.

Docs Build status updates of commit 4c07b23:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/multitenant-identity/run-the-app.md
:white_check_mark:Succeeded
View

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

#sign-off

@doodlemania2: I'm sorry - only the author of this article, @MikeWasson, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off


carried_over_allowance doesn't discount leaves for past years

If you try to run calculate_carry_over_allowance_for_all_users.js with years 2018 & 2019, but current date is 2019, the retrieved leaves to be discounted from 2018 allowance, are retrieved for the current year.
Is an args issue in that script, as the year args is not being passed properly

The script uses hardcoded years 2018 -> 2019 and should work regardless current date..
https://github.com/timeoff-management/application/blob/master/bin/calculate_carry_over_allowance_for_all_users.js
Thanks
Pavlo

On 2 Jan 2019, at 17:23, Marcos Muíño García<EMAIL_ADDRESS>wrote:
If you try to run calculate_carry_over_allowance_for_all_users.js with years 2018 & 2019, but current date is 2019, the retrieved leaves to be discounted from 2018 allowance, are retrieved for the current year.
Is an args issue in that script, as the year args is not being passed properly
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sorry about a bad explanation.
The problem is this line:
.then(() => user.reload_with_leave_details({YEAR_FROM}))
Should be to pass year from as arg:
.then(() => user.reload_with_leave_details({year:moment.utc(YEAR_FROM, 'YYYY
')}))
Thanks!
On Wed, Jan 2, 2019 at 6:48 PM Pavlo<EMAIL_ADDRESS>wrote:

The script uses hardcoded years 2018 -> 2019 and should work regardless
current date..
https://github.com/timeoff-management/application/blob/master/bin/calculate_carry_over_allowance_for_all_users.js
Thanks
Pavlo

On 2 Jan 2019, at 17:23, Marcos Muíño García<EMAIL_ADDRESS>wrote:
If you try to run calculate_carry_over_allowance_for_all_users.js with
years 2018 & 2019, but current date is 2019, the retrieved leaves to be
discounted from 2018 allowance, are retrieved for the current year.
Is an args issue in that script, as the year args is not being passed
properly
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/timeoff-management/application/issues/321#issuecomment-450932121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKJW-6Lm3weW56RICocapqkta85K6jOks5u_PD3gaJpZM4Zm-Dz
.

@marcos-muino-garcia you are absolutely right!
It was fixed as per your suggestion: https://github.com/timeoff-management/application/commit/5cfa0643d2524a717554cd78dc2f04dba6b4736e
Thank you for reporting.

On the hosted timeoff version I created several users yesterday (at 2019-01-02), set the "started on" date (date the employee started) to 2019-01-01 and today discovered that days from 2018 had been carried over (which should not have happened as the employees did not exist in 2018). Is this the same issue?

Interesting.
I will investigate, thank you for reporting.
Thanks
Pavlo

On 3 Jan 2019, at 21:51, jekuno<EMAIL_ADDRESS>wrote:
On the hosted timeoff version I created several users yesterday (at 2019-01-02), set the "started on" date (date the employee started) to 2019-01-01 and today discovered that days from 2018 had been carried over (which should not have happened as the employees did not exist in 2018). Is this the same issue?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@jekuno the issue should be fixed with https://github.com/timeoff-management/application/commit/b44026d97ca4d8079ae319c18ce8752c6d3bbcdf
Please make sure you rerun the carryover job.

Thanks. After discovering this issue I already fixed the holidays using the individual adjustments for each employee on the hosted version. Now that I saw that you reran the script there I reverted the adjustments. Now everything seems fine.


add caddy_conf_filename variable to support json format

If --config arg ends with Caddyfile, specifying --adpater json won't force caddy to treat it as json. Therefore I add caddy_conf_filename to control config format (only caddyfile and json seem to be supported now).

Hi. Thanks for the PR. As far as I can see you could use Lookups instead?

Please try limiting changes in this PR to one feature. Removing things like the duplicate download makes the PR harder to review.

Each commit is separable. I don't want to open four PRs. Maybe you should review each commit individually?

:+1: I did not realize that you cleanly separated everything.

LGTM :+1:  I see you removed the caddy_config_file variable and will probably use file lookups? Could you refrain from deleting the duplicate download and extract tasks and create a new PR for those? That part is very brittle and currently works as far as I can tell.

All looks good to me, sorry it took so long for me to get to the review. Many thanks for the contribution @xiruizhao (and the others you have waiting).


monitor-pods-datasets does not seem working.

Following the sample in README, Dataset creation worked fine. I saw the PV and mounted it into pod successfully. But I could not get the metadata.labels.dataset labels working. There were just nothing in /mnt.

@Magicloud does the namespace you are using show up in the output of:
kubectl get ns -l monitor-pods-datasets=enabled

@srikumar003 Yes, it is the default namespace.

It might be that you have run into the certificate expiry issue that was reported (and solved) in #225
To verify, check if there is any output for the following command that relates to the webhook:
kubectl logs <dataset-operator-pod-name> -c dataset-operator -n dlf | grep -i ERROR
We have fixed this in #230 and a new image has been rolled out with the fix. You would either have to reinstall Datashim or , to reduce disruption:

Check if the imagePullPolicy for the operator has been set to Always:
kubectl get deployment dataset-operator -n dlf -oyaml |grep -i imagePullPolicy
If not, do kubectl edit deployment dataset-operator -n dlf and make the change
Scale down the deployment and scale it back up to force restart of the operator:
 kubectl scale deployment dataset-operator -n dlf --replicas=0
kubectl scale deployment dataset-operator -n dlf --replicas=1

This is the output:
1.6807863583197076e+09	ERROR	controller-runtime.certwatcher	error re-reading certificate	{"error": "tls: failed to find any PEM data in certificate input"}
1.6807863583200142e+09	ERROR	controller-runtime.certwatcher	error re-reading certificate	{"error": "tls: failed to find any PEM data in certificate input"}

Updated the image. But seems like it is conflict with our weavenet usage. I got Error from server (InternalError): error when creating "s3-test.yml": Internal error occurred: failed calling webhook "mpod.datashim.io": failed to call webhook: Post "https://webhook-server.dlf.svc:443/mutate-v1-pod?timeout=10s": Address is not allowed. Will need to try it on host network mode.
Also, what does the scientific notation in the first column mean?

So it is the certificate expiry issue as I mentioned earlier. The first column is the timestamp for the log entry

OK. Confirmed all worked fine. Thanks.


Upgrade Alerts 1.1.2.Final-SRC version

@jshaughn Updated the alerts component with srcdeps to test the parameters.
I will update the JIRA with minimal documentation for the config parameters.

SRC-deps are a bit of a pain, as the maven release plugin (with the release
profile) can't grok them.
Juca can tell more
Am 1. August 2016 5:38:39 nachm. schrieb Lucas Ponce
<EMAIL_ADDRESS>
@jshaughn Updated the alerts component with srcdeps to test the parameters.
I will update the JIRA with minimal documentation for the config parameters.
You can view, comment on, or merge this pull request online at:
https://github.com/hawkular/hawkular-services/pull/44
-- Commit Summary --

Upgrade Alerts 1.1.2.Final-SRC version to validate additional timeout
parameters

-- File Changes --
M pom.xml (2)

-- Patch Links --
https://github.com/hawkular/hawkular-services/pull/44.patch
https://github.com/hawkular/hawkular-services/pull/44.diff

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/hawkular/hawkular-services/pull/44

SRC-deps are a bit of a pain

We've been using them historically to avoid snapshot non-determinism.  Is there some other approach we should be using?

On 1 Aug 2016, at 19:39, Jay Shaughnessy wrote:

SRC-deps are a bit of a pain

We've been using them historically to avoid snapshot non-determinism.
Is there some other approach we should be using?

Yes, full-releases of dependencies (alerts in this case). Just on demand
when
you have changes that should go into -services.

OK, after the fix is validated by Filip I'll cut an Alerting release and update Services to a release version.  We did this so that Filip could evaluate a probable fix w/o having to cut multiple releases.


Refactor route handler

Currently we use a single function with a bunch of checks for the different events.
We should refactor this into more maintainable, testable functions

Related with #50


change underlying kdb driver to pykx

the project of javakdb seems not to be maintained.
however, a project named pykx is rising and I tested it is far more faster than javakdb, because the kdb setup a new data gateway to serve pykx request. (I don't know if my test is correct)
I found it is possible to invoke python runtime in java. and I wonder if using the pykx could lead to a better performance in latency and scale.
thanks.

That sounds like a potentially quite messy integration to call out to Python (I presume on different OS that might require different Python installations etc). I wonder why performance would be so different - as far as I could see from the Java code it's pretty raw socket operations, which I would expect to not be too bad.
What kind of data are you pulling where performance is such a challenge?

sorry for late reply. I am debugging the performance of javakdb. and some results is listed below, the results mainly relate to query small dataset.
It can be found that the actual data related time(queried time, analysis time) is less than 1 second, however the total elapsed time is quite unaccepted. the dataset is about several MBs.
So am I correct to get the conclusion that the performance issue is not the problem with javakdb, but the trino itself.
I wonder if the network or trino cpu/memory leads to the problem.
As a comparison, pykx has no such delays and very fast.

That looks extremely slow and completely unreasonable to what I have seen otherwise. Given analysis time & planning is low, no stats are being run.
Can you share how many rows and also the type of columns are in the table? Potentially the paging is creating too many small queries that create an issue.
CPU should be negligible - you can see that in the CPU seconds stats of the query whether Trino uses any substantial CPU. I would also think I/O is unlikely unless Trino and KDB are in vastly different networks with very low bandwidth in between.

thanks for your reply. some more logs are pasted below.

So based on all that I would think a) there is a horrible performance bug in JavaKDB 2.0 or b) the underlying KDB instance is periodically blocked and slow to respond. In the latest example even analysis time is 7sec - suggesting some sort of hang in the connection. Is there some underlying virtualization in the target KDB such as DNS load balancers?

I will make a comparison between javakdb 1.0 and 2.0, and return my feedback here.

I have tested, the results remain same when using javakdb 1.0.
I wonder how the trino process the data. e.g. it pushs down the querys to the kdb, and kdb return the results which is part of the dataset or table back to trino. Or trino retrieves all data inside the table and calculate a subset of the rows and return it back.
I tested when using pykx read kdb directly into python environment, it needs only 3 seconds to finish. However, when using trino, it needs about 2minutes to finish. It's surprisingly high.

there is no LB which would break connection for kdb. I have only one kdb instance.
I noticed that a query task whose Physical Input Bytes/s could reach 60MB/s but Input Bytes/s could only get to 10MB/s. the later number is almost the bottleneck. I am not sure what Input Bytes/s means and who limit it.

I have conduct some more experiments to find out the bottleneck, and it shows the bottleneck is at the trino-client side.
# test worker local performance limit.
create table memory.default.sf100_lineitem AS select * from tpch.sf100.lineitem; # it tells me about 1Gb/s Input Bytes;

# test worker to client side bottleneck.
select * from memory.default.sf1_lineitem # it's only about 12-18MB/s, which is far from my expectation. why it's so slow.

# test my backend db to worker.
create table memory.default.test AS select * from kdb.default.test; # it's about 90MB/s. which I think is slow but at now, it's bottlenecked by the client side.

I wonder if 90MB/s limit of the javakdb speed is correct. because when I am using pykx directly, it could reach about 200MB/s at the same kdb instance. great thanks.


adding service id while create/update of service-fabrik-mongodb

Pull Request Test Coverage Report for Build 3663

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.493%

Totals

Change from base Build 3651:
0.0%

Covered Lines:
9445

Relevant Lines:
10193

💛  - Coveralls


Token payload documentation lacks details

Existing documentation URL(s)
https://developers.cloudflare.com/cloudflare-one/identity/authorization-cookie/application-token/#payload
What changes are you suggesting?
Documentation for JWT fields is shallow, saying very little besides only the name of the field. Since validation of these fields may be critical for security, I would like to have more in-depth information to be sure I'm not making wrong assumptions.
The docs send me to jwt.io for more info, but I'm not keen on that: a) going to another site and searching the whole RFC makes this harder than getting all relevant information from the docs, b) the RFC won't have anything about how Cloudlfare in particular uses these fields — how they are configured, and how they relate to CF's account management.

Field	Description
aud	The audience tag for the application to which the token is issued.

What's the correct aud value for my account/application? Where do I set that? How do I validate it? Can I hardcode the value, or will it change? Is this value public or private?
If I go to Access > Applications and click on my application's name, I get a slide-in right sidebar with basic information, but the audience tag is not listed there.

email	The email address of the user.

Is the email address verified, or can it be spoofed? Is it always available?

iss	The Cloudflare Access domain URL for the application.

Do I need to validate this field, or is checking aud enough?

identity_nonce	A nonce used to get the user’s identity.

The linked page doesn't say anything about the nonce. Is it only for querying the identity, or do I need to check uniqueness of the nonces myself? Or is it perhaps a cache key for the identity details?

sub	The ID of the user.

What's the scope of this ID? Is it per app, or global (can I correlate users across applications with this)? How stable is it? I've noticed it's an empty string when using Service Auth token — that's a pretty big caveat not mentioned in the docs!
There's no mention of common_name.
It's not specified which fields are optional.

It's also not documented how this fields differ when using Service Auth.

Hey @kornelski, thanks for opening this issue. We've added some details in #16042. You do not need to validate the Cloudflare Access domain URL -- checking the AUD and signature should be enough (refer to the example code).


WIP pg_catalog support

GMS PR: https://github.com/dolthub/go-mysql-server/pull/2471
Dolt PR: https://github.com/dolthub/dolt/pull/7779

Closing this in favor of daylon's implementation. Will make a new PR with the schemas from this one


Change php_codesniffer dependency to fix break in 3.3.0

New version 3.3.0 introduced an issue regarding NoReturnType sniff.
As a quick fix we can change to ~3.2.3 and then increase the version again when it's fixed.
Related Issue in PHP_CodeSniffer repo:
https://github.com/squizlabs/PHP_CodeSniffer/issues/2049

From the changelog

T_RETURN_TYPE Token
The T_RETURN_TYPE token has been deprecated and will be removed in version 4.
The token was used to ensure array/self/parent/callable return types were tokenized consistently. But for namespaced return types, only the last part of the string (the class name) was tokenized as T_RETURN_TYPE. This was not consistent and so return types are now left using their original token types so they are not skipped by sniffs. The exception are array return types, which are tokenized as T_STRING instead of T_ARRAY, as they are used for type hints.
Sniffs referencing this token type will continue to run without error until version 4, but will not find any T_RETUTN_TYPE tokens.

To get the return type of a function, use the File::getMethodProperties() method, which now contains a return_type array index. This index contains the return type of the function or closer, or a blank string if not specified. If the return type is nullable, the return type will contain the leading? and a nullable_return_type array index in the return value will also be set to true. If the return type contains namespace information, it will be cleaned of whitespace and comments. To access the original return value string, use the main tokens array.

I guess in this case we have not to switch to a previous version but update our sniffers.

Changed the version in current master. Will be included in next release 0.13.2

@Chrico this is not really "the" solution.
First of all the version requirement should not be fixed, 3.2.* is ok.
But most importantly, if PHPCS have deprecated the argument we need to update our code to reflect that and use the new way to things.
So changing the version might be a temporary solution, but not the final one.
So this is issue need to stay open waiting for a better fix.

That's why i just created - for now - a bugfix release, so we can continue to work without loading it by hand. It seems that Codesniffer has a breaking change in it, which we should handle to be compliant with future releases.


Breakage in Node.js v20.6.0

The new loader API in v20.6.0 broke esmock

   FAIL  "should return un-mocked file"
    Cannot find package '[object Object]?esmk=1' imported from /Users/matteo/Repositories/esmock/src/esmock.js

    at nextResolveCall (file:///Users/matteo/Repositories/esmock/src/esmockLoader.js:71:7)
    at resolve (file:///Users/matteo/Repositories/esmock/src/esmockLoader.js:78:12)

I did try a quick replacement with the new initialize, but it looked a bit harder than expected.
cc @GeoffreyBooth for visibility.

issue comes from here:

esmockModule -> moduleId, parent ../local/usesImportObjects.js file:///xxxxxx/esmock/tests/tests-node/esmock.node.global.test.js
esmockModule -> moduleFileURL {}
esmockModule -> moduleFileURL to string [object Object]

import.meta.resolve detection is incorrect, it assumes that import.meta.resolve is AsyncFunction:

But, due to changes in 20.0.0

And latest changes in 20.6.0

import.meta.resolve is Function:

Another interesting point is https://github.com/nodejs/node/pull/49028
"Unflags import.meta.resolve making the second parentURL argument still gated behind the same --experimental-import-meta-resolve flag so that existing users would retain backwards compatibility, while the default behaviour becomes standards compliant."
So we have 2 different behaviors of import.meta.resolve depending on experimental flag.
I can successfully run a few tests with '--experimental-import-meta-resolve' and dirty patched resolve:

But there is new error:

I do have time to investigate a solution today. Feel free to give any suggestions that should be considered.

@koshic thanks for finding the cause and writing the nice summary. I understand.

the native resolve function is broken in node 20.6
const moduleId = '../local/usesNodeProcess.js'
const parent = 'file:///home/bumble/software/esmock/tests/tests-node/esmock.node.test.js'
console.log('resolved', import.meta.resolve(moduleId, parent)) // 'resolved {}'

mkdir -p xxx && touch xxx/1.mjs && touch xxx/2.mjs && \
echo 'import {resolve} from "path"; console.log(import.meta.resolve("./1.mjs", "file://" + resolve("./xxx/2.mjs")))' > 3.mjs && \
node --experimental-import-meta-resolve 3.mjs

works as expected in 20.5.0 & 20.6.0

@koshic thanks eventually your solution will be used in this PR https://github.com/iambumblehead/esmock/pull/236

The undefined import keyword issue breaks some tests using packages using async await import

https://nodejs.org/api/esm.html#importmetaresolvespecifier
It seems import.meta.resolve will discontinue support for the 'parent' param, but indirectly continues support (for now) when the node process includes the flag --experimental-import-meta-resolve
Failing tests commented-out at the PR were caused by this recent change to import.meta.resolve. For example, this test does not resolve the eslint module relative to parent.
const fileURL = resolve.constructor.name === 'AsyncFunction'
    ? await resolve(id, parent) : resolve(id, parent)
// node v20.6, fileURL is incorrect, test fails
//  file:///home/bumble/software/esmock/node_modules/eslint/lib/api.js
// node v20.4, fileURL is correct, test passes
//  file:///home/bumble/software/esmock/tests/node_modules/eslint/lib/api.js

@koshic @mcollina what do you think? Maybe import.meta.resolve should be removed from esmock and the scripted resolvewithplus used instead. Most users are using resolvewithplus already anyway, because import.meta.resolve has been undefined without the experimental flag.

Another issue affecting node v20.6: https://github.com/iambumblehead/esmock/pull/237
The "load" hook is called with a nextLoad function that returns { source: null } for CJS modules in node v20.6
looping in @tommy-mitchell

https://nodejs.org/api/esm.html#loadurl-context-nextload

The value of source can be omitted for type 'commonjs'. When a source is provided, all require calls from this module will be processed by the ESM loader with registered resolve and load hooks;  [...] This behavior for nullish source is temporary — in the future, nullish source will not be supported.

Based on investigation, node v20.6 partially allows the loader to process cjs trees imported at the global-CJS-imports test, however, unknown factors cause the process to fail when certain cjs trees are imported multiple times.
The failing test uses a package called "meow". Possibly, the meow package could be opened and dependency trees imported there disabled and enabled to learn more information about the problem.

I think the problem is meow has a circular dependency

Some progress. There are no circular dependencies in meow.
esmock defined global values at require js sources, updating the source file to look like this,
const { Date } = require('file:///import?esmk=4') // something like this...

// ...rest of the file

Newer versions of node have problems loading the path given to require. Error messages say the file is not found. Because 'file://import' is not a file, esmock was updated locally to use a known path instead, something like 'file:///home/bumble/esmock/esmockDummy.js?import?esmk=4' and this also caused the file not found error. An actual error,
✖ should optionally catch CJS circular imports (30.518101ms)
  Error: Cannot find module 'file:///home/bumble/software/esmock/src/esmockDummy.js?import?esmkTreeId=1&esmkModuleId=import&isfound=false&isesm=false&exportNames=console'
  Require stack:
  - /home/bumble/software/esmock/tests/node_modules/map-obj/index.js
      at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
      at require (node:internal/modules/esm/translators:177:30)
      at Object.<anonymous> (/home/bumble/software/esmock/tests/node_modules/map-obj/index.js:1:19)
      at loadCJSModule (node:internal/modules/esm/translators:207:3)
      at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:233:7)
      at ModuleJob.run (node:internal/modules/esm/module_job:217:25)
      at async ModuleLoader.import (node:internal/modules/esm/loader:308:24)
      at async file:///home/bumble/software/esmock/src/esmock.js:12:26
      at async TestContext.<anonymous> (file:///home/bumble/software/esmock/tests/tests-node/esmock.node.global.test.js:84:3)
      at async Test.run (node:internal/test_runner/test:582:9) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ '/home/bumble/software/esmock/tests/node_modules/map-obj/index.js' ]
  }

When a commonjs source like the one at the top of this comment is returned, the error occurs right away and the resolve hook is never called.
Replacing the require call with an object definition gets around the issue,
const { Date } = global.mocks('file:///import?esmk=4')

// ...rest of the file

But there is yet another issue at the test using the meow package. This is the error
(node:157711) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
✖ should work when modules have CJS imports (354.79829ms)
  SyntaxError [Error]: /home/bumble/software/esmock/tests/node_modules/spdx-license-ids/index.json: Unexpected token 'i', "import {co"... is not valid JSON
      at parse (<anonymous>)
      at ModuleLoader.jsonStrategy (node:internal/modules/esm/translators:416:21)
      at callTranslator (node:internal/modules/esm/loader:265:14)
      at ModuleLoader.<anonymous> (node:internal/modules/esm/loader:269:24)
      at new ModuleJob (node:internal/modules/esm/module_job:65:26)
      at #createModuleJob (node:internal/modules/esm/loader:282:17)
      at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:240:34)
      at ModuleLoader.getModuleJobSync (node:internal/modules/esm/loader:226:17)
      at require (node:internal/modules/esm/translators:191:36)
      at Object.<anonymous> (/home/bumble/software/esmock/tests/node_modules/spdx-expression-parse/scan.js:4:11)

Tests are passing at the branch that removes import.meta.resolve https://github.com/iambumblehead/esmock/pull/237 To get around error described in the last message, the load hook is scripted to only modify sources when the format is 'module' or 'commonjs'
If anyone would review that would be great.
One of the typescript tests is commented-out. Tests using the 'meow' package, including the commented-out typescript test, are big and not focused.  I believe the problem with the failing test exists in the test sources, but I've run out of energy for it and believe the current PR improves things and resolves issues at node v20.6.
If we revisit the typescript test, we might want to break it into smaller focused tests.
Please review @koshic @tommy-mitchell if you are available

if import.meta.resolve is dropped, lets publish to new minor version 2.4.0

Maybe import.meta.resolve should be removed from esmock

Agree - browser-like version of import.meta.resolve is useless for our purposes.

esmock 2.4.0 is published

The commented-out tests were affected by another issue: node's loader sometimes returns { source: undefined } and other times returns { source: null }
A solution for that issue is at the PR here https://github.com/iambumblehead/esmock/pull/238 and will likely be published soon.


Compilation errors with GCC 14.1

Hello I get these errors with GCC 14.1
[33/86] Building CXX object _deps/nana-build/CMak...na.dir/source/gui/detail/virtual_keyboard.cpp.obj
FAILED: _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj
ccache C:\msys64\mingw64\bin\c++.exe -DNANA_ENABLE_VIRTUAL_KEYBOARD -DWIN32 -IC:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/include -g -Wall -fmax-errors=3 -MD -MT _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj -MF _deps\nana-build\CMakeFiles\nana.dir\source\gui\detail\virtual_keyboard.cpp.obj.d -o _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj -c C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp: In lambda function:
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp:331:69: error: 'clamp' is not a member of 'std'
  331 |                                                         left = std::clamp(left, key_candidate_switch_.x - static_cast<int>(candidate_.content_px), 0);
      |                                                                     ^~~~~
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp:344:68: error: 'clamp' is not a member of 'std'
  344 |                                                         top = std::clamp(top, static_cast<int>(this->size().height) - static_cast<int>(candidate_.content_px), 0);
      |                                                                    ^~~~~

I also get the same error when compiling pixel_buffer.cpp.

Is this fixed by
#include
at the top of virtual_keyboard.cpp ?

Yes. You also need it in pixel_buffer.cpp.

Thanks!
I could not see what that 4b39f7d6... is.
So, what branch/version/commit are you using?

I use develop-1.8.

Thank!
You can reload now.

It builds now. Thanks.


fio command for calculating new properties

fio calc could take a stream of GeoJSON features on stdin calculate additional properties.
For each feature, it could evaluate one or more expressions,  place the derived variable(s) in the properties dict then print the feature to stdout.
So for this input:
{'type': 'Feature',
 'id': 1,
 'properties': {'a': 1, 'b': 2}}

You might have a CLI something like this
fio calc --new "c" "f['properties']['a'] + f['properties']['b'] * 2"

which would yield
{'type': 'Feature',
 'id': 1,
 'properties': {'a': 1, 'b': 2, 'c': 5}}

There are obviously some details to work out

what is in the namespace when the expression is evaluated
python expressions or some other DSL?
what's the best interface for args and options

If there's interest in the general idea, I can get started on a PR

@perrygeo Yes!  I have been thinking about this as well but have not had a reason to dig in.  I have a fio-geoprocessing project that has been sitting around for a while that might interest you.  The goal is to take advantage of click command chaining to string together a bunch of shapely and/or custom commands that operate on single features.  The open PR covers some of the background but the big question is whether or not we can make the current fio CLI work with click chaining and what complications that introduces for plugin commands.  I haven't had much time to work on it, but this issue and https://github.com/Toblerity/Fiona/pull/272 issue are both features I have thought about or prototyped.
This could look something like:
fio \
    cat infile.geojson \
    buffer --dist 100 \
    simplify --tolerance 10 \
    reproject --dst-crs EPSG:4326 \
    calc --new area "shape(f['geometry']).area" \
    load --driver GeoJSON out.geojson

Or maybe just reading from stdin and writing to stdout with cat and loads handling the streaming and dumping to disk:
fio cat infile.geojson | \
    buffer --dist 100 \
    simplify --tolerance 10 \
    reproject --dst-crs EPSG:4326 \
    calc --new area "shape(feature['geometry']).area" |\
        fio load --driver GeoJSON out.geojson

Or as its own subcommand with an initial command to open the file and a final command to save:
fio pipe \
    open infile.geojson \
    buffer --dist 100 \
    simplify --tolerance 10 \
    reproject --dst-crs EPSG:4326 \
    calc --new area "shape(feature['geometry']).area" \
    save --driver GeoJSON out.geojson

@geowurster Thanks for pointing out fio-geoprocessing - that really opens up the doors for some awesome fio-based workflows. I'll check it out...
As for the click command chaining, it looks great, cleaner syntax for sure. And it avoids serializing-deserializing at each command, firing up a new interpreter, etc. A bit OT for this issue but where does #173 stand?
command-chaining vs pipes aside, what do you think about the interface (--new propertyname expression) and the use of python expressions in general? I noticed you included a call to shape in your example so there is at least one function we should have in the namespace - any others that might be useful?

@perrygeo I only pointed out fio-geoprocessing because we both have had some of the same thoughts and wanted you to see how far I got in the context of this issue, #173, and #272.
#173 is held up by some design decisions that are dictated by whether or not the current CLI can be made chain-able or if chaining will need to be relegated to a subcommand.  Each have their pros and cons.  I haven't had time to experiment with it but it miiiiiiight be possible to make the current CLI chain-able.
As far as the syntax and use of Python expressions go, see my comment in #272.

Does @geowurster's pyin utility cover this use case? Yep, an more. Maybe a fio calc is superfluous?
Let's assume for a moment that we had dot notation (via the munch lib) in pyin, the original example would become
pyin "line['properties']['c'] = line['properties']['a'] + line['properties']['b'] * 2"

simple enough and more general-purpose. If we had dot notation in pyin, it starts looking even better
pyin "line.properties.c = line.properties.a + line.properties.b * 2"

So is there any value in a fio calc when other tools will work?

@perrygeo No need to import munch, "munch.munchify(json.loads(line))" works automagically™.
Unfortunately eval() can't handle assignment, so your last statement throws a syntax error, but exec() can.  With a little regex to direct expressions to the right function, and some experimentation to see what exec() has access to, I can definitely bring it into pyin.
Another option is to depend on pyin and use its pmap() generator for fio calc, which would let us control the variable name and feed it loaded dictionaries.  Adding an optional base scope argument would be pretty easy.

@geowurster @perrygeo is this one resolved or is it still active?

I'd love to see something like this, the geojson cli equivalent to "attribute table calculator" which is core functionality in many GIS workflows. Just waiting for some consensus on if/how it should be implemented

Agreed that a command line field calculator would be a great addition.  Seems like eval() should be able to handle this as well, although I'm not sure it supports item assignment, so maybe exec()?


Add search relevance criteria to DBT search function

Problem
In the DBT search function, search results are sorted in alphabetical order by the model name. This is not optimal for a search function, and can cause some difficulty for visibility of relevant search results for the user.
Solution
To solve this issue, this PR adds a "weight" criteria to each search result, which is an indication of how relevant it is to the user (the larger the number, the more relevant). To specify, weight will be added to a search result if the search query matches the name, tags, description, SQL code, or columns, whose weights are biggest to smallest in that respective order. Based on this, the order of the search results is sorted from the greatest to least "weight," and therefore allows for easier visibility of more relevant search results for the user.
Other Information

Resolves #112
@Matt343 is also a collaborator on this PR

Very nice! I agree with the motivation behind this change, and with the weights you've given so far.
I'm not sure if this is review-ready, so I'll just share that I took it for a spin and I've been running into an issue where the docs site is freezing. This happens any time, after having typed text into the search bar:

when I press "x" to clear the search
when I attempt to delete the last remaining letter in the search bar
when I try to click on one of the search results

@jtcohen6 Thanks for the catch. I inserted a conditional in the assignSearchRelevance so these cases are taken care of.