Added a new dataset for the Burmese Language and ran the required tests

The Myanmar News dataset on Hugging Face contains news articles in Burmese. It is designed for tasks such as text classification, sentiment analysis, and language modeling.
Checklist for adding MMTEB dataset
Reason for dataset addition:
Burmese is a low resource language, and there has been no contribution for a monolingual dataset for Classification in Burmese as of now.
By adding this dataset, we are expanding the diversity of the benchmark.

[x] I have tested that the dataset runs with the mteb package.
[x] I have run the following models on the task (adding the results to the pr). These can be run using the mteb run -m {model_name} -t {task_name} command.

[x] sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
[x] intfloat/multilingual-e5-small

[x] I have checked that the performance is neither trivial (both models gain close to perfect scores) nor random (both models gain close to random scores).
[x] If the dataset is too big (e.g. >2048 examples), considering using self.stratified_subsampling() under dataset_transform()
[x] I have filled out the metadata object in the dataset file (find documentation on it here).
[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.
[ ] I have added points for my submission to the points folder using the PR number as the filename (e.g. 438.jsonl).

Don't forget to add points either ;)

Don't forget to add points either ;)

I have proposed to add points for 706.json

@x-tabdeveloping
Is is alright if I add other classification datasets in this PR itself?

@x-tabdeveloping  I think I might've made a mess of the entire thing and made it hard for you by putting everything here. So I think I'll close this PR, and open new ones with each contribution.
So sorry for the inconvenience


[globs::01] Add collect_from_globs method to TestCollector

Extended TestCollector to search and ignore, test_suites and test_cases by globs.
(This PR doesn't change the test command's interface.)

LGTM, but please reafactor the logic as we discussed. Deduplicating paths, then running collect on each then filtering test case names will be much cleaner flow

It won't be much cleaner because filtering by test case name must be done only for certain test suites.
a::test_foo*
b::test_bar*
is no the same as
{a,b} x {test_foo*,test_bar*}


Login verification supports jwt mode

What is the purpose of the pull request
Refactor login authentication process, use interface and add jwt authentication mode
Brief change log

Add io.jsonwebtoken.jjwt to root pom.xml
Add io.jsonwebtoken.jjwt to dolphinscheduler-api pom.xml
Add AuthenticationType file to dolphinscheduler-api module
Add Authenticator file to dolphinscheduler-api module
Add JsonWebTokenAuthenticator file to dolphinscheduler-api module
Add PasswordAuthenticator file to dolphinscheduler-api module
Add SecurityConfig file to dolphinscheduler-api module
Add JsonWebTokenAuthenticatorTest file to dolphinscheduler-api module
Add PasswordAuthenticatorTest file to dolphinscheduler-api module
Add SecurityConfigTest file to dolphinscheduler-api module
Modify LoginController file
Modify TenantService file
Modify UsersService file

Verify this pull request

Added PasswordAuthenticatorTest to verify password authenticator.
Added JsonWebTokenAuthenticatorTest to verify rsa-public-key.
Add SecurityConfigTest to verify authenticator is available.
Manually verified the change by testing locally.

Codecov Report

Merging #1502 into dev will decrease coverage by 0.01%.
The diff coverage is 0%.

@@           Coverage Diff            @@
##             dev   #1502      +/-   ##
========================================
- Coverage   2.77%   2.76%   -0.02%
========================================
  Files        272     276       +4
  Lines      13598   13690      +92
  Branches    2158    2170      +12
========================================
  Hits         378     378
- Misses     13201   13293      +92
  Partials      19      19

Impacted Files
Coverage Δ

...he/dolphinscheduler/api/service/TenantService.java
0% <0%> (ø)
:arrow_up:

...nscheduler/api/security/PasswordAuthenticator.java
0% <0%> (ø)

.../dolphinscheduler/api/security/SecurityConfig.java
0% <0%> (ø)

...che/dolphinscheduler/api/service/UsersService.java
0% <0%> (ø)
:arrow_up:

...lphinscheduler/api/controller/LoginController.java
0% <0%> (ø)
:arrow_up:

...phinscheduler/api/security/AuthenticationType.java
0% <0%> (ø)

...eduler/api/security/JsonWebTokenAuthenticator.java
0% <0%> (ø)

... and 1 more

Continue to review full report at Codecov.

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

I only check the io.jsonwebtoken jar license can use, its license is apache 2.0.
who can review this pr?

Currently, I have added jwt verification of SHA and RSA algorithms and provided complete test cases. The following is a brief description of the three verification methods.

PASSWORD：Is a mysql-based authentication method, using the username and password to retrieve the user and generate a session
JWT_KEY：Using HMAC-SHA algorithm, the user provides a Secret Key to symmetrically encrypt user information to generate jwt
JWT_RSA: Using RSA algorithm, support user local private key file to generation jwt or remote server to generate jwt
Please continue to help review


Allow modifying keys

Some people don't like the default controls.

But they are sane defaults, and takes no time getting used to them.


SPARK LOAD ERROR

CREATE EXTERNAL RESOURCE "sparktest"
PROPERTIES
(
"type" = "spark",
"spark.master" = "yarn",
"spark.submit.deployMode" = "cluster",
"spark.executor.memory" = "1g",
"spark.yarn.queue" = "root.users.hdfs",
"spark.hadoop.yarn.resourcemanager.address" = "xxx.xx.xx.xx:8032",
"spark.hadoop.fs.defaultFS" = "hdfs://xxx.xx.xx.xx:8020",
"working_dir" = "hdfs://xxx.xx.xx.xx:8020/tmp",
"broker" = "broker_name",
"broker.username" = "user123",
"broker.password" = "pass123"
);
GRANT USAGE_PRIV ON RESOURCE "sparktest" TO "user123"@"%";
GRANT USAGE_PRIV ON RESOURCE "sparktest" TO ROLE "roletest";
GRANT USAGE_PRIV ON RESOURCE * TO "user123"@"%";
GRANT USAGE_PRIV ON RESOURCE * TO ROLE "roletest";
LOAD LABEL testhive.tablespark
(
DATA INFILE("hdfs://xxx.xx.xx.xx:8020/tmp/table2.txt")
INTO TABLE tablespark
COLUMNS TERMINATED BY ","
(tmp_c1,tmp_c2,tmp_c3)
SET
(
id=tmp_c2,
name=tmp_c1,
username=tmp_c3
)
)
WITH RESOURCE 'sparktest'
(
"spark.executor.memory" = "5g",
"spark.shuffle.compress" = "true"
)
PROPERTIES
(
"timeout" = "3600"
);
ERROR 1064 (HY000): Unexpected exception: null

which version do you use

version  : 0.13.0

It's fe null pointer exception, 0.14 has fixed it

I  am only find 0.13.Can you tell me where the 0.14 link is？

I  am only find 0.13.Can you tell me where the 0.14 link is？

https://github.com/apache/incubator-doris/tags
https://github.com/apache/incubator-doris/archive/0.14.0-rc01.tar.gz

请问你的问题解决了吗？我也遇到类似问题了，方便加个QQ吗？咨询交流点spark load doris问题，thanks!


Clarify the user-data documentation

AWS EC2 supports user-data scripts to specify the initialization script to be used by VM on launch.
This page contains the example of using "VM metadata". In particular, it specifies the usage of cloud-init.yaml config file.
I suppose (and it is only my guess based on the provided content on the page), that this is supposed be a cloud-init format file. But there is no any kind of information about what this file is, what is supported and what is not.
Can you please improve documentation about "VM metadata"? It is highly unclear to understand how the start-up script can be used for VM.

@mipo256 hello.
Thank you for your interest in Yandex Cloud documentation. We definitely need an instruction on how to use instance metadata to send an initial script.
We are preparing this instruction and it will be available in Russian after the next documentation release on July 24, 2021 here: https://yandex.cloud/ru/docs/compute/operations/vm-create/create-with-cloud-init-scripts.
During the next week, it will also be available in English.


Unable to remove outline for MobileDateRangePicker dialog styles

Unable to update the styles for outline of the dialog
currently overriding below styles, but not works for me
root: {
'& .MuiBackdrop-root': {
backgroundColor: 'transparent'
},
'& .MuiDialog-scrollPaper': {
alignItems: 'start',
justifyContent: 'start',
height: 'auto',
outline: 0
},
'& .MuiDialog-paper': {
margin: theme.spacing(0),
overflowY: 'hidden',
outline: 0,
'&:focus': {
outline: 0
},
'& .MuiDialogContent-root': {
overflowY: 'hidden',
}
}

kindly help on the above issue

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Expected Behavior 🤔

Steps to Reproduce 🕹

Steps:

Context 🔦

Your Environment 🌎

Tech
Version

@material-ui/core
v4.11.0

@material-ui/pickers
v4.0.0-alpha.12

React
16.13.1

Browser
Chrome  Version 85.0.4183.121

TypeScript
yes

etc.

Solved with https://github.com/mui-org/material-ui/issues?q=is%3Aissue+label%3A"component%3A+DatePicker"+outline+is%3Aclosed.


Fixed an issue with auto_update in connection with structs

Fixed https://github.com/stlehmann/pyads/issues/372 by adjusting add_device_notification() to correctly set the length of NotificationAttrib to _structure_size if a structure is present. Thanks to @ascaron37 for reporting this.

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

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 94.901%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pyads/symbol.py
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.05%

Covered Lines:
1731

Relevant Lines:
1824

💛  - Coveralls


Not linking to .json

./README.md: 55: MD012 Multiple consecutive blank lines:

## Reddit
## Other

Remove blank lines.

You really dont like empty lines, dont you? I think its ok now

yup travis tests pass ty


Documentation is broken

More generally, I have no sense of how to use this library or what the result looks like.

Documentation is fixed now.


create profile.md

Learning the environment of github

Hey you did great (:+1:

Try adding a root directory


Channel could be in config file

https://github.com/dxomg/vpsbot/blob/5bdbc14474aead5d2ed06f0a5277ad961f2d0ba0/lxcbot/main.py#L14
This line should be as config, not hardcoded ^^

Done


Selection Sort

Overview

Write code for Selection Sort in C++.
Add that code into a directory named "Sorting", if the directory doesn't exist, create one and add the code file.

Please take care of these things while creating the pull request.

The code file was added to the correct directory.
Code quality looks good.
The programming language used is the same as mentioned in the issue.

Hey Can I work on this issue?

can i work on this ???

I had done work on it.
Plz check #103


NixOS options not 1:1 available

I'm on NixOS 23.05, and one of the changes was fonts.fonts became fonts.packages
additionally fonts.enableDefaultPackages also triggers an error
There are no errors when using flakes normally
with flake-parts, the following error occurs, the same if fonts.packages is used
error: The option `fonts.enableDefaultPackages' does not exist. Definition values:
       - In `/nix/store/fckpbv0vcld0h7j30540zwa8ji6d4gd1-source/flake.nix#nixosModules.default': true

It appears that flake-parts doesn't have access to the new options configuration used in 23.05 & is using the 22.11 or older options?
Below is code to reproduce this issue
{
  description = "LeFailure";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
    flake-parts = {
      url = "github:hercules-ci/flake-parts";
    };
  };

  outputs =
    inputs@{ flake-parts, ... }:
    flake-parts.lib.mkFlake { inherit inputs; } (top@{ moduleWithSystem, withSystem, ... }: {
      imports = [ ];
      systems = [ "x86_64-linux" ];
      flake = {
        nixosModules.default = moduleWithSystem
          (
            perSystem@{ config }: # NOTE: only explicit params will be in perSystem
            nixos@{ pkgs, ... }:
            {
              fonts = {
                fontDir.enable = true;
                enableDefaultPackages = true;
                packages = with pkgs; [
                  fira-code
                ];
              };
              imports = [
                ./configuration.nix
                ./hardware-configuration.nix
              ];
            }
          );

        nixosConfigurations.default = withSystem "x86_64-linux"
          (ctx@{ config, inputs', ... }:
            inputs.nixpkgs.lib.nixosSystem {
              specialArgs = inputs;
              modules = [
                top.config.flake.nixosModules.default
              ];
            }
          );
      };
    });

fonts.enableDefaultPackages

This seems to have been introduced after 23.05 when I look it up in search.nixos.org.

unstable: found
23.05: not found

These releases are not supported anymore, and when you're doing inputs.nixpkgs.lib.nixosSystem in the example above there's really no way you don't get a NixOS from the Nixpkgs you specified in inputs at the top. If it does, it'd be a Nix bug.
My earlier comment suggests a more plausible mechanism for the observations.
I'll assume this is resolved, but I'll reopen this if you still experience a problem like this.


Conveyor!

Nice! Remember to use Files Changed not Commits tab to see the diffs better, let me catch some mistakes!


Don't forget our provider ctx when resetting

kdf_tls1_prf_reset and kdf_hkdf_reset were resetting a little too much.
We also update evp_test to run the KDF tests for the FIPS provider as well.
Fixes #12225

Other KDF implementations do the same. Would you mind fixing them as well?

Done.

This pull request is ready to merge

There is a mem leak in travis  - so it is not ready to merge..

I remove the test related commits from this PR on the expectations that @slontis's PR will do the same thing. Please take another look.

travis error is unrelated.

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Pushed. Thanks.


Add rel=sponsored to partner links

Adding rel=sponsored into sponsored and partner links. Let me know if I miss anything.

Looks good. Just checked out and multiple rel attributes are valid as well, in case anyone is wondering.


feat(stoneintg-937): add cleanup of webhooks in afterall

On Gitlab integration e2e-tests, webhooks created for PaC components
was not deleted after each run, this caused a Webhooks to be exceeded
so requests were failing,  in this PR we ensure deleting webhooks after test is done
When tested locally, I ran it multiple times and get to that Webhooks were deleted as it improved the cleaning of repo after each test
STONEINTG-937
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/test all

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

Test is blocked by KFLUXBUGS-1314

/test redhat-appstudio-e2e

failed on bootstrapping,
/test redhat-appstudio-e2e

The commit title --amend still doesn't make sense about the changes introduced by it. Can you please update it?

The commit title --amend still doesn't make sense about the changes introduced by it. Can you please update it?

yes, it was committed by mistake
now it's squashed


5.1.1 update

Updates rake and addressable to latest
Merge in PR #95
Deprecate ruby <2.5

Moving this to 6.0 since it's removing support for Ruby <2.3


tsResidentBufferTemplate

tsp: /home/thierry/tsduck/src/libtsduck/tsResidentBufferTemplate.h:78: ts::ResidentBuffer::ResidentBuffer(size_t) [with T = ts::TSPacket; size_t = unsigned int]: Assertion `_locked_base < _allocated_base + page_size' failed.
Aborted
How to fix the problem? Please guide me through. Please

Hi @op4ca,
Which TSDuck version are you using and on which platform are you testing?
As a matter of coincidence (or not?), a well-known TSDuck user privately reported the same problem to me a few days ago on a PlutoSDR device. He investigated the problem in depth. I fixed it and pushed the fix.
The problem was due to the specific memory layout of the PlutoSDR, a very small and constrained device, where the allocated memory happened by return virtual memory addresses with MSB set. The problem was a "signed-ness" issue on the memory rounding.
Unless you already use it, please pull the latest repo, rebuild and test.


Check for correct contract when importing proxy implementation

Currently the forceImport function does not check whether the user provided contract source code matches with the contract deployed at the implementation address.
Perform some checks when importing (perhaps in a separate function which does not "force" the import).  This can include trying to compare the metadata hash, and if that fails, falling back to contract bytecode comparison (which does not work for cases where immutable variables or constructors are used).

The key part here is the metadata hash as it enables us to check even in the presence of immutable variables. See Contract Metadata.


OCMExpect() broken for OCMockObject::notificationWithName:object:userInfo:

In short, this doesn't work (returns "unrecognized selector sent to instance"):
OCMExpect([mockObserver notificationWithName:@"MyNotification" object:[OCMArg any] userInfo:[OCMArg any]]);

But this (the old syntax) does...
[[mockObserver expect] notificationWithName:@"MyNotification" object:[OCMArg any] userInfo:[OCMArg any]];

Omitting the userInfo: parameter in the first example works provided that the notification sends nil for userInfo.

Observer mocks are not supported by the (now not so) new syntax with macros. The documentation deliberately shows only the old syntax: http://ocmock.org/reference/#observer-mocks
I'll leave this issue open as a reminder that I should add something for observer mocks to make them work with the new syntax.
The underlying issue is that the macro always creates a recorder for normal methods (https://github.com/erikdoe/ocmock/blob/e50f4f9bb20de8c828271f07e2d58b2a2d3088ba/Source/OCMock/OCMMacroState.m#L47) but the expect method on the observer mock returns a special notification recorder (https://github.com/erikdoe/ocmock/blob/e50f4f9bb20de8c828271f07e2d58b2a2d3088ba/Source/OCMock/OCObserverMockObject.m#L72-L74).
When I got to the release of OCMock 3, I couldn't think of a good way to resolve this, short of merging the observer recorder functionality into the other recorder, which I didn't like. Any ideas?

This was implemented a long time ago. Forgot to close this issue.


Refactor batch/block note tree structure

Right now, a note tree for each batch is defined as a simple SMT of depth 13 where each note occupies two leaves: the even leaf contains note ID and the odd leaf contains note metadata. When aggregating batches into a block, we build a depth 21 tree such that each block can contain up to 256 batches. There are a couple of refactorings we should do here:
First, the even/odd leaf structure of the tree is somewhat confusing and has led to numerous bugs in the past (and we currently have a hacky workaround because of this in miden-client and miden-node). What we should do, is to use note hashes (computed as hash(note_id || note_metadata) and build note trees from them. So, for example, the batch note tree would have depth 12 and the block note tree would have depth 20.
Second, we should consider changing the depths of the trees as described in #398. Specifically:

Reduce the depth of the batch note tree to 10. This would allow up to 1024 output notes per batch.
Reduce the depth of the block note tree to 16. This would allow up to 64 batches per block.

The above would imply that the maximum number of notes per block would be ~65K.

Resolved by PRs: https://github.com/0xPolygonMiden/miden-base/pull/834 and https://github.com/0xPolygonMiden/miden-node/pull/475.


vfs: define drive

We need a conceptual discussion of VFS drives and how capabilities work in the system. It'd be natural to have this discussion in either https://github.com/uqbar-dao/kinode-book/blob/main/src/files.md or https://github.com/uqbar-dao/kinode-book/blob/main/src/apis/vfs.md

https://github.com/uqbar-dao/kinode-book/pull/71


How to run a command on the docker host ?

Hi,
I need to run cat docker-compose.yml | docker run -i funkwerk/compose_plantuml --link-graph | docker run -i think/plantuml > output.svg via JavaScript to a Docker host.
My app is a Docker container, and I need to send this command to generate a SVG on the Docker host.
I can connect my app to the socket of the host like this:
docker = new Docker({
        socketPath: '/var/run/docker.sock'
 });

because I mounted the volume.
The thing is how to send a command to the host terminal and not to the container terminal ?
I tried like this:
exec_tool = require('child_process').exec;
child = exec_tool('cat docker-compose.yml | docker run -i funkwerk/compose_plantuml --link-graph | docker run -i think/plantuml > output.svg',
            function (error, stdout, stderr) {
                console.log('stdout: ' + stdout);
                console.log('stderr: ' + stderr);
                if (error !== null) {
                     console.log('exec error: ' + error);
                }
            });

But the thing is, with this method it send the command to the container terminal, I want to send it to the host terminal.
Maybe I could use:
docker.run('ubuntu', ['bash', '-c', 'uname -a'], [process.stdout, process.stderr], {Tty:false}, function (err, data, container) {
  console.log(data.StatusCode);
});

but how to run it on the host and not inside a container ?
Thank you for the help

This is because it's not related to dockerode, but related to Node.js.
You'll be able to use the child_process Node.js API for this. See: https://nodejs.org/dist/latest-v10.x/docs/api/child_process.html

Apologies, I misread the original question.
To answer OP's question, I would generate the SVG inside the container in a mounted volume.
As for a container trying to run something on the host, I simply wouldn't. If you're talking about Docker in Docker, that can be done though.
I have done things like passing on the Docker socket and binary in as volumes to a Jenkins container to allow Jenkins access to Docker on the host.
What kind of problem are you trying to solve? What kinds of commands are you trying to run? There may be another solution that doesn't require the container reaching out to the host.

I need to run a docker-compose from within a container (based on number of different types of docker images specified by the end user at run time). I may be running in AWS Fargate at some point, so volume mounts are out of the question, as only bind mounts are supported by AWS Fargate. I may be able to run a lambda function on the container host, but there is still the question of how to best access that from within the container.


Move tests from noinst_PROGRAMS to check_PROGRAMS

This patch makes the test programs to build only during make check
instead of make.
Signed-off-by:  Rajalakshmi Srinivasaraghavan<EMAIL_ADDRESS>* ebb/Makefile.am: Change noinst_PROGRAMS to check_PROGRAMS.
* ebb/Makefile.in: Regenerate.
* tb/Makefile.am: Change noinst_PROGRAMS to check_PROGRAMS.
* tb/Makefile.in: Regenerate.

LGTM.

LGTM too.


Possible race condition - inconsistent passing test

See original issue on GitLab
In GitLab by [Gitlab user @tristanvb] on Nov 2, 2017, 17:13
This test failed:
https://gitlab.com/BuildStream/buildstream/-/jobs/38687858
And this test passed:
https://gitlab.com/BuildStream/buildstream/-/jobs/38698246
Exactly the same master branch, at 557a08d0b3f6101f8452cce25096b310de0f596e
It looks like we have a race condition, and cannot trust that what we have just built will be reported as cached after immediately interrogating the artifact cache - looks like gitlab slow I/O helps to give us a chance in a million of reproducing this...
Failed test report:
=================================== FAILURES ===================================
______________________________ test_push_pull_all ______________________________

cli = <tests.testutils.runcli.Cli object at 0x7fb29dd045f8>
tmpdir = local('/builds/BuildStream/buildstream/tmp/test_push_pull_all0')
datafiles = local('/builds/BuildStream/buildstream/tmp/test_push_pull_all0')

    [[Gitlab user @pytest]](https://gitlab.com/pytest).mark.skipif(not IS_LINUX, reason='Only available on linux')
    [[Gitlab user @pytest]](https://gitlab.com/pytest).mark.datafiles(DATA_DIR)
    def test_push_pull_all(cli, tmpdir, datafiles):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        share = create_artifact_share(os.path.join(str(tmpdir), 'artifactshare'))

        # First build it without the artifact cache configured
        result = cli.run(project=project, args=['build', 'target.bst'])
        assert result.exit_code == 0

        # Assert that we are now cached locally
        state = cli.get_element_state(project, 'target.bst')
        assert state == 'cached'

        # Configure artifact share
        cli.configure({
            #
            # FIXME: This test hangs "sometimes" if we allow
            #        concurrent push.
            #
            #        It's not too bad to ignore since we're
            #        using the local artifact cache functionality
            #        only, but it should probably be fixed.
            #
            'scheduler': {
                'pushers': 1
            },
            'artifacts': {
                'pull-url': share.repo,
                'push-url': share.repo,
            }
        })

        # Now try bst push
        result = cli.run(project=project, args=['push', '--deps', 'all', 'target.bst'])
        assert result.exit_code == 0

        # And finally assert that the artifact is in the share
        all_elements = ['target.bst', 'import-bin.bst', 'import-dev.bst', 'compose-all.bst']
        for element_name in all_elements:
            assert_shared(cli, share, project, element_name)

        # Make sure we update the summary in our artifact share,
        # we dont have a real server around to do it
        #
        share.update_summary()

        # Now we've pushed, delete the user's local artifact cache
        # directory and try to redownload it from the share
        #
        artifacts = os.path.join(cli.directory, 'artifacts')
        shutil.rmtree(artifacts)

        # Assert that we are now in a downloadable state, nothing
        # is cached locally anymore
        for element_name in all_elements:
            state = cli.get_element_state(project, element_name)
            assert state == 'downloadable'

        # Now try bst pull
        result = cli.run(project=project, args=['pull', '--deps', 'all', 'target.bst'])
        assert result.exit_code == 0

        # And assert that it's again in the local cache, without having built
        for element_name in all_elements:
            state = cli.get_element_state(project, element_name)
>           assert state == 'cached'
E           AssertionError: assert 'downloadable' == 'cached'
E             - downloadable
E             + cached

tests/frontend/pull.py:178: AssertionError
----------------------------- Captured stdout call -----------------------------
BuildStream exited with code 0 for invocation:
	bst --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 build target.bst
Program output was:
Loading....
Resolving 4 elements....
Checking 4 elements....

BuildStream Version 0.1.dev1455+g557a08d
  Session Start:       Thursday, 02-11-2017 at 10:07:21
  Project:             test (/builds/BuildStream/buildstream/tmp/test_push_pull_all0)
  Target:              target.bst
  Host Architecture:   x86_64
  Target Architecture: x86_64

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/sources
  Build Area:              /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/artifacts
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
   buildable ffc58366 import-bin.bst
   buildable 5918952a import-dev.bst
     waiting 0237b356 compose-all.bst
     waiting 7e82e12a target.bst

[--:--:--] START   Starting build
[--:--:--][ffc58366][build:import-bin.bst  ] START   test/import-bin/ffc58366-build.606.log
[--:--:--][ffc58366][build:import-bin.bst  ] START   Staging sources
[00:00:00][ffc58366][build:import-bin.bst  ] SUCCESS Staging sources
[--:--:--][5918952a][build:import-dev.bst  ] START   test/import-dev/5918952a-build.607.log
[--:--:--][5918952a][build:import-dev.bst  ] START   Staging sources
[00:00:00][5918952a][build:import-dev.bst  ] SUCCESS Staging sources
[--:--:--][ffc58366][build:import-bin.bst  ] START   Caching Artifact
[--:--:--][5918952a][build:import-dev.bst  ] START   Caching Artifact
[00:00:00][ffc58366][build:import-bin.bst  ] SUCCESS Caching Artifact
[00:00:00][ffc58366][build:import-bin.bst  ] SUCCESS test/import-bin/ffc58366-build.606.log
[00:00:00][5918952a][build:import-dev.bst  ] SUCCESS Caching Artifact
[00:00:00][5918952a][build:import-dev.bst  ] SUCCESS test/import-dev/5918952a-build.607.log
[--:--:--][0237b356][build:compose-all.bst ] START   test/compose-all/0237b356-build.610.log
[--:--:--][0237b356][build:compose-all.bst ] START   Staging dependencies
[00:00:00][0237b356][build:compose-all.bst ] SUCCESS Staging dependencies
[--:--:--][0237b356][build:compose-all.bst ] START   Caching Artifact
[00:00:00][0237b356][build:compose-all.bst ] SUCCESS Caching Artifact
[00:00:00][0237b356][build:compose-all.bst ] SUCCESS test/compose-all/0237b356-build.610.log
[--:--:--][7e82e12a][build:target.bst      ] START   test/target/7e82e12a-build.612.log
[--:--:--][7e82e12a][build:target.bst      ] START   Caching Artifact
[00:00:00][7e82e12a][build:target.bst      ] SUCCESS Caching Artifact
[00:00:00][7e82e12a][build:target.bst      ] SUCCESS test/target/7e82e12a-build.612.log
[00:00:00] SUCCESS Build Complete

Pipeline Summary
  Total:       4
  Session:     4
  Fetch Queue: processed 0, skipped 4, failed 0
  Build Queue: processed 4, skipped 0, failed 0

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable target.bst
Program output was:
cached

BuildStream exited with code 0 for invocation:
	bst --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 push --deps all target.bst
Program output was:
Loading....
Resolving 4 elements....
Fetching artifact list from /builds/BuildStream/buildstream/tmp/test_push_pull_all0/artifactshare/repo
Checking 4 elements....
[--:--:--] START   Pushing 4 artifacts
[--:--:--][ffc58366][ push:import-bin.bst  ] START   test/import-bin/ffc58366-push.621.log
[--:--:--][ffc58366][ push:import-bin.bst  ] START   Pushing Artifact
[00:00:00][ffc58366][ push:import-bin.bst  ] SUCCESS Pushing Artifact
[00:00:00][ffc58366][ push:import-bin.bst  ] SUCCESS test/import-bin/ffc58366-push.621.log
[--:--:--][5918952a][ push:import-dev.bst  ] START   test/import-dev/5918952a-push.628.log
[--:--:--][5918952a][ push:import-dev.bst  ] START   Pushing Artifact
[00:00:00][5918952a][ push:import-dev.bst  ] SUCCESS Pushing Artifact
[00:00:00][5918952a][ push:import-dev.bst  ] SUCCESS test/import-dev/5918952a-push.628.log
[--:--:--][0237b356][ push:compose-all.bst ] START   test/compose-all/0237b356-push.634.log
[--:--:--][0237b356][ push:compose-all.bst ] START   Pushing Artifact
[00:00:00][0237b356][ push:compose-all.bst ] SUCCESS Pushing Artifact
[00:00:00][0237b356][ push:compose-all.bst ] SUCCESS test/compose-all/0237b356-push.634.log
[--:--:--][7e82e12a][ push:target.bst      ] START   test/target/7e82e12a-push.641.log
[--:--:--][7e82e12a][ push:target.bst      ] START   Pushing Artifact
[00:00:00][7e82e12a][ push:target.bst      ] SUCCESS Pushing Artifact
[00:00:00][7e82e12a][ push:target.bst      ] SUCCESS test/target/7e82e12a-push.641.log
[00:00:01] SUCCESS Pushed 4 complete

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{full-key} target.bst
Program output was:
7e82e12a9f01d10b73a2d13e894756635924800e7c8ee8114aa19661cd7bfdc9

37511fd037ee1bd4421830812078a7a404d32a96c4f988caa9804ef0316523b0
BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{full-key} import-bin.bst
Program output was:
ffc58366eca61e646beb150556f384fb7c1402e40f3d00e942e6bf1fdfaf0301

4c99d677aaf2be39873d8205c4bd3476507f5ab3a5d05d8291f6fc11b22d006e
BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{full-key} import-dev.bst
Program output was:
5918952aff40478e2fa7dadf48cc6f8d024e748fedc4cddb46a2fbda6c81db7e

785abafcadda8c6c341edc42665fccf4ce0786b1de6a409718b852db896f5db4
BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{full-key} compose-all.bst
Program output was:
0237b356ed2aef07b8d947e42a55b8a430f086619767574de85e6f7ee2bdd13b

46a2cdc22683c935bdcc6098e980136a404f2341185976a5e8a56d8f89e823af
BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable target.bst
Program output was:
downloadable

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable import-bin.bst
Program output was:
downloadable

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable import-dev.bst
Program output was:
downloadable

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable compose-all.bst
Program output was:
downloadable

BuildStream exited with code 0 for invocation:
	bst --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 pull --deps all target.bst
Program output was:
Loading....
Resolving 4 elements....
Fetching artifact list from /builds/BuildStream/buildstream/tmp/test_push_pull_all0/artifactshare/repo
Checking 4 elements....
[--:--:--] START   Pulling 4 artifacts
[--:--:--][ffc58366][ pull:import-bin.bst  ] START   test/import-bin/ffc58366-pull.684.log
[--:--:--][5918952a][ pull:import-dev.bst  ] START   test/import-dev/5918952a-pull.685.log
[--:--:--][ffc58366][ pull:import-bin.bst  ] INFO    Downloaded artifact ffc58366
[00:00:00][ffc58366][ pull:import-bin.bst  ] SUCCESS test/import-bin/ffc58366-pull.684.log
[--:--:--][0237b356][ pull:compose-all.bst ] START   test/compose-all/0237b356-pull.686.log
[--:--:--][7e82e12a][ pull:target.bst      ] START   test/target/7e82e12a-pull.688.log
[--:--:--][5918952a][ pull:import-dev.bst  ] INFO    Downloaded artifact 5918952a
[00:00:00][5918952a][ pull:import-dev.bst  ] SUCCESS test/import-dev/5918952a-pull.685.log
[--:--:--][7e82e12a][ pull:target.bst      ] INFO    Downloaded artifact 7e82e12a
[00:00:00][7e82e12a][ pull:target.bst      ] SUCCESS test/target/7e82e12a-pull.688.log
[--:--:--][0237b356][ pull:compose-all.bst ] INFO    Downloaded artifact 0237b356
[00:00:00][0237b356][ pull:compose-all.bst ] SUCCESS test/compose-all/0237b356-pull.686.log
[00:00:00] SUCCESS Pulled 4 complete

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable target.bst
Program output was:
cached

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable import-bin.bst
Program output was:
cached

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable import-dev.bst
Program output was:
cached

BuildStream exited with code 0 for invocation:
	bst --no-verbose --config /builds/BuildStream/buildstream/tmp/test_push_pull_all0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/tmp/test_push_pull_all0 show --deps none --format %{state} --downloadable compose-all.bst
Program output was:
downloadable

In GitLab by [Gitlab user @toscalix] on Sep 24, 2018, 09:11
assigned to [Gitlab user @valentindavid]

In GitLab by [Gitlab user @valentindavid] on Oct 3, 2018, 23:41
assigned to [Gitlab user @tristanvb]

In GitLab by [Gitlab user @valentindavid] on Oct 3, 2018, 23:41
unassigned [Gitlab user @valentindavid]

In GitLab by [Gitlab user @valentindavid] on Oct 3, 2018, 23:43
[Gitlab user @tristanvb]
Do you think it is possible that a filesystem shows old files to a process running after modifications?
This looks like it was still using ostree. Do we have reasons we want to keep this issue opened?

In GitLab by [Gitlab user @valentindavid] on Nov 12, 2018, 09:07
assigned to [Gitlab user @valentindavid]

In GitLab by [Gitlab user @tristanvb] on Dec 16, 2018, 10:05
Lets close this, I haven't seen it in a long time, we can reopen if it shows up again.

In GitLab by [Gitlab user @tristanvb] on Dec 16, 2018, 10:05
closed


Support for kerberos

How to use kerberos authentication?
e.g.: how to specify the user name and the related keytab file?

Confluent has one of the better guides that walks you through the setup of a jaas.conf file for use with Kafka.  Have a look here:  https://docs.confluent.io/3.0.0/kafka/sasl.html


Updated Roadmap Dates?

Could you please update us on some rough dates for the roadmap?
That will help us on planning learning Orchard 2.0.
I really would like to learn Orchard, but I think because of fundamental changes in ASP.NET Core, I would rather wait for Orchard 2.0 to get released.
Thanks,
Sia
p.s. I'm not sure if "Issues" is the best place to post a question, sorry for that.

Hi Sia,
We dont have date for the milestones for the roadmap at the moment. The framework for O2 is influx, I know I want to change a bunch of things, and so does @sebastienros - and we have other guys working on dynamic compilation like @jtkech , @alexbocharov and @GVX111 .
I myself am looking at recipes when I get time.
What cool though, is that for module development, not an awful lot will change between O1 and O2, you still have DI concepts like IDependency, and putting a module in to the modules folder. There will be more extension points, but the big things like CI and module composition will remain the same-ish, so the transition should be that tough.
That big changes are around storing content, we dont use NHibernate anymore for example, but thats actually a good thing, and im sure you will agree on that one! - however, there will be some new concepts for you to understand around that.
My Advice is.... Learn O1... alot of what you learn from that will XFer across, and will help you learn O2 faster. If you want to get your hands dirty, then find something on the roadmap we havent done, or you would like to change, and work on it! - look at the code, and fire it up. If you want to change something, issue a PR, all PR's are welcome and we try our best to code review them all and give good feedback.

@Jetski5822
Thank you very much for the reply and explanation.
Cheers,
Sia


Crawl issue - robots.txt error / not allowed

Hi,
We're facing an issue with opensearchserver. When crawling a website, we don't see any documents get indexed. In the oss.log we found the following error logging:
11:50:28,997 ERROR: root - Circular redirect to 'https:///NL/nl/robots.txt'
11:50:28,998 ERROR: root - com.jaeksoft.searchlib.crawler.web.spider.HttpAbstract.getRedirectLocation(HttpAbstract.java:222)
We've recently upgraded to v1.5.13, comming from a previous version v1.5.8. Though the updated version does not seem to be causing the issue, since we reverted the version and the problem still occurs.
We have set the following pattern for web crawling 'https://url/*'. This does not automatically resolve the robots.txt. Using another random website url does. Even using the search does not give a result. Even no (error) logging?
A manual crawl gives us the following output:
Robots.txt status: Error
Fetch status: Not allowed
We've even enabled HTTP clien logging with the following output:
[DEBUG] PoolingHttpClientConnectionManager - Connection manager shut down
[DEBUG] PoolingHttpClientConnectionManager - Connection manager is shutting down
[DEBUG] RequestAddCookies - CookieSpec selected: best-match
[DEBUG] RequestAuthCache - Auth cache not set in the context
[DEBUG] PoolingHttpClientConnectionManager - Connection request: [route: {s}->https://url:443][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
[DEBUG] PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {s}->https://url:443][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
[DEBUG] MainClientExec - Opening connection {s}->https://url:443
[DEBUG] HttpClientConnectionOperator - Connecting to url/<IP_ADDRESS>:443
[DEBUG] HttpClientConnectionOperator - Connection established <IP_ADDRESS>:36400<-><IP_ADDRESS>:443
[DEBUG] MainClientExec - Executing request GET /robots.txt HTTP/1.1
[DEBUG] MainClientExec - Target auth state: UNCHALLENGED
[DEBUG] MainClientExec - Proxy auth state: UNCHALLENGED
[DEBUG] headers - http-outgoing-0 >> GET /robots.txt HTTP/1.1
[DEBUG] headers - http-outgoing-0 >> Host: url
[DEBUG] headers - http-outgoing-0 >> Connection: Keep-Alive
[DEBUG] headers - http-outgoing-0 >> User-Agent: OpenSearchServer_Bot
[DEBUG] headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
[DEBUG] headers - http-outgoing-0 << HTTP/1.1 301 Moved Permanently
[DEBUG] headers - http-outgoing-0 << Location: /GB/en/robots.txt
[DEBUG] headers - http-outgoing-0 << Content-Length: 0
[DEBUG] headers - http-outgoing-0 << Date: Wed, 06 May 2015 07:07:46 GMT
[DEBUG] headers - http-outgoing-0 << Server:
[DEBUG] MainClientExec - Connection can be kept alive indefinitely
[DEBUG] DefaultRedirectStrategy - Redirect requested to location '/GB/en/robots.txt'
[DEBUG] PoolingHttpClientConnectionManager - Connection manager is shutting down
[DEBUG] PoolingHttpClientConnectionManager - Connection manager shut down
[DEBUG] PoolingHttpClientConnectionManager - Connection [id: 0][route: {s}->https://url:443] can be kept alive indefinitely
[DEBUG] PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {s}->https://url:443][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
[DEBUG] PoolingHttpClientConnectionManager - Connection manager is shutting down
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
[DEBUG] PoolingHttpClientConnectionManager - Connection manager shut down
[DEBUG] PoolingHttpClientConnectionManager - Connection manager is shutting down
We're not exactly sure what is going wrong here. The robots.txt is accessible through our browser. Any hints on what might be causing the circular redirect?
Kind regards,
Joris Vanleene
PS: I've not included any production url's. If needed, plz PM me for details.

We know what is going wrong..
The version upgrade to v1.5.13 is causing the web crawl to not pick up our robots.txt.
com.jaeksoft.searchlib.crawler.web.process.WebCrawlThread has been modified (see lines below) due to issue GH-716. The change (passing a false for followRedirects, in stead of true) makes it impossible to find a robots.txt (which is, as in our case, redirected with a 301 redirect from /robots.txt to /GB/en/robots.txt).
httpDownloaderRobotsTxt = new HttpDownloader(propertyManager
.getUserAgent().getValue(), false,
propertyManager.getProxyHandler());
Can someone elaborate on why this is changed, or why this change is needed? Or might this be a bug in the software?
Can this be resolved (via configuration) in any way? Otherwise we won't be able to upgrade to newer versions in the future.

Ok, thanks for your reminder.
Handling redirection or not is not really clear.
We had a look at how Google handle that:
https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt
It seems that GoogleBot follows the redirection. Let's go back to this behavior. Give me few minutes ...

A nightly build with the fix is available here:
http://download.opensearchserver.com/OpenSearchServer_1.5/build-a0564ca/


Unexpected value no parsing preserveAspectRatio attribute.

I think "no" should be "none" but need to test.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio

(question): @stolinski, do you have a way to reproduce this or see what was happening?
I see "none" in the docs, but it would be good to test the fix how you saw it.


UPDATE functionality

Is there someway to update for example to committer email address etc or a commit message using SQL.

@pjebs I'm not sure if I understand - are you asking for an example query that includes the committer_email and message columns?

Oh - are you saying is it possible to update/modify a git repository using a SQL UPDATE statement? If so - unfortunately that's not supported, only read only queries are currently implemented

This is a feature request

Many people want to be able to do that. That would be a cool feature

I would like to advocate for this feature too. Using the standard git tool chain is not easy to modify commit metadata of multiple old commits.


Is it possible to dispatch a route internally? (Slim 3)

Can I dispatch a route in my controller and capture the response?

Yes you can do this using subRequest.
$app->get('/', function ($request, $response, $args) {
    $res = $this->subRequest('GET', '/hello');
    return $res;
});

$app->get('/hello', function ($request, $response, $args) {
    $response->write("Hello, World");
    return $response;
});

For some reason, when I do subReques I get empty response body.
class ListAction extends BaseAction
{
    public function dispatch(Request $request, Response $response, $args)
    {
        if (empty($args['filter'])) {
            $args['filter'] = 'running';
        }
        /** @var Docker $docker */
        $docker = $this->getService('docker');
        $query = [];
        if ($args['filter'] == 'all') {
            $query['all'] = 1;
        }
        $containers = $docker->getContainerManager()->findAll($query);
        foreach ($containers as &$container) {
            $container = $container->getData();
        }

        return $response->withJson($containers);
    }
}

If I hit this route view browser, I get the correct json, but if I do
$response = $this->app->subRequest($method, $uri);
var_dump($response->getBody()->getContents()

I get
""

Are you calling that inside of a route, your code doesn't show context as to where you are calling this.

I tested the code below and it works:
$app->get('/', function ($request, $response, $args) {
    $res = $this->subRequest('GET', '/hello');
    return $res;
});

$app->get('/hello', function ($request, $response, $args) {
    $response->withJson(['hello' => 'World']);
    return $response;
});

In order to var_dump the value you need to cast getBody to a string.
var_dump((string) $res->getBody());

I am not using closure for the routes. I have Action classes for each route which app is injected in.
So my routes are
$app->get('/', 'App\Action\HomeAction:dispatch')->setName('homepage');
and
$app->get('/list[/[{filter:all|running}]]', ListAction::class . ':dispatch');
And in HomeAction I call
$response = $this->app->subRequest('GET','/list');
var_dump($response->getBody()->getContents()

And I get the empty string

Ahhh!
var_dump((string) $res->getBody()); did the trick :) I thought ->getContents() would return a string

Yeah it seems stream_get_contents behave differently depending on which version of PHP it is used in, if no byte length and offset is set.
Might need to change the code in getContents to take this into consideration.

Thanks for your time!

Thank you @silentworks for the solution, But when i use subRequest  i get 404 page claiming that the page doesn't exist, by the way i'm using slim 3.0

@ismnoiet
This code should work:
$app = new \Slim\App();

$app->get('/', function ($request, $response, $args) use ($app) {
    $res = $app->subRequest('GET', '/hello');
    return $res;
});

$app->get('/hello', function ($request, $response, $args) {
    $response->write("Hello, World");
    return $response;
});

$app->run();

$this on route closure is now the container(was App on beta) and subRequest is on App.

Thank you @mathmarques  changing $this to $app worked for me :).

What if i just want to grab the result returned from an internal route call(using subRequest)  and use it inside the current route WITHOUT having the the internal route response added to the current route response object.
Example:
$app = new \Slim\App();

$app->get('/hello', function ($request, $response, $args) {
    $response->write("Hello, World");
    return $response;
});

$app->get('/', function ($request, $response, $args) use ($app) {
   $res = $app->subRequest('GET', '/hello');
   //here use  $res   ...

   // i don't want $res to be added to the current $response object
   return $response;
});
$app->run();

@ismnoiet that should already be the case, Response objects are immutable so the data shouldn't be passed over to $response unless you explicitly tell it to do so.

@silentworks i'm not getting this human expected behavior i don't know why!

I have the same issue, adding $response = new $reponse; in the master route does the work

Thanks @acidvertigo for your answer and really it did work!,
but would you like to give us a reason why overriding the $response with new $response is needed
here?.

The ""problem"" is here: https://github.com/slimphp/Slim/blob/3.x/Slim/App.php#L494-L496
If you don't provide a response object to subRequest, the function will use the response from container(not a good thing, we know, see #1780 for more).
So, if you don't want that 'body overriding' you must provide a new response object like:
$res = $app->subRequest('GET', '/hello', '', [], [], '', new \Slim\Http\Response());

Hope this help you :)

@mathmarques  :+1:

FYI; getContents() does not reset the pointer in the stream and only returns the remaining content. When casting to string it does reset the pointer so the whole body content is returned.

Hello everyone, i'm try this
$this->post('/advertiser/', function ($request, $response) use ($app) {

				$dataset 		= $request->getParsedBody();

				$result 		= $this->subRequest('POST', '/programmatic/advertisers/create/', $dataset, [], [], '', $response);
				$result 		= json_decode($result->getBody(), TRUE);

				return $result;

})->setName('programmatic-create-advertiser');

but return
Call to undefined method Slim\Container::subRequest()

$app->subRequest
however subRequest will be deprecated in slim 4.

@geggleto how do I go about implementing a subRequest when slim4 is out or interestingly any thoughts. Currently developing with slim3  and my need for subRequest is to prevent n+1 request. eg.  GET /me?include=likes,hobies,friends  of which i would like to avoid doing GET /me/likes .... and others. Actually using subRequest makes its slow has it would be fast to just implement an internal handler.

@sojimaxi  perhaps you can solve it via middleware?


README.md: document rust requirement

Fixes https://github.com/WebAssembly/wasi-sdk/issues/450

i myself is not entirely happy with the rust requirement. but it's the current reality.
i don't know how latest it needs to be. rustc 1.77.0 didn't work. rustc 1.79.0 seems ok.


Add an utility for operator benchmarks

Description
Add a tool to easily run operator benchmarks. This tool will be useful for MXNet developers, power users who wants to know more about individual operator performance. This tool can be integrated with CI/CD, nightly tests to catch any operator performance regression. Proposal on cwiki - https://cwiki.apache.org/confluence/display/MXNET/MXNet+Operator+Benchmarks

This is the first PR to setup all basic required utilities, overall structure for this operator benchmarking utility, and overall skeleton for the tool.
I have added  3 NDArray operator (add, sub, mul) and 1 Gluon (Conv2D) operator benchmark  19 NDArray operator benchmark tests - code and results markdown file autogenerated by the tool, to showcase how it can be used.
More operators will be covered in following PRs. With this PR, we will be setting up basic structure of other contributors to pitch in.
Added README explaining how to use the utility.

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X] Changes are complete (i.e. I finished coding on this PR)
[X] Code is well-documented:
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
[X] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

Utility to do operator benchmarks

Comments
@apeforest @nswamy @access2rohit @pengzhao-intel @zha0q1

Thanks for initiating this. Besides the questions below, I have some high-level questions and comments:

why is it necessary to implement all the calls by hand? this approach seems rather inefficient. is there any way to implement this more concisely?
Good point. I did think about it and was discussed by other community members on the proposal doc. Below is my thought process.

Code per operator is something like below:
add_res = run_performance_test(nd.add, run_backward=True, dtype=dtype, ctx=ctx,
                                   inputs=[{"lhs": (1024, 1024),
                                            "rhs": (1024, 1024)},
                                           {"lhs": (10000, 10),
                                            "rhs": (10000, 10)},
                                           {"lhs": (10000, 1),
                                            "rhs": (10000, 100)}],
                                   warmup=warmup, runs=runs)

run_performance_test function will provide all the necessary tools to do a benchmark and get results. User is expected to specify 2 things - operator name, inputs for the operator. Providing inputs based on what needs to be tested is a crucial part and is made explicit. Each operator can have different criteria that needs to be in performance tests. Ex: broadcasting shapes are necessary for say arithmetic operators, small / large tensors etc.
Hence, if we automate fully for example a solution like - Automatically fetch all operators registered, fetch inputs required, understand the input meanings (Ex: lhs shape is same or broadcastable to rhs shape). Such concise thing may help in having less code, but, may hide too many details and make it hard to generally use this tool, integrate it with systems like PR/Nightly benchmark dashboarding etc.
Having said that, there are certainly few rooms of improvements - like all binary operators like add,sub,mul have similar expectations and can be made concise. But, I thought, it may lead to over engineering a simple utility required to easily run benchmark test for an operator.

what happens when people implement new operators? must they implement profiling logics here too?
Yes. Not the profiling logic, but, something like below when they provide name of the operator, and specify inputs to use.

add_res = run_performance_test(nd.add, run_backward=True, dtype=dtype, ctx=ctx,
                                   inputs=[{"lhs": (1024, 1024),
                                            "rhs": (1024, 1024)}],
                                   warmup=warmup, runs=runs)

I see the PR is marked as complete despite the many TODOs in the code. I don't think the code can be checked in in this state.
Motivation of this PR as described in the description is to setup the base infrastructure for a tool to easily do operator benchmarks. Add 4 operators benchmarks in the PR setting up everything required for any community members to help it out to get more than 200 operators we have in MXNet covered. Also, reason for adding TODOs is to cover the overall skeleton and clearly put out the idea of what we want to cover next so that roadmap is clearly set.

Latest updates:

Add more operator benchmarks - ~19 tensor operations are added till now.
Support to export result as json/md
Add autogenerated results markdown file
Move everything to only test core low level operators, i.e., NDArray operators only, no Gluon.
Support to send a batch of operators for testing with same inputs.
Example - Below we run all 5 arithmetic operators performance tests in one call.

benchmark_res = run_performance_test([nd.add, nd.subtract, nd.multiply, nd.divide, nd.modulo], run_backward=True,
                                         dtype=dtype, ctx=ctx,
                                         inputs=[{"lhs": (1024, 1024),
                                                  "rhs": (1024, 1024)},
                                                 {"lhs": (10000, 10),
                                                  "rhs": (10000, 10)},
                                                 {"lhs": (10000, 1),
                                                  "rhs": (10000, 100)}],
                                         warmup=warmup, runs=runs)

Updates and clarifications in README

ping - @szha @apeforest @nswamy @access2rohit @Zha0q1 for review.

@sandeep-krishnamurthy I think it would be good to provide some type hints in this code, specially in the functions. Since we seem to move MXNet to python3 anyways, this should make the code much easier to read and maintain. What do you think?

@szha This is a valid point that we have raised internally before, the question is that this could be implemented on top of this. To me looks like a good level of abstraction and this could be a layer on top, I think that's the fundamental question that we need to ask. Operator benchmark would be very beneficial, it's also possible to get it done in stages. Rome wasn't built in a day.

@sandeep-krishnamurthy I think it would be good to provide some type hints in this code, specially in the functions. Since we seem to move MXNet to python3 anyways, this should make the code much easier to read and maintain. What do you think?

This is a nice addition. Will add it to the main user facing functions to start with.

I just had a discussion w/ @sandeep-krishnamurthy and we agreed that: 1. the ideal state should be the automated approach that uses the data types from op registrty to generate default values for performance testing, and also allow users to override and test for specific settings. 2. current approach won't help towards that goal since the automated approach would render the current approach in this PR mostly obsolete.

The next step I suggested is to start with the simplest case such as elementwise operators and build automated approach towards that.

Thanks @szha for the discussion and putting the summary here. I wanted to add few more points we discussed in the context of this PR:

We agreed that the current functionality in this PR is helpful for existing operators. For purpose like PR builds, nightly performance test CI, quick comparison tools for developers like working on Int64 etc. For which one of your suggestion was to maintain a separate repository / move it to mxnet jenkins or CI repository.
Things not favorable in this PR is that it will be an additional burden for developers adding new operators or doing breaking changes in existing operators(ex: parameters change, namespace change) to come and make modifications in this utility which we all agree is a maintenance overhead.
We also discussed with automated solution, we cannot handle every operator and every new use case in a fully automated way. So it would still be a combination of automated (TODO) + explicit tests (currently in this PR).

I just had a discussion w/ @sandeep-krishnamurthy and we agreed that: 1. the ideal state should be the automated approach that uses the data types from op registry to generate default values for performance testing, and also allow users to override and test for specific settings. 2. current approach won't help towards that goal since the automated approach would render the current approach in this PR mostly obsolete.

Also, to clarify, the current approach does not block the evolution of this tool towards automated approach. Because, at the end of the day, we still need to have utilities to run an operator, capture results, present it in consumable format. The way I was seeing it was - when we automate few of the operator benchmarks, we just delete them from the current explicit calls till then we still have it.

Updates:

Add functionality to query MXNet registry for operator.
Add an example of running 20 binary_broadcast operators without explicit operator calling.
See https://github.com/apache/incubator-mxnet/pull/14977/files#diff-bbbeb0f4b497dc86cf7f3e2e9713dc64 and https://github.com/apache/incubator-mxnet/pull/14977/files#diff-a5217faf4046473dec2565d1ee07236d

Below are the observations:

I have added the required utilities, to query MXNet registry for all registered operators.
With 20 operators, we see that whatever we have in this PR as of today can evolve to suggested ideal automated way.
Automated way to query the operator and running benchmarks cannot work for all the operators. Operators will have different inputs and input criteria. Example: Input shapes for broadcast_add cannot work for elementwise_add and so on.

This is different than just auto-generating Python API docs, because here, we need to execute so we need to know semantics of the parameters. Ex: should param1 match shape of param2.
At minimum, we need to set rules to generate inputs.

We will have a few operators like elementwise, broadcast - unary/binary operators almost covered with automated way, few complex operators like convolution, pooling, where rules for inputs are explicit.

Having, seen how this utility can be evolved. This PR having all the basic utilities and >20 operator benchmarks in automated way and few more in explicit way. @szha - Do you see any other blocking concerns?

@sandeep-krishnamurthy thanks for the update for making the efforts. I will try to review this soon

https://github.com/apache/incubator-mxnet/issues/15069

Updates:

Addressed @larroy comments.
Add support for automated unary operator benchmarks. (~54 operators)
Delete all TODO files to avoid confusion and add one readme with all todos.

@larroy @szha - Can you take a look? Thanks!

Impressive. Seems like the automation may have helped productivity. Sorry for not getting back to this earlier (been busy with events and releases). I will take a look this week. Thanks.

Could you include utility for listing the operators that are not covered, instead of writing TODO list in code?

https://github.com/apache/incubator-mxnet/pull/14977/files#diff-d7bc2931851dce319a4523bc3bb10ac7
I have a README listing things to do. I am updating it as things are progressing.

Could you include utility for listing the operators that are not covered, instead of writing TODO list in code?

I have a readme file maintaining it - https://github.com/apache/incubator-mxnet/pull/14977/files#diff-d7bc2931851dce319a4523bc3bb10ac7

Updates:

Add support for Random Sampling operators (~16)
Total operators covered => ~100

That should be maintained automaticall instead of manually in a doc.

That should be maintained automaticall instead of manually in a doc.

I understand, I was planning to do that later as I did not see that as blocker in phase 1. I can do that.
Are we good to go post that?

Updates:

Cover automated tests for reduction operators [~10].
Benchmarks for operators - pooling, conv, activations [~10]
Total operators covered so far ~130
Add utility function to give back list of operator names not covered in benchmarks.

@larroy @szha @apeforest - Can you please take a look at this PR? I would like to work towards getting this merged as I believe in the current state, this PR can add value to users and developers of MXNet. I will continue further operator coverage incrementally in new PRs.

Thanks for making the changes. The automated information from this PR would be very useful as a dashboard in our wiki (along with the public nightly test results for example).


feat: matomo tracker components

Description
Enable matomo tracker on hobbies site
Issues
Closes
DEV-XXX:
Related
Testing
Automated tests
Manual testing
Screenshots
Additional notes

Codecov Report

Merging #76 (6a6417b) into main (4695a6c) will decrease coverage by 0.13%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##             main      #76      +/-   ##
==========================================
- Coverage   79.70%   79.56%   -0.14%
==========================================
  Files         141      142       +1
  Lines        2784     2790       +6
  Branches      810      810
==========================================
+ Hits         2219     2220       +1
- Misses        564      569       +5
  Partials        1        1

Impacted Files
Coverage Δ

src/pages/index.tsx
6.25% <0.00%> (ø)

src/domain/matomoWrapper/MatomoWrapper.tsx
16.66% <16.66%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

The example of Matomo tracker has a protocol added in the baseUrl as well. In your code the baseUrl does not include the protocol at the moment and I guess that is the reason why the build process fails. https://www.npmjs.com/package/@datapunt/matomo-tracker-react


Added achievements page

This adds an easy interface for admins to add historic events to the site. Displays as a single page timeline currently.

code is fine- gotta pull it down and do a run through

looks like it broke the test suite

Removed what should be the offending test

the page doesn't refresh but the list refreshes and Year/Month/Day is pretty standard, what would you rather it be?

I think the US standard is month day year- ill call it a :whale: or whatever you say-

This looks good but (visually) looks iffy on the home page. Perhaps the "Achievements" hotlink should be moved to the menu bar instead of existing in a separate space?

Going to bump this  discussion to a new issue if you don't mind @TheoBr ?

@TheoBr please comment on #496 looks like I can't tag you since you aren't a part of the repo and you haven't commented on the issue yet


response status code with plugins.hapi-swager.response,s not shows in UI

For returning a default response, I changed the code by using plugins.hapi-swager.responses.
It works, but the response code stops being shown in UI.
Environment
"node":"8.16.0",
"npm":"6.14.11"
Steps to Reproduce
working with status code in UI, before changing to plugins.hapi-swager.responses:
const documentationDetails = {
	description: "Adds a new internal user to the " + this.productNameWithCompanyNameAndPlatform,
	response: {
		status: {
			201: joi.object({
				equals: joi.number()
			}).label("Result"),
			500: joi.any() // TODO: change 500 to default
		}
	},
	validate: {
		payload: this.generateUserSchemaForCreation()
	}
};

const options = {
		tags: ['api'],
		description: httpMethod.getDescription()
 };

// adding documentationDetails content to options
if (documentationDetails) {
	for (let key in documentationDetails) {
		options[key] = documentationDetails[key];
	}
}

code after changing to plugins.hapi-swager.responses:
const documentationDetails = {
	description: "Adds a new internal user to the " + this.productNameWithCompanyNameAndPlatform,
		"hapi-swagger": {
			responses: {
				200: {
					description: "Smooth sail",
					schema: joi.object({
						equals: joi.number()
					}).label("Result")
				},
				default: {
					description: "Error"
				}
			}
		}
	},
	validate: {
		payload: this.generateUserSchemaForCreation()
	}
};

Expected Behavior
response status code to appear in the UI
Actual Behavior
response status doesn't appear in the UI (see attachment))

what version of hapi-swagger? the UI looks older.

what version of hapi-swagger? the UI looks older.

hapi-swagger version 9.4.2.
I can't update to the latest version because of Incompatibility with other libraries.

hapi-swagger version 9.4.2.
I can't update to the latest version because of Incompatibility with other libraries.

@zaalgol  unfortunately I don't have the time to support that many versions back for this library. I will happily accept any PRs for legacy versions and release if submitted by community.

@zaalgol  unfortunately I don't have the time to support that many versions back for this library. I will happily accept any PRs for legacy versions and release if submitted by community.


Doc: AppSync

https://ion.sst.dev/docs/component/aws/app-sync/
https://ion.sst.dev/docs/component/aws/app-sync-data-source/
https://ion.sst.dev/docs/component/aws/app-sync-function/
https://ion.sst.dev/docs/component/aws/app-sync-resolver/

Done


Is it possible to make WS Monitor Quantum Compatible?

As of now, the plugin marked as in-compatible with FF 57.0 Quantum.

Hi!
Not currently - this requires a ground-up rewrite. It is tracked in #75, look there for updates

tyvm


Add my first file

I have created a new branch, created a file, and made a commit.

created a new branch, created a file, and made a commit.


Something work wrong for large sets

Maybe I just didn't get idea good enough, but it looks like bug for me:
let fzr132 = (fromList . take 132 . repeat) (pack "John Smith")
getWithMinScore 0.72 (fzr132 `add` (pack "Joseph Dombrowski")) (pack "Joe Dombrowski")
-- [(0.8235294117647058,"Joseph Dombrowski")]
let fzr133 = (fromList . take 133 . repeat) (pack "John Smith")
getWithMinScore 0.72 (fzr133 `add` (pack "Joseph Dombrowski")) (pack "Joe Dombrowski")
-- []

More information:
let fzr133 = (FZ.fromList . take 133 . repeat) (DT.pack "Nebraska")
FZ.getWithMinScore 0.72 (fzr133 `FZ.add` (DT.pack "Nevada")) (DT.pack "Devada")

works.
let fzr133 = (FZ.fromList . take 133 . repeat) (DT.pack "Nebraska")
FZ.getWithMinScore 0.72 (fzr133 `FZ.add` (DT.pack "Nevada")) (DT.pack "Nevoda")

doesn't work.

Thanks for the report. I haven't touched this library for a while, but it definitely looks like a bug. I'll look into it.

Thank you!
I belive it's somewhere here https://github.com/laserpants/fuzzyset-haskell/blob/master/src/Data/FuzzySet/Internal.hs#L29 , but I don't know algorithm good enough to be sure.
But will try to understand how this magic is supposed to work. :)

The algorithm is adopted from here, and indirectly here.
But looking at this now, I'd like to clean up the code and get rid of the Unicode syntax. The only part I am happy about are the docblocks.

@DKurilo I am working on a refactor branch that I plan to merge shortly. You can have a look at it, if you're still interested. It is an effort to clean up the code and improve overall readability. I've refactored most of the Data.FuzzySet.Internal module, and as far as I can see, this bug is no longer present. I added your code above as a test case. (The tests are still a mess, but the rest of the code should hopefully be a lot easier to follow now.)

@laserpants , great! Thank you.
Will try refactored version soon.

@laserpants , I tried to use refactored version. It works fine.
Thank you.

Thanks, I'll merge into master and push this to Hackage as version 0.2.0 once I've updated the docs.


rename COPYING to LICENSE

It's an unwritten rule to use COPYING for copyleft licenses (such as GPL) and LICENSE for non-copyleft licenses (such as MIT or BSD).
Also I changed the formatting slightly to match the template used at Github as this formatting seems to be what most projects are using nowadays.

Not sure how widespread this is, e.g. Bitcoin Core has a COPYING file too.
BTW the upstream repository for univalue is at https://github.com/jgarzik/univalue

See referenced PR to Bitcoin Core.

Closing in favor of https://github.com/jgarzik/univalue/pull/18


  Or compile with debug symbols.  Is this reproducible somehow, eg. in valgrind or gdb?  If so that would be nice, or perhaps verbosity 4 logging of the events preceding the failure?

Problem is I only see that on heavily loaded production email servers where I can't experiment. Upgraded to new snapshot from previous one last night and more than half of the servers had unbound crash this morning.

The debug symbol package should only affect the printout and not the running server.  On some package systems this is just a package you can install next to it, with the debug symbols, it would make all the anonymous unbound+xx functions have a name.

I know - but I can't run crashing version on production. I downgaded already to previous working commit.

Ok. I downgraded unbound on one server to crashing version and installed debuginfos - we can only hope it hits the issue.

Thanks!

Crahser happened this fast first time but no better backtrace, installing abrtd to get proper coredump.

(gdb) bt full
#0  0x00007f0d130b22c7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
resultvar = 0
pid = 25268
selftid = 25273
#1  0x00007f0d130b39b8 in __GI_abort () at abort.c:90
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x7f0d13204071, sa_sigaction = 0x7f0d13204071}, sa_mask = {__val = {3,<PHONE_NUMBER>28315, 5,<PHONE_NUMBER>79495, 1,
139694132188209, 3,<PHONE_NUMBER>28292, 12,<PHONE_NUMBER>88213, 2,<PHONE_NUMBER>88213, 2,<PHONE_NUMBER>28976,<PHONE_NUMBER>28976,<PHONE_NUMBER>30736}}, sa_flags = 4,
sa_restorer = 0x7f0d10122ed0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f0d130f4e17 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f0d13205492 "*** %s ***: %s terminated\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:196
ap = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7f0d101233c0, reg_save_area = 0x7f0d101232d0}}
ap_copy = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7f0d101233c0, reg_save_area = 0x7f0d101232d0}}
fd = 2
on_2 =
list =
nlist =
cp =
written =
#3  0x00007f0d13193b67 in __GI___fortify_fail (msg=msg@entry=0x7f0d1320547a "stack smashing detected") at fortify_fail.c:30
No locals.
#4  0x00007f0d13193b22 in __stack_chk_fail () at stack_chk_fail.c:28
No locals.
#5  0x0000556a51981351 in dname_query_hash (dname=0x7f0cf875fcb2 "", h=654970236) at util/data/dname.c:295
labuf = "\240\373u\370\f\177\000\000"\000\000\000\000\000\000\000\020\000\001", '\000' <repeats 14 times>, "\001", '\000' <repeats 29 times>
lablen =
i =
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Hi bleve,
Another person has reported a similar bug report.  His bug report included information that makes me conclude there was a build failure.  Did you make clean?  Can you rebuild in a new directory?  Can you disable link time optimizations with --disable-flto option for configure.  Or disable more optimizations with CFLAGS="-g" and (if you passed custom compile flags) not pass other optimizer flags?
That should give a cleaner stack trace or maybe fix the bug if it is related to compiler processing. With CFLAGS="-g3" for configure there is even more debug information.  The performance is not really that different (I mean, not like high levels of logging and so on, the compiler optimizer is obviously good at making it faster, but the non-optimized code can run too).

I build rpm packages in mock build which is completely clean for all builds.

And previous commit id works just fine with exactly same build falgs.

That is excellent.  So I would like to disable the optimizations, eg. custom CFLAGS with optimization options, and with --disable-flto passed to configure.... what really?

You mean that last commit, I mean that one commit is the cause of the problem?  Or you mean the older version that you cited above built fine.  Yeah I guess the code changed in the meantime...

I mean the previous non-problematic commit id works.

Ok, but I still think it could be the optimizer.  Could try optimization options disabled.  Or could try to 'bisect' to search which commit(s) cause the problem, eg. what caused the problem to appear.

Used build flags are:
CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1  -m64 -mtune=generic -fPIE -pie'
CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1  -m64 -mtune=generic -fPIE -pie'
LDFLAGS='-Wl,-z,relro,-z,now -pie'

I cna bisect that but it takes some time, it takes about one hour to crash and there is about five steps to bisect.

Okay thanks for the build flags.  So the --disable-flto flag to configure disables another optimization argument that is added by configure and not in the list put there.  Trying that or the bisect could maybe show up something, or show a better stack trace (i.e. #6 is not ??).

I removed -O2 and added --disable-flto for bisect builds. d4f697f1 was good.

Tested with latest git to make sure I get crash with new build options.
(gdb) bt full
#0  x86_64_fallback_frame_state (context=0x7f5f300758c0, context=0x7f5f300758c0, fs=0x7f5f300759b0) at ./md-unwind-support.h:58
pc = 0x100000000 <Address 0x100000000 out of bounds>
sc =
new_cfa =
#1  uw_frame_state_for (context=context@entry=0x7f5f300758c0, fs=fs@entry=0x7f5f300759b0) at ../../../libgcc/unwind-dw2.c:1253
fde = 0x0
cie =
aug =
insn =
end =
#2  0x00007f5f2f670fb9 in _Unwind_Backtrace (trace=0x7f5f330e2f20 <backtrace_helper>, trace_argument=0x7f5f30075b70) at ../../../libgcc/unwind.inc:290
fs = {regs = {reg = {{loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED} <repeats 18 times>}, prev = 0x0, cfa_offset = 0, cfa_reg = 0,
cfa_exp = 0x0, cfa_how = CFA_UNSET}, pc = 0x0, personality = 0x0, data_align = 0, code_align = 0, retaddr_column = 0,
fde_encoding = 0 '\000', lsda_encoding = 0 '\000', saw_z = 0 '\000', signal_frame = 0 '\000', eh_ptr = 0x0}
context = {reg = {0x0, 0x0, 0x0, 0x7f5f300764e8, 0x0, 0x0, 0x7f5f300764f0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f5f30076410, 0x7f5f30076418,
0x7f5f30076420, 0x7f5f30076428, 0x7f5f300764f8, 0x0}, cfa = 0x7f5f30076500, ra = 0x100000000, lsda = 0x0, bases = {tbase = 0x0, dbase = 0x0,
func = 0x5574cf3d0710 <dname_query_hash>}, flags =<PHONE_NUMBER>427387904, version = 0, args_size = 0, by_value = '\000' <repeats 17 times>}
code =
#3  0x00007f5f330e3096 in __GI___backtrace (array=array@entry=0x7f5f30075d50, size=size@entry=64) at ../sysdeps/x86_64/backtrace.c:107
arg = {array = 0x7f5f30075d50, cfa =<PHONE_NUMBER>11504, cnt = 4, size = 64}
once = 2
#4  0x00007f5f33047e34 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f5f33158492 "*** %s ***: %s terminated\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:176
addrs = {0x7f5f33047e34 <__libc_message+1012>, 0x7f5f330e6b67 <__GI___fortify_fail+55>, 0x7f5f330e6b22, 0x5574cf3d07d7 <dname_query_hash+199>,
0x1, 0x7f5f336bae68 <int_rsa_verify+808>, 0x7f5f30075ed0, 0x7f5f198859e0, 0x339f7f00, 0x7f5f1987f160, 0x33, 0x339f7f0000000020,
0xed1bffff7bfac1d3, 0x7f5f19885a13, 0x7f5f1987f160, 0xb120852805306200, 0x7f5f198851a0, 0x7f5f19590ec0, 0x20,
0x5574cf420151 <ub_crypto_lock_cb+162>, 0x80, 0x1871987c97d, 0x7f5f337a6c8f, 0xa0000000a, 0xa, 0x337a6c8f, 0x7f5f337a6c8f,
0x7f5f33625f56 <CRYPTO_add_lock+102>, 0x7f5f1986f510, 0x18719590ec0, 0x7f5f19884540, 0x7f5f336dd589 <getrn+137>, 0x7f5f19884540,
0x5574d042edb0, 0x6, 0x5574cf420151 <ub_crypto_lock_cb+162>, 0x7f5f19885200, 0x152198851a0, 0x7f5f3375e50e, 0xa00000002, 0x5574d120e590, 0x6,
0x6, 0x5574cf420151 <ub_crypto_lock_cb+162>, 0x6, 0x20530076bc8, 0x7f5f3375e50e, 0x7f5f19864eb0, 0x1, 0x7f5f30076bc8, 0x0, 0x7f5f19886100,
0x7f5f30075fd0, 0x5574cf3d0198 <query_dname_compare+154>, 0x5574cf4e2ad1, 0x0, 0x0, 0x0, 0x7f5f30075f60,
0x5574cf3d8471 <query_info_compare+116>, 0x7f5f19238220, 0x7f5f300760c0, 0x7f5f18000960, 0xffffffff5d0331cf}
n =
ap = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7f5f30076440, reg_save_area = 0x7f5f30076350}}
ap_copy = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7f5f30076440, reg_save_area = 0x7f5f30076350}}
fd = 2
on_2 =
list =
nlist =
cp =
written =
#5  0x00007f5f330e6b67 in __GI___fortify_fail (msg=msg@entry=0x7f5f3315847a "stack smashing detected") at fortify_fail.c:30
No locals.
#6  0x00007f5f330e6b22 in __stack_chk_fail () at stack_chk_fail.c:28
No locals.
#7  0x00005574cf3d07d7 in dname_query_hash (dname=0x7f5f188a4156 "", h=569085103) at util/data/dname.c:295
labuf = "\177", '\000' <repeats 22 times>, "\b", '\000' <repeats 39 times>
lablen = 0 '\000'
i = 127
#8  0x0000000100000000 in ?? ()
No symbol table info available.
#9  0x0000000000000000 in ?? ()
No symbol table info available.

So that #8 looks like it is no information at all.  Is it stripping information from the executable or something?  Or the other options damage the stack trace somehow?  CFLAGS="-g" without the other options (that excludes the frame protection), perhaps that gives a better backtrace?  Perhaps try that after the bisect.

There is no other app, just unbound caching dns.

over here we decided to downgrade to 1.8.3 in the meantime

Hi Antonio,
Thanks for reporting.  You are downgrading to 1.8.3 for the same reason (that is SIGABORT)?

git bisect start
good: [2a78803049b022087cf0a4a88c5f8f04a985c30a] - Fix wrong query name in local zone redirect answers with a CNAME,   the copy of the local alias is in unpacked form.
git bisect good 2a78803049b022087cf0a4a88c5f8f04a985c30a
bad: [a4f4d7b6ba3d56f8d3277bfe5c4cb2808fd4f8d9] - Fix to guard _OPENBSD_SOURCE from redefinition.
git bisect bad a4f4d7b6ba3d56f8d3277bfe5c4cb2808fd4f8d9
good: [d4f697f16058d07013700e5481beeb892a7edc43] Merge branch 'master' into features/XoT
git bisect good d4f697f16058d07013700e5481beeb892a7edc43
good: [779b86fb229b68dfcdd2b3438298d4ec5d08e94b] - Fix doxygen output error on readme markdown vignettes.
git bisect good 779b86fb229b68dfcdd2b3438298d4ec5d08e94b
good: [310396190b5ba088470bfa3a06569c91fbbb6ebd] - Fix #31: swig 4.0 and python module.
git bisect good 310396190b5ba088470bfa3a06569c91fbbb6ebd
bad: [a03f0a388eafdbea4b7361c8415ee3df3808d77d] - Fix double file close in tcp pipelined response code.
git bisect bad a03f0a388eafdbea4b7361c8415ee3df3808d77d
bad: [0b77c9d6763686264d44dfd926c8cb4f2f03a43a] - Fix that spoolbuf is not used to store tcp pipelined response   between mesh send and callback end.
git bisect bad 0b77c9d6763686264d44dfd926c8cb4f2f03a43a
skip: [1c3ba0cef7acf7ee633596fd1fc573bb2f316a05] - Note that so-reuseport at extreme load is better turned off,   otherwise queries are not distributed evenly, on Linux 4.4.x.
git bisect skip 1c3ba0cef7acf7ee633596fd1fc573bb2f316a05
only skipped commits left to test
possible first bad commit: [0b77c9d6763686264d44dfd926c8cb4f2f03a43a] - Fix that spoolbuf is not used to store tcp pipelined response   between mesh send and callback end.
possible first bad commit: [1c3ba0cef7acf7ee633596fd1fc573bb2f316a05] - Note that so-reuseport at extreme load is better turned off,   otherwise queries are not distributed evenly, on Linux 4.4.x.
possible first bad commit: [310396190b5ba088470bfa3a06569c91fbbb6ebd] - Fix #31: swig 4.0 and python module.
possible first bad commit: [a08fe8ca609b651c8d8c8379780aad508d492421] - Attempt to fix malformed tcp response.
possible first bad commit: [a95f5fd5cbd25898dd412670b3a1228af0d6ed45] - Squelch log messages from tcp send about connection reset by peer.   They can be enabled with verbosity at higher values for diagnosing   network connectivity issues.
possible first bad commit: [a922a19d70b148002342dd6707a73fdfcfb64b2e] - Revert fix for oss-fuzz, error is in that build script that   unconditionally includes .o files detected by configure, also   when the machine architecture uses different LIBOBJS files.
possible first bad commit: [a8d0177b36bb320d54d799aef712e117ba74c453] - Attempt to fix build failure in oss-fuzz
good: [1c3ba0cef7acf7ee633596fd1fc573bb2f316a05] - Note that so-reuseport at extreme load is better turned off,   otherwise queries are not distributed evenly, on Linux 4.4.x.
git bisect good 1c3ba0cef7acf7ee633596fd1fc573bb2f316a05
first bad commit: [0b77c9d6763686264d44dfd926c8cb4f2f03a43a] - Fix that spoolbuf is not used to store tcp pipelined response   between mesh send and callback end.

Now testing with commit 0b77c9d reverted to verify bisect.

Thanks for reporting. You are downgrading to 1.8.3 for the same reason (that is SIGABRT)?

yes, for the very same reason on both our 1.9.1 instances

This issue is not in 1.9.1. You are talking about different issue which has been fixed already.

you mean this one is a different issue?
May 29 11:11:44 ns2-rec kernel: pid 78000 (unbound), uid 59: exited on signal 6

That is different because that issue we are talking here is introduced in last two weeks in git version.

Can you get a backtrace from your crasher?

well, as previously mentioned, we just downgraded to 1.8.3 so currently we're no more observing that issue.
will report updates, of course

No crashes since reverting commit bisected bad commit.

Thank you very much for the bisect!  The commit has to be removed.  Issue is that the bug it fixes needs a different fix now...

Fix with the original fix and a fix for the fix, this makes several error cases also use the correct buffer. In https://github.com/NLnetLabs/unbound/commit/6067ce6d2b82ce2e80055e578fdfd7ba3e67c523
That should work without the bisect commit removed.  And I intend to release that in the rc2, and that to become the release.  (Further fixes either as rc3 or for the release after, I want to get the current bugfixes out).

Testing fix, I'll report back in few hours.

Looks good in production.

Wow Thanks!  That is good to hear, since rc2 already contains it, that should go to the released version soon.  I'll close the issue then.


HYD-7213 Exceptions found in agent logs for known conditions

We should be able to rely on finding any exceptions in the chroma agent
logs as being indications of defects.  We have even periodically
discussed having the test framework fail tests if exceptions are found
in the agent log(s).
This unfortunately is not quite true (yet).
There are expected exceptions when the agent scan starts before
Pacemaker has been installed.  Rather than letting these pollute the
logs, we should catch them.
Signed-off-by: Brian J. Murrell<EMAIL_ADDRESS>Change-Id: I9f8aa9165a34c89f7942dde05c5597a563b42c1d

An additional note, check your commit hooks, this patch has a change-id.


robot_systemd: 0.1.2-1 in 'melodic/distribution.yaml' [bloom]

Increasing version of package(s) in repository robot_systemd to 0.1.2-1:

upstream repository: https://github.com/LucidOne/robot_systemd.git
release repository: https://github.com/LucidOne-Release/robot_systemd.git
distro file: melodic/distribution.yaml
bloom version: 0.9.0
previous version for package: null

robot_systemd
* Removed pre-emptive conflict
* Added TasksMax=infinity
* Added KillSignal=SIGINT
* Added documentation

No response in over a month.  I'm going to close this out, but feel free to fix the issues pointed out during review and re-open.  Thanks for the contribution.


[NF] Import mesh from .unv + updates in Meshsolution

Dear contributors,
The PR deals with the following features:

Import method to load mesh from .unv files (introduce dependancy to pyuff) @mglesser
is_show_axes (set to False by default for backward compatibility) option implemented in MeshSolution.plot_mesh() @mglesser
Use getter to extract mesh and field adapted to pyvista. For this purpose, a "is_squeeze" option was introduced in get_field from Solution classes. @Superomeg4
A lot of code cleaning: update some methods docstring, and sort Simulation/Validation tests by physics. @Superomeg4

All "not long" tests ok (except 2 related to Elmer)
Black ok
This PR must be accepted AFTER the update of pyuff (I'll give the update through the comments)
This PR must be accepted AFTER the PR #337

Pyuff has been updated dependency to new version updated in requirements.txt

Thank you for your contribution :)


fix: delete from s3 in chunks

When pruning old S3 objects, we ran into an issue where more than 1000 keys are attempted to be deleted at once which results in an error.
From AWS docs "The request can contain a list of up to 1000 keys that you want to delete."
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-objects.html
This PR chunks the delete by batches of 1000 at a time to avoid the error.

bump
This is causing our team quite the headache, would love to have this fix out soon

@V01D-NULL, I haven't had time to test out this change myself. Have you tested out the fix? If it works for both of you independently, then I'm comfortable merging.

@bestickley I was able to build and deploy a package to npm just to test it.
The bug fix works, and everything else went smoothly.
It's an all clear from me!


Images failing to render if the URL must be resolved to the image

Is this a bug report or a feature request?
Bug report
Have you read the guidelines regarding bug report?
Yes
Have you read the documentation in its entirety?
Yes
Have you made sure that your issue hasn't already been reported/solved?
Yes
Is the bug specific to iOS or Android? Or can it be reproduced on both platforms?
Unknown - only able to test on Android
Is the bug reproductible in a production environment (not a debug one)?
Yes
Have you been able to reproduce the bug in [the provided example]
I have not tried the demo, but I have it reproduced in a Snack.
Environment
Environment:
React: 16.3.2
React native: 0.55.2
react-native-render-html: 3.9.3
Target Platform:
Android (7.0)
Steps to Reproduce

Create a string containing HTML Markup, with an image tag whose src points to a url which is resolved into the image.

Expected Behavior
Image should render.
Actual Behavior
An empty area with a border where the image should render is present.
Reproducible Demo
https://snack.expo.io/HyRLyKGpz

It looks like this URL : http://www.ravelry.com/forum-images/RoadTripKnits/32dmo-dx5lho redirects you to a login page if you're not already logged into your account in your browser.
If you're redirected to the image directly, I guess you're just authenticated on your side. The behavior of this module looks fine to me.

Ah yeah, you're right. Having to be authenticated completely slipped my mind. I'll have to handle this a different way. Thanks.


Don't hard fail if the azure environment variables aren't set

Do a os.environ.get("EXAMPLE") instead of os.environ["EXAMPLE"], which means there's a default of None retrieved and failure is less immediate and fatal on importing function.

I probably should've given you a chance to approve me moving that azure stuff in there. I think this is fine for import, but if None is passed instead it will obv cause an error. Absent a better solution, is it ok to just test for none and raise the exception here?

Yeah, I know it'll raise and exception, but that's when a function is called instead of on import.

I can add a check for None in the function if you like?
Or could move the environment variable getting into there too... maybe that's better.

It actually doesn't appear to raise an exception until later (an invalid container client is returned). I think it'd be better to raise the error so the default value is still in the function sig. But for just us using it that may be pedantic. How about just
def get_container_client(
    storage_account: str = os.environ.get("AZURE_STORAGE_ACCOUNT"),
    container_name: str = "output",
    credential: str = os.environ.get("AZURE_STORAGE_SAS_TOKEN"),
) -> ContainerClient:
    if storage_account is None:
        raise ValueError("'None' is not a valid value for 'storage_account'. Pass a valid name or set the 'AZURE_STORAGE_ACCOUNT' environment variable")
    # same for credential...
    return azure.storage.blob.ContainerClient(
        f"https://{storage_account}.blob.core.windows.net",
        container_name=container_name,
        credential=credential,
    )

Yep, that works for me.
We're the arguments are evaluated on import, but not again until you use the function!


how to create map_vertical.svg

i'm using figma to generate path of the map, but looks like svg generator from figma has different style of generating svg
here's my svg code from figma
<svg width="251" height="1656" viewBox="0 0 251 1656" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="251" height="1656" fill="#E5E5E5"/>
<rect width="375" height="6231" transform="translate(-70 -359)" fill="white"/>
<path d="M21 1L103 14.5L165 46L214 109.5L240.5 177.5L248 255.5V342.5L204 428L119.5 378V278L94 177.5L6 278V396.5V506.5L30 612.5L96.5 665L204 684L248 768.5L204 848L130.5 877L50 897L1 951.5V1081.5V1192V1295.5V1421.5L94 1411.5V1275.5L144.5 1173.5L168.5 1322L195 1449.5L249.5 1560.5L180 1643.5L40 1655" stroke="black"/>
</svg>

how do you generate those svg from example? thankyou

I'm very interesting this library, but I don't know how to generate the SVG map. Could you please share us how to do it? Thank you so much

Change the width and height of the SVG that is in the example repository and change the points in the polylyne for yours, that worked for me


Revenj.Http.exe.config

I got this error when i run composer install
Script DslPlatform\Installer::installRevenj handling the post-install-cmd event terminated with an exception
[ErrorException]
file_get_contents(./revenj/Revenj.Http.exe.config): failed to open stream:
No such file or directory
I dont know what to do

If you have your own instance of Revenj I think you can remove those three steps from: https://github.com/ngs-doo/dsl-client-php/blob/master/composer.json#L30
Until @nutrija chims in why that fail, I will assume you don't need that at all, since that looks like .NET version of it.


Setting innerHtml of head causes Exception

This issue was originally filed by @op3dot

Setting the innerHtml of head like:
querySelector('head').innerHtml = '';
or
document.head.innerHtml = '';
causes the following exception:
"NotSupportedError: The range's container is 'head', which is not supported."
and the inner html of head remains unchanged.
In JavaScript however doing document.head.innerHTML = '' works. No errors and the empty string gets set.
I am not familiar with the standard so I don't know what is expected, but since JavaScript allows it should be the same in dart.
I am using Windows 8.0 and the exception occurs in dart sdk 1.4.2 and 1.5.0-dev.4.11

Setting innerHtml of head no longer throws.


fix: BaseEdge UntrackPort method that wasn't unregistering GeometryCh…

…angedEvent callbacks properly

A quick glance at the TrackPort method and the error becomes obvious 😸


Selenium Script added

Basic Selenium Script added to automate simple processes like logging in a particular website!

@vshan kindly review!


size of \rvert

Browser: Firefox for Windows
In Mozilla Torture Test 14, the size of \rvert seems too large
Screenshot:

on the left is MathML generated by Temml
LaTeX:
\bigg(\frac{\partial^2}
{\partial x^2} + \frac
{\partial^2}{\partial y^2}
\bigg) \big\lvert\varphi
(x+iy)\big\rvert^2

MathJax:
$$\bigg(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}\bigg) \big\lvert\varphi(x+iy)\big\rvert^2$$
Fred Wang’s Mozilla MathML Test

Interesting. I'll look into it.

Fixed now. Thanks for raising this issue.


Minor fix for parsing empty D8

Minor patch for converting zero-length strings to python values in D8 elements (dates).
Previous behavior raised a ValueError trying to convert '' to an int, then to a datetime.date - now returns None.
This now matches the existing behavior for DR elements (datetime values).

Updated __version__ and added a note to README.MD to bump to 0.3.5