Pass manager refactoring: cleanup internals

Summary
This PR cleanups internals of the pass manager and flow controllers. 2 of 2 PRs.
Details and comments
This is the overhaul of current pass control machinery. The points of the overhaul are:

Common base class for pass and flow controller with execute method

Conventionally flow controller also had a responsibility of single pass execution. In new implementation, a common base class OptimizationTask defines the execute method, and responsibility of pass execution is delegated to pass itself. In addition, the running pass manager (pass runner) is consolidated into the flow controller execute method. This drastically simplifies the internals of pass execution management.

Introduction of PassState data structure

Conventionally pass execution is managed by a single pass runner instance, and thus instance variables can be used to manage the state of pass execution (e.g. property set, count, completed passes). In new implementation, the pass execution is delegated into multiple flow controllers, and thus the state information is aggregated into single portable data structure PassState which is handed over passes through execute method.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

429 of 458 (93.67%)  changed or added relevant lines in 12 files are covered.
14 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.01%) to 85.946%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/passmanager/propertyset.py
20
22
90.91%

qiskit/passmanager/base_pass.py
47
50
94.0%

qiskit/transpiler/runningpassmanager.py
66
69
95.65%

qiskit/passmanager/passmanager.py
76
80
95.0%

qiskit/passmanager/passrunner.py
69
76
90.79%

qiskit/passmanager/flow_controllers.py
81
91
89.01%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
90.25%

qiskit/transpiler/passmanager.py
2
92.64%

crates/accelerate/src/vf2_layout.rs
3
94.74%

crates/qasm2/src/lex.rs
3
91.65%

qiskit/transpiler/fencedobjs.py
4
81.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
71413

Relevant Lines:
83091

💛  - Coveralls

PR is rebased since #10124 is merged. Now this PR is ready for review.

Thanks Jake! I didn't intend to do such overhaul in the beggining, but what you suggested in the review comment looked reasonable to me and decided to follow your guide. Indeed there is no semblance of past implementation in the current PR, but I also like current version.
In addition to your comment, I also tweaked the FlowController. This originally had two roles of pass factory and flow control, and user can also subclass the FlowController. This causes edge cases and brings awkward syntax -- for example, user can call a factory method of controller from generated controller, developer can make a subclass of the controller implementing the factory method that relies on the class variables. In the current PR, the responsibility of flow control is delegated to new base class BaseFlowController and developer must subclass this base class. FlowController becomes a simple pass factory (we may want to remove this in the future).

(sorry, I'm part way through a re-review here, but need to step away for a while - I'll put another comment when I'm done typing all my responses)

Ok, I've now replied to everything.  In large part I'm happy with this: my remaining questions are almost exclusively about the FlowController setup.  The two important comment threads to me are: https://github.com/Qiskit/qiskit/pull/10127#discussion_r1330152316 and https://github.com/Qiskit/qiskit/pull/10127#discussion_r1330194632.

Thanks @jakelishman for the comments and code suggestions. I think I've addressed all your concerns.

Thanks @jakelishman for another round of review. I should have noticed abc.ABCMeta. This is done in ed9a8d7 and now class hierarchy is much friendly for IDE. Also thanks for the docs PR. I hope the PR is ready for final review.


Access temporary dataview links

One of the things I love about this plugin is the temp links it creates. I can make MOCs without cluttering my graph, for example.
But now having tried out the list from [[note]] feature, there are times where I would actually like a page with a temporary link to note to appear in the results of the query. I'm not sure if that makes sense.
Is it possible to include a toggle tempLinks, for example, to indicate that any notes with temp links should count when querying for that link?

Temporary links? Do you mean links generated by dataview, or links to files which don't exist?

I may be using the wrong terminology.
Links created by dataview.
If a dv codeblock in note [[A]] creates a "temp" link to note [[B]], then there are some cases where I would like list from outgoing([[A]]) to return [[B]], even tho this "outgoing link" isn't a real Obsidian link.

I honestly don't think this is doable at all. #1279 seems like the same thing.


nginx scrap not working

i added
- job_name: 'nginx'
    scrape_interval: 1s
    static_configs:
         - targets: ['<IP_ADDRESS>:9913']

to prometheus/conf/prometheus.yml
but when i open <IP_ADDRESS>:9090 and query to get data for this job, nothing is showen,
i already tested the same config on docker-compose locally using prometheus and everything worked properly,
just to now the address is hosted on the internet and everything work properly

Prometheus doesn't know how to scrape metrics directly from nginx, you'll need to use a Prometheus 'exporter' service that knows how to talk to nginx to read it's internal metrics format and present it as a scrape-able source to Prometheus. It looks like nginx provides one:
https://github.com/nginxinc/nginx-prometheus-exporter
And I see other community Prometheus exporters for nginx stats such as https://github.com/hnlq715/nginx-vts-exporter

https://www.martin-helmich.de/de/blog/monitoring-nginx.html
Try ths one!
If you need a separate logfile: nginx allows you to add multiple access_log entries on the same level! n the same bloc

Hello!
I have a same problem with posgres scrap.
I use 'exporter' service (this one https://github.com/wrouesnel/postgres_exporter/issues) and add to prometheus/conf/prometheus.yml:
  - job_name: 'postgre_exporter'
    static_configs:
      - targets: ['localhost:9187']

and as next step - rebuild docker stack (docker stack deploy -c docker-compose.yml mon)
but when i try to get data for this job in prometheus, nothing is showen, and in web (Prometheus -> Status -> Configuration).
in http://xxx.xxx.xxx.xxx:9187/metrics i can see all metric info.
What am i doing wrong?

If your prom is running in a container, localhost:9187 will resolve to that prom container's <IP_ADDRESS> address. If you are running prom and postgres as Docker compose services inside the same Docker swarm overlay network, you should be able to have prom scrape the service name as listed in compose, .e.g. postgres:9187. Otherwise, you may need to expose the postgres container's port 9187 to the Docker host network, and address prom towards either a Docker node IP or DNS record, or a round-robin DNS record for some or all of your swarm hosts.

Thank you for your answer!
I changed that section in prometheus/conf/prometheus.yml to
  - job_name: 'postgre_exporter'
    static_configs:
      - targets: ['<IP_ADDRESS>:9187']

and did docker stack deploy -c docker-compose.yml mon
but nothing happened - seems like prometheus doesn't recieve a new configuration

Ok, i did it!
But:

I needed to restart stack with --web.enable-lifecycle flag in docker-compose.yml (prometheus section) - for reload prometheus configuration with curl
In container with Prometheus (with docker exec) i added in config file in /etc/prometheus/prometheus.yml this:

  - job_name: 'postgres-exporter'
    dns_sd_configs:
    - names:
      - 'cranky_keldysh'
      type: 'A'
      port: 9187

where is cranky-keldysh is a name of container with postgres_exporter
I hope, my expirience will help someone.


GAMS language causes freezing, high CPU usage, and inevitable RangeError when parsing specific strings

The issue I am seeing is with this particular string (or similar ones): I t...
In certain scenarios, using an ellipsis will cause the auto highlighter to loop through the languages and when it gets to GAMS, it locks up the browser. Chrome Canary is the only one that eventually gets out of the endless loop with a RangeError.
You can reproduce this in 9.10 by running: hljs.highlight('gams', 'I t...')

Can you confirm if this is still an issue or not?  Thanks, Josh.

Should be fixed:
https://github.com/highlightjs/highlight.js/commit/d05317a8bc9ad2335bd4b7709e507314546836b1#diff-dbb0a20b500e16aeef15c7f6aa7b78d5


Allow serializers to add metadata

With this change Serializers can provide metadata like::
class PostSerializer implements SerializerInterface
{
    // ...

    public function getMeta() {
        return ['some' => 'metadata'];
    }
}

Resolves #64

Perfect, thanks!


Support array of objects class definition syntax

Vue supports defining classes with an array that contains both strings and objects:
<input
	type="submit"
	:class="[
		'flex justify-center w-full px-4 py-2 text-sm font-medium text-white transition-colors border border-transparent rounded-md shadow-sm',
		{
			'bg-brand-600 hover:bg-brand-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-brand-500': !form.processing,
			'bg-brand-500 cursor-not-allowed': form.processing
		}
	]"
	v-text="$t('auth.login.attempt_sign_in')"
/>

It seems that FormKit doesn't support this syntax: see an example on the playground.

Thats correct, formkit does not support that syntax.

I suppose the follow up is — should it be? We already support lots of class sytaxes that are not supported by vue, like functions, so im not sure parity is what we are going for, but if this is a common use case or something that has really important edge cases im not opposed to it I suppose.

I think it should be supported, it's a very handy syntax which I think improves DX quite a bit. Without this syntax, it's a bit verbose when there are a few conditional classes and a few non-conditionals (which happens frequently with Tailwind).

This is really a convenient way of styling with class-based frameworks such as Tailwind. I guess the next time I try FormKit and stumble upon this, I'll PR it, would that be okay?

Yes, I think we would be happy to accept a PR for that.

Perfect then!


how to use structural templates?

Hi there,
I can't seem to find any examples that show how to create template features. We are trying to dock two proteins, one of which has an experimentally determined structure. The default inference script yields a poor prediction of that monomer's internal conformation, and a low-confidence dock. I was thinking that including template information for that monomer might improve the docking.
Any little example (doesn't have to be extensive or perfectly documented) would be a big help. Thank you!

OK, thanks for the info. I will look forward to the release!

Hi @jackdent is there any update on this?

@phbradley examples for restarints were recently merged, and you can adapt those to condition folding on information about monomers

@arogozhnikov Is this really the case though? The code seem to reference restraints only for inter chain contacts for training, rather than intra chain contacts, but maybe I am mistaken.

just try with intra-chain, according to external feedback it works too

Thanks i'll give it a try!

Hi there, these restraints will definitely be useful, thank you! But I think with just a tiny bit of information I can fill out the TemplateContext myself (and others too). In particular, within TemplateContext,
template_distances[t,i,j] -- is this the Calpha-Calpha distance (or pseudo Cbeta-Cbeta?) between aligned rsds i and j in template t?
template_unit_vector[t,i,j] -- is this the unit vector from rsd i to rsd j? If so, is it defined between Calpha atoms? And is it in the global reference frame or in some kind of local reference frame defined by the residue frame of rsd i (or j)?
The other info seems mostly self-explanatory. Thanks for any info! Happy to share code back here if it works.
@jackdent @arogozhnikov

template_distances[t,i,j] -- is this the Calpha-Calpha distance (or pseudo Cbeta-Cbeta?) between aligned rsds i and j in template t?

pseudo CB

template_unit_vector[t,i,j] -- is this the unit vector from rsd i to rsd j? If so, is it defined between Calpha atoms? And is it in the global reference frame or in some kind of local reference frame defined by the residue frame of rsd i (or j)?

We use the local reference frame, yes. If you need a quick way to produce these see here
rigids = Rigid.make_transform_from_reference(n_pos, ca_pos, c_pos)
rigid_vec = rigids[..., None].invert_apply(rigids.get_trans())
# normalize to unit vectors...

Awesome, thanks so much @MattMcPartlon ! One gotcha, there was a bug in openfold in that function (make_transform_from_reference) until this commit:
https://github.com/aqlaboratory/openfold/commit/4bd1b4d548dcf43dc40c1cc2ee4af0b3678b370a#diff-4bb8b92ccd6ab38684f733efb68c443fc117bfd99bfb0cc4fe8633c53506c308
For anyone else doing this, see Matt's code up above for making the template unit vectors (changing template_unit_vecs to template_vecs after the = in the last line. The template_distances are between pseudo_CB atoms (CA for glycine, CB for everything else, see openfold/utils/feats.py:pseudo_beta_fn

@phbradley
I'm curious how these variables should be constructed: template_restype, template_pseudo_beta_mask, template_backbone_frame_mask, and if I wanted to build a multimer template would it make any difference.
Looking forward to your reply!


After the nvm installation in the macbook, nvm: command not found, The following is the solution.

create .bash_profile file
cd ~
touch .bash_profile

open the file you just created
open .bash_profile

paste the following code inside the file
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh

run the source command after saving
source .bash_profile

then enter the command
nvm --version

Then the version number of nvm will appear.
Nvm of official github readme.md can't solve the problem of command not found.
To install nvm, i am use the install script cURL.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

My macbook pro 2019 was bought yesterday.
According to my method, the problem that command not found, on my MacBook Pro is solved.
The solution is reproduced from https://github.com/SunXinFei/sunxinfei.github.io/issues/6#issue-306510213

I’m not really sure what you’re saying here.
On a new Mac, you definitely may have to create bash_profile before running the install script - as documented in the readme.

@ljharb
I followed the instructions in the readme file.
Maybe the readme file is correct but Maybe I misunderstood the contents of the readme file.
The code in the readme file is
NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

I wrote this code into the .bash-profile file, run the ‘source .bash-profile’ command, and run the 'nvm --version' command, prompting 'comman not found'.
According to the method of issue #2060, after running nvm --version will display the version number of nvm normally.
Maybe I misunderstood the contents of the readme file.If this issues is bothering you, I apologize to you, I am very sorry.
My native language is not English. Maybe the language barrier has caused some resistance to my correct understanding of the contents of the readme file.I will work harder to learn English in the future.
If this is a useless issues, please turn it off and I don't want it to affect other developers.
Thank you!

I'm specifically referring to the https://github.com/nvm-sh/nvm#install--update-script section, under the third "note":

On OS X, if you get nvm: command not found after running the install script, one of the following might be the reason:

your system may not have a .bash_profile file where the command is set up. Simply create one with touch ~/.bash_profile and run the install script again
you might need to restart your terminal instance. Try opening a new tab/window in your terminal and retry.

@ljharb
you are right.
My computer does not have a .bash_profile file before running the install script.
I created the .bash_profile file after running the install script.
So the code is different from yours,
Your code is
NVM_DIR = "${XDG_CONFIG_HOME / - .$HOME /} NVM"
[-s"$NVM_DIR / nvm.sh"] && \. "$NVM_DIR / nvm.sh"#This will load nvm

After running the installation script, I created the .bash_profile file and entered the code different from your code into the ".bash_profile" file.
This is my problem, I will close this issue after 10 minutes to avoid the position of this issues ahead of other issues.
I apologize to you.

No problem at all, glad we cleared it up :-)

@ljharb
nice!

btw it has a typo, you need to change source bash-profile to source bash_profile

Thanks, fixed.

awesome ! you saved my day.

Nice!

Thank you!! This is works for me!


Jira Templates being ignored

Bug description
When Jira templates (jira_full or jira_limited) are modified, it doesn't impact on new tickets creation. Docker images must be rebuilt in order for the changes to have effect, which is not the desired behaviour.
Steps to reproduce
Steps to reproduce the behavior:

Edit any template file such as templates/issue-trackers/jira_limited/jira_description.tpl
restart docker containers
Create new jira instance using webUI (with jira_limited as template)
Configure the new created jira instance (with jira_limited as template from the drop down menu)
create new finding and push it
check ticket description

Expected behavior
Ticket description should match jira template
Deployment method (select with an X)

[ x] Docker Compose
[ ] Kubernetes
[ ] GoDojo

Environment information

DefectDojo version 2.15.1

In some respects, that's kinda how Docker works - the images are meant to be ephemeral and not to persist changes.
You've got a couple of choices if you want to keep data around after a docker 'restart'
(1) Re-build the container as you mention above with your changes and use that container.  I generally build all the containers I use in prod locally just so I know what goes into them and can replicate the process in case the upstream images disappear. So, this is what I'd do FWIW.
(2) Use a volume to place your customizations into the container (could be a Docker volume or a bind-mount from the host)
(3) Launch the 'normal' DefectDojo container, use docker cp to move in your customized template into the container then save that running container as a new image.  Update docker-compose to use your new image and your changes should be there. Its sort of another way to build a custom image.  See https://www.howtogeek.com/devops/how-to-create-a-docker-image-from-a-running-container/
Its possible that in future releases the entrypoint script for DefectDojo may take updated jira templates and make them available without rebuilding the containers but that PR hasn't been written by someone yet.
HTH

Hi. I actually bind mounted the /app/templates (dojo/templates) DIR to a docker host's dir. When I change the template it's not reflected. I can see that the files in the docker container are actually changed (by running docker exec...).
It doesn't happen the same if I edit, for example, a report template, where after I restart uwsgi container, it takes the changes immediately.

Oh, very interesting.  I've not experimented with the Jira templates myself so haven't tried to to the bind mount you described.
That is an odd behavior that you experienced. I can try to find time to try out the Jira templates of hopefully someone else will chime in on the Jira templates.  Maybe @Maffooch has used them.

I believe this is just a behaviour. When Jira templates are modified, the docker container must be rebuilt.


fix: Pass localIdentifier to browserstacktunnel-wrapper

A recent change broke the ability to run tests parallely using multiple BrowserStackLocal binary instances.
This fix restores that functionality.
The browserstacktunnel-wrapper module requires the localIdentifier option set, whereas the browserstack module requires the tunnelIdentifier option when creating a browser-worker.

Thanks :octocat:


Fix for: Reset Bookmark Feature Throws Error #57

Hi, I have replaced the BrowserRouter to HashRouter, 404 page from github was due to the server not being not able to understand  the subdomain with /bookmarks, only /gocanalyzer is configured in github pages, setting hashrouter remove the post # characters and possibly sending the request to github pages server as https://sparsh1212.github.io/gsocanalyzer/ hence the index.html file is obtained.😊

Also please revert all the linter warning fixes. Let's keep this PR to what the issue is about. Once, this gets fixed, we can file a separate issue to take care of all the warnings.

Also please revert all the linter warning fixes. Let's keep this PR to what the issue is about. Once, this gets fixed, we can file a separate issue to take care of all the warnings.

fix done 😄

@iamrahulrnair Please take a look at the comments added and also can you please attach a demo video that proves that it is fixing the bug.

This fix can only be tested on deployment, this is specific to GitHub-pages.

Hi, I have replaced the BrowserRouter to HashRouter, 404 page from github was due to the server not being not able to understand the subdomain with /bookmarks, only /gocanalyzer is configured in github pages, setting hashrouter remove the post # characters and possibly sending the request to github pages server as https://sparsh1212.github.io/gsocanalyzer/ hence the index.html file is obtained.😊

Out of curiosity, can please share any reference from where you got that insight. I'd love to read more about it.

Hi, I have replaced the BrowserRouter to HashRouter, 404 page from github was due to the server not being not able to understand the subdomain with /bookmarks, only /gocanalyzer is configured in github pages, setting hashrouter remove the post # characters and possibly sending the request to github pages server as https://sparsh1212.github.io/gsocanalyzer/ hence the index.html file is obtained.😊

Out of curiosity, can you please share any reference from where you got that insight? I'd love to read more about it.

check this, read notes on client-side-routing

LGTM!


Feat:Home page UI and navabr

Describe the feature
there is not home page when user visit first time website user might think it take time to laod website if there is no home page is present
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Satyam1923  please assign me this issue under GSSOC'24 .I want to work on this issue

@Satyam1923  please assign me to work on the frontend of home page according to the figma design under gssoc'24

Please assign this issue to me. I want to work upon this!

@Satyam1923 Please assign me this task i can help you with this

@AakankshaSarode check the new design the what all changes you want to do.

@AakankshaSarode  do this task asap.

@Satyam1923 I would really like to contribute to this issue. Kindly assign this to me under my GSSoC'24.

I would like to work on this issue. Please assign it to me under GSSOC'24.

@Satyam1923 Please assign this issue to me under GSSoC24.

I would like to work on this issue under gssoc.
Please assign me this issue

i would like to work on this issue under GSSOC'24

Inactive issue.


OnPush DetectionStrategy

I'm submitting a ...
[ ] bug report
[X ] feature request
[ ] question about the decisions made in the repository

Does it real to use ng2-toasty with ChangeDetectionStrategy.OnPush? When i use OnPush, the message doesn`t dissappear after timeout.
I inject ChangeDetectorRef service  in your code , call ref.detectChanges() and everything was OK, but AoT fail.

makeToastyNotification(type: string, title: string, msg: string) {
    const toastOptions: ToastOptions = {title, msg} as ToastOptions;
    this.toastyService[type](toastOptions);
    this.cd.markForCheck();
    setTimeout(() => {
      this.cd.markForCheck();
    }, this.toastyConfig.timeout);
  }

help me. Close.


[Enhancement] Add HTTP API pipeline_blocking_drivers

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Problem Summary(Required) ：

Note that, the thread PipelinerDiverPoller uses a local blocking queue. To get information from the blocking queue, expose this local blocking queue, and use a read-write lock to avoid race condition.
Add HTTP GET API /api/pipeline_blocking_drivers/stat to fetch information about blocking drivers.
It will return a JSON with the following format:
{
    "queries_not_in_workgroup": [{
        "query_id": "str",
        "fragments": [{
            "fragment_id": "str",
            "drivers": [{
                "driver_id": "int",
                "state": "str",
                "driver_desc": "driver=addr, status=str, operator-chain: [op1->op2->op3]"
            }]
        }]
    }],
    "queries_in_workgroup": []
}

An example for the BugFix #12454 is as follows:
{
    "queries_not_in_workgroup": [
        {
            "query_id": "0fe350d9-550b-11ed-8e38-00163e00accc",
            "fragments": [
                {
                    "fragment_id": "0fe350d9-550b-11ed-8e38-00163e00accd",
                    "drivers": [
                        {
                            "driver_id": 4,
                            "state": "PRECONDITION_BLOCK",
                            "driver_desc": "driver=0x7f7a769ecb10, status=PRECONDITION_BLOCK, operator-chain: [olap_scan_prepare_0_0x7f7a769eb710(O) -> noop_sink_0_0x7f7a769ec110(O)]"
                        },
                        {
                            "driver_id": 9,
                            "state": "PRECONDITION_BLOCK",
                            "driver_desc": "driver=0x7f7a740c1190, status=PRECONDITION_BLOCK, operator-chain: [olap_scan_0_0x7f7a71d53310(O) -> chunk_accumulate_0_0x7f7a75958110(O) -> hash_join_probe_2_0x7f7a75958d90(O)(HashJoiner=0x7f7a757a9b90) -> chunk_accumulate_2_0x7f7a740a7790(O) -> project_3_0x7f7a740a9590(O) -> hash_join_probe_5_0x7f7a740a9f90(O)(HashJoiner=0x7f7a757acd90) -> chunk_accumulate_5_0x7f7a740aa990(O) -> project_6_0x7f7a740ab390(O) -> aggregate_blocking_sink_7_0x7f7a740abd90(O)]"
                        },
                        {
                            "driver_id": 10,
                            "state": "INPUT_EMPTY",
                            "driver_desc": "driver=0x7f7a740c2810, status=INPUT_EMPTY, operator-chain: [aggregate_blocking_source_7_0x7f7a740c1690(O) -> exchange_sink_8_0x7f7aa7345810(O)]"
                        }
                    ]
                }
            ]
        }
    ],
    "queries_in_workgroup": []
}

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

starrocks_be_unittest succeeded.

run starrocks_admit_test

starrocks_be_unittest succeeded.

run starrocks_admit_test


fixed inadvertently in README

I only fixed a typo
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This got fixed as part of #101.


Donate modal animation

Donate modal is rendered/animated twice when invoked

Steps to reproduce.

Complete at least 9 challenges.
See modal once per session.

alternatively, change this line to true and get the modal after completion of each challenge.
https://github.com/freeCodeCamp/freeCodeCamp/blob/293e58cc235db6d313a16e03e18739362f89a250/client/src/redux/index.js#L138

Just in case someone tackle this before I get back to it.
it seems like the app gets updated after the donate modal is up. so that might be causing the flashing.


Appstudio update test-component-pac-bhro

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-bhro-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
16 seconds
clone-repository

✅ Succeeded
37 seconds
build-container

✅ Succeeded
11 seconds
deprecated-base-image-check

✅ Succeeded
11 seconds
inspect-image

✅ Succeeded
5 minutes
clair-scan

✅ Succeeded
38 seconds
clamav-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
13 seconds
label-check

✅ Succeeded
7 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-component-pac-bhro-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
27 seconds
build-container

✅ Succeeded
12 seconds
inspect-image

✅ Succeeded
10 seconds
deprecated-base-image-check

✅ Succeeded
11 seconds
clair-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
38 seconds
clamav-scan

✅ Succeeded
10 seconds
label-check

✅ Succeeded
12 seconds
show-summary

✅ Succeeded
8 seconds
show-sbom


can not use the spicyserver

invalid ID or something and could anyone tell me how to use jupyterhub ,there is some username and password which I don't know how to get .I tried the dockerhub account ,didn't work .
Thank you for your time

jupyterhub isn't a project that we support - Please see their github:
https://github.com/jupyter/jupyterhub

Thanks
On Wed, Aug 5, 2015 at 11:53 AM, FrenchBen<EMAIL_ADDRESS>wrote:

jupyterhub isn't a project that we support - Please see their github:
https://github.com/jupyter/jupyterhub
—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/891#issuecomment-128047417
.

Since these issues are unrelated to kitematic, can you close it and https://github.com/kitematic/kitematic/issues/892 also?
Thanks

Sorry ,but no, the issue that leads to this is actually the failure of
access scipyserver .I can not use scipyserver through kitematic now.By the
way , do you think a stronger internet access can help?
On Wed, Aug 5, 2015 at 12:05 PM, FrenchBen<EMAIL_ADDRESS>wrote:

Since these issues are unrelated to kitematic, can you close it and #892
https://github.com/kitematic/kitematic/issues/892 also?
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/891#issuecomment-128051512
.

@estheryou does Kitematic show it as running? That server may require you to set the username and password for the specific server.  In this case you can find the settings within Kitematic's environment variable settings.
Unfortunately, I cannot help further as it's a problem with the way that particular repo is set up. Please try contacting the creators of that project.
Thanks!
Michael


Nice to have: Code Execution

Added Code Execution folder into frontend/components/CodeEditor
Updated package.json to include Monaco editor and Monaco themes
Todo:
Integrate with backend, pull questions, template code, test cases from db
Add custom input functionality (Currently can type into the input box but input is not being run)
Maybe upgrade to show multiple test cases instead of just one if time permits
Temporarily removed select theme and language function, may add back if needed

we already have a code editor btw... no need to implement code editor again


Fix definition of hasJurisdiction

"when laws and contracts are meeted out"

Definition seems wrong altogether
"meted" not "meeted"

+1
I agree the definition should change, and I'm good with the local name change as well.

+1
I agree the definition should change, and I'm good with the local name change as well.

@uscholdm There's no domain or range stated - though possibly we could define an appropriate domain. If you're referring to my proposed scope note, that can be reworded:
"While colloquially 'jurisdiction' is sometimes used in relation to geographic areas, such as jurisdiction over the State of Colorado, legal jurisdiction pertains to the administrative area rather than the geographic one."

The United States District Court for the Eastern District of New York has federal jurisdiction over the counties of Kings, Nassau, Queens, Richmond, and Suffolk.
The FDA Office of Criminal Investigations has jurisdiction over the Federal Food, Drug, and Cosmetic Act (FDCA) and the Federal Anti-Tampering Act (FATA).

@uscholdm There's no domain or range stated - though possibly we could define an appropriate domain. If you're referring to my proposed scope note, that can be reworded:
"While colloquially 'jurisdiction' is sometimes used in relation to geographic areas, such as jurisdiction over the State of Colorado, legal jurisdiction pertains to the administrative area rather than the geographic one."

The United States District Court for the Eastern District of New York has federal jurisdiction over the counties of Kings, Nassau, Queens, Richmond, and Suffolk.
The FDA Office of Criminal Investigations has jurisdiction over the Federal Food, Drug, and Cosmetic Act (FDCA) and the Federal Anti-Tampering Act (FATA).

It seems there are three things going on.

who has the power, authority or is responsible. Normally it would be a legal body, but not necessarily. Also, I could imagine a person rather than an organization having the authority.
what is authorized -- typically the right to enforce laws and administer justice, but maybe the right to make policies or regulations.  There could be a number of things.
the context in which the authority holds.  Often a geographic region. Could be a particular law or a general topic for which many laws apply (e.g. illegal drugs).

So maybe Jurisdiction is really a ternary relationship that we want to stuff into a binary property by combining the latter two things?   A binary property would not allow a nice way to capture the commonality between:

O1 hasJuristiction over LAW 1 in Oregon
O2 hasJuristiction over LAW 1 in Texas
O3 hasJuristiction over LAW 2 in Texas

Its not often one comes up with a genuine ternary relation. The only other commercially interesting example I know of is a material having  particular purpose when used in a given product (from P&G). For example:

M1 used as a emulsifier in P1
M2 used as a emulsifier in P2
M3 used as a solvent in P2

It seems there are three things going on.

who has the power, authority or is responsible. Normally it would be a legal body, but not necessarily. Also, I could imagine a person rather than an organization having the authority.
what is authorized -- typically the right to enforce laws and administer justice, but maybe the right to make policies or regulations.  There could be a number of things.
the context in which the authority holds.  Often a geographic region. Could be a particular law or a general topic for which many laws apply (e.g. illegal drugs).

So maybe Jurisdiction is really a ternary relationship that we want to stuff into a binary property by combining the latter two things?   A binary property would not allow a nice way to capture the commonality between:

O1 hasJuristiction over LAW 1 in Oregon
O2 hasJuristiction over LAW 1 in Texas
O3 hasJuristiction over LAW 2 in Texas

Its not often one comes up with a genuine ternary relation. The only other commercially interesting example I know of is a material having  particular purpose when used in a given product (from P&G). For example:

M1 used as a emulsifier in P1
M2 used as a emulsifier in P2
M3 used as a solvent in P2

@uscholdm I like this analysis. The ternary relationship sounds good to me.

@uscholdm I like this analysis. The ternary relationship sounds good to me.

Name changed to hasJurisdictionOver in PR #535

Change definition. Add scopeNote indicating that if users need more complexity they can define a materialized ternary relationship.

Local name and label changed in gist 10.0.0. This issue now involves only the definition.

I've just noticed that the predicate seems to mean the opposite of what I thought, and that therefore the name change to hasJurisdictionOver was incorrect. The definition of Contract is:
gist:Contract
	a owl:Class ;
	owl:equivalentClass [
		a owl:Class ;
		owl:intersectionOf (
			gist:Agreement
			[
				a owl:Restriction ;
				owl:onProperty gist:hasJurisdictionOver ;
				owl:someValuesFrom gist:GovernmentOrganization ;
			]
		) ;
	] ;
.

Changing hasJurisdiction to hasJurisdictionOver implies the opposite, and wrong, meaning.  New issue #637 created for the bug fix.

Covered in #640


[DDW-708] Fix Loading Screen icons

This PR fixes the Loading Screen icons.
Todos

[x] Add Loading screen Storybook story
[x] Fix icon sizes

Screenshots

Testing Checklist

Slack QA thread
[ ] Test if the Loading Icons sizes and spacing match the screenshots above

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

in blue theme color is strange

this have such styles:
bottom - 60px
size: 16px
font: light
in zeplin it's:
bottom 64px
size: 18px
font: regular

https://zpl.io/V0J5l3R - sync/load tooltips
https://zpl.io/bAlyNGq - rest ui tooltips

syncing and loading screens have a bit different color of the tooltip than the rest of the UI. Here it looks the same. Should we care about this? Or which approach should we use here to minimise colors and variables?

syncing and loading screens have a bit different color of the tooltip than the rest of the UI. Here it looks the same. Should we care about this? Or which approach should we use here to minimise colors and variables?

@a-rukin since we've already worked on this custom set of colors, I'd say we leave it like this.


'contrail-api is not ready' keystone error upon deploying

Deploying Contrail 4.0.2 with charm version 4.0.2 (https://github.com/Juniper/contrail-charms/tree/v4.0.2) I see a race condition between keystone being ready and contrail-controller's status.
For example in an earlier deployment I see the following juju status output:
contrail-analytics/0*      active    idle       0        <IP_ADDRESS>  8081/tcp                    Unit is ready
contrail-analytics/1       active    idle       1        <IP_ADDRESS>  8081/tcp                    Unit is ready
contrail-analytics/2       active    idle       2        <IP_ADDRESS>  8081/tcp                    Unit is ready
contrail-analyticsdb/0*    active    idle       0        <IP_ADDRESS>                              Unit is ready
contrail-analyticsdb/1     active    idle       1        <IP_ADDRESS>                              Unit is ready
contrail-analyticsdb/2     active    idle       2        <IP_ADDRESS>                              Unit is ready
contrail-controller/0*     waiting   idle       0        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  contrail-api is not ready. Reason: (Generic Connection:Keystone[] connection down)
contrail-controller/1      active    idle       1        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  Unit is ready
contrail-controller/2      active    idle       2        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  Unit is ready
...
keystone/0                 active    idle       0/lxd/2  <IP_ADDRESS>  5000/tcp                    Unit is ready
  keystone-hacluster/1     active    idle                <IP_ADDRESS>                              Unit is ready and clustered
keystone/1*                active    idle       1/lxd/1  <IP_ADDRESS>  5000/tcp                    Unit is ready
  keystone-hacluster/0*    active    idle                <IP_ADDRESS>                              Unit is ready and clustered
keystone/2                 active    idle       2/lxd/1  <IP_ADDRESS>  5000/tcp                    Unit is ready
  keystone-hacluster/2     active    idle                <IP_ADDRESS>                              Unit is ready and clustered

The contrail-status of contrail-controller/0 controller container is:
root@vm01(controller):/# contrail-status
== Contrail Control ==
contrail-control:             active
contrail-named:               active
contrail-dns:                 active
contrail-control-nodemgr:     active
== Contrail Config ==
contrail-api:                 initializing (Generic Connection:Keystone[] connection down)
contrail-schema:              active
contrail-svc-monitor:         backup
contrail-device-manager:      active
contrail-config-nodemgr:      active
== Contrail Config Database==
contrail-database:            active

== Contrail Web UI ==
contrail-webui:               active
contrail-webui-middleware:    active
== Contrail Support Services ==
zookeeper:                    active
rabbitmq-server:              active               (disabled on boot)

Status of contrail-api service:
root@vm01(controller):/# systemctl status contrail-api
● contrail-api.service - "Contrail API"
   Loaded: loaded (/etc/systemd/system/contrail-api.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-01-29 16:30:25 UTC; 1h 3min ago
 Main PID: 6210 (contrail-api)
   CGroup: /docker/8d82bfea60d74d7325c61d8aada757590e3986f85956541a277b3fdb65994b7d/system.slice/contrail-api.service
           └─6210 /usr/bin/python /usr/bin/contrail-api --conf_file /etc/contrail/contrail-api.conf --conf_file /etc/contrail/contrail-keystone-auth.conf --conf_file /etc/contrail/contrail-database.conf
           ‣ 6210 /usr/bin/python /usr/bin/contrail-api --conf_file /etc/contrail/contrail-api.conf --conf_file /etc/contrail/contrail-keystone-auth.conf --conf_file /etc/contrail/contrail-database.conf

Jan 29 17:30:43 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:30:43] "GET /obj-perms HTTP/1.1" 200 1433 5.241167
Jan 29 17:31:08 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:31:08] "GET /obj-perms HTTP/1.1" 200 1433 0.485130
Jan 29 17:31:09 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:31:09] "GET /obj-perms HTTP/1.1" 200 1433 0.563039
Jan 29 17:31:16 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:31:16] "GET /obj-perms HTTP/1.1" 200 1433 0.439417
Jan 29 17:32:35 vm01 contrail-api[6210]: WARNING:keystonemiddleware.auth_token:Authorization failed for token
Jan 29 17:32:35 vm01 contrail-api[6210]: WARNING:keystonemiddleware.auth_token:Identity response: {"error": {"message": "Failed to validate token", "code": 404, "title": "Not Found"}}
Jan 29 17:32:35 vm01 contrail-api[6210]: WARNING:keystonemiddleware.auth_token:Authorization failed for token
Jan 29 17:32:35 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:32:35] "GET /obj-perms HTTP/1.1" 401 296 0.172918
Jan 29 17:32:36 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:32:36] "GET /obj-perms HTTP/1.1" 200 1433 0.547319
Jan 29 17:33:04 vm01 contrail-api[6210]: <IP_ADDRESS> - - [2018-01-29 17:33:04] "GET /obj-perms HTTP/1.1" 200 1433 1.031016

You can see contrail-api process tries to contact keystone api and gets a 404.
If I restart the contrail-api service it fixes the issue:
root@vm01(controller):/# systemctl restart contrail-api

root@vm01(controller):/# systemctl status contrail-api
● contrail-api.service - "Contrail API"
   Loaded: loaded (/etc/systemd/system/contrail-api.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-01-29 17:35:12 UTC; 57s ago
  Process: 18784 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 18788 (contrail-api)
   CGroup: /docker/8d82bfea60d74d7325c61d8aada757590e3986f85956541a277b3fdb65994b7d/system.slice/contrail-api.service
           └─18788 /usr/bin/python /usr/bin/contrail-api --conf_file /etc/contrail/contrail-api.conf --conf_file /etc/contrail/contrail-keystone-auth.conf --conf_file /etc/contrail/contrail-database.conf
           ‣ 18788 /usr/bin/python /usr/bin/contrail-api --conf_file /etc/contrail/contrail-api.conf --conf_file /etc/contrail/contrail-keystone-auth.conf --conf_file /etc/contrail/contrail-database.conf

Jan 29 17:35:33 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:33] "GET / HTTP/1.1" 200 19925 0.165177
Jan 29 17:35:33 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:33] "GET /domains?count=False&shared=False&detail=False HTTP/1.1" 401 296 0.000677
Jan 29 17:35:34 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:34] "POST /fqname-to-id HTTP/1.1" 200 156 0.370906
Jan 29 17:35:34 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:34] "GET /domains?count=False&shared=False&detail=False HTTP/1.1" 200 280 0.342067
Jan 29 17:35:34 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:34] "POST /fqname-to-id HTTP/1.1" 200 156 0.220784
Jan 29 17:35:34 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:34] "GET /projects?count=False&shared=False&detail=False HTTP/1.1" 200 301 0.182554
Jan 29 17:35:34 vm01 contrail-api[18788]: /usr/lib/python2.7/dist-packages/keystoneauth1/adapter.py:136: UserWarning: Using keystoneclient sessions has been deprecated. Please update your software to use keystoneauth1.
Jan 29 17:35:34 vm01 contrail-api[18788]:   warnings.warn('Using keystoneclient sessions has been deprecated. '
Jan 29 17:35:37 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:37] "GET /global-system-configs HTTP/1.1" 200 327 0.142752
Jan 29 17:35:38 vm01 contrail-api[18788]: <IP_ADDRESS> - - [2018-01-29 17:35:38] "GET /global-system-configs HTTP/1.1" 200 327 0.254563

root@vm01(controller):/# contrail-status
== Contrail Control ==
contrail-control:             active
contrail-named:               active
contrail-dns:                 active
contrail-control-nodemgr:     active
== Contrail Config ==
contrail-api:                 active
contrail-schema:              active
contrail-svc-monitor:         backup
contrail-device-manager:      active
contrail-config-nodemgr:      active
== Contrail Config Database==
contrail-database:            active

== Contrail Web UI ==
contrail-webui:               active
contrail-webui-middleware:    active
== Contrail Support Services ==
zookeeper:                    active
rabbitmq-server:              active               (disabled on boot)

ubuntu@contrail-maas-2-0:~/bundles/4.0.2$ juju status contrail-controller
Model    Controller       Cloud/Region  Version  SLA
default  maas-controller  maas          2.3.2    unsupported

App                   Version     Status  Scale  Charm                 Store  Rev  OS      Notes
contrail-analyticsdb  <IP_ADDRESS>-35  active      3  contrail-analyticsdb  local    0  ubuntu
contrail-controller   <IP_ADDRESS>-35  active      3  contrail-controller   local    0  ubuntu

Unit                     Workload  Agent  Machine  Public address  Ports                       Message
contrail-analyticsdb/0*  active    idle   0        <IP_ADDRESS>                              Unit is ready
contrail-analyticsdb/1   active    idle   1        <IP_ADDRESS>                              Unit is ready
contrail-analyticsdb/2   active    idle   2        <IP_ADDRESS>                              Unit is ready
contrail-controller/0*   active    idle   0        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  Unit is ready
contrail-controller/1    active    idle   1        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  Unit is ready
contrail-controller/2    active    idle   2        <IP_ADDRESS>  8080/tcp,8082/tcp,8143/tcp  Unit is ready
...

So it appears there's a race condition between keystone being available for api requests and the status of contrail-controller.
I'm not really sure why contrail-controller gets permanently stuck in an error state. That is probably the actual bug here.

I found the original bug filed by me :)


Using Knex query builder to create WITH recursive query results in javascript heap out of memory error

Describe the bug
When using knex to execute a with recursive table, I  am getting a javascript heap out of memory error. I am trying to query records from a Postgresql table which contain hierarchical records represented by a column parent_id (integer) and path (ltree)
Stack trace
<--- Last few GCs --->
2023-04-20T07:52:12.308375034Z [94:0x7fb7dd8c91c0]   288224 ms: Mark-sweep (reduce) 2045.1 (2081.4) -> 2044.1 (2081.7) MB, 2319.8 / 0.0 ms  (average mu = 0.243, current mu = 0.008) allocation failure; scavenge might not succeed
2023-04-20T07:52:12.308378048Z [94:0x7fb7dd8c91c0]   291440 ms: Mark-sweep (reduce) 2045.3 (2081.7) -> 2044.4 (2081.9) MB, 3199.4 / 0.0 ms  (average mu = 0.117, current mu = 0.005) allocation failure; scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
To Reproduce
Steps to reproduce the behavior:
      const qb = this.em.createQueryBuilder(AppFeature, "parent_features");
      const knex = qb.getKnexQuery();
      // Recursive query to get all enabled parent features and enabled sub features of the parent
      knex.withRecursive('parent_features', (qry) => {
        qry.select('parent.*')
          .from({parent: 'master.app_features'})
          .where({'parent.parent_id': 0, 'parent.is_enabled': true})
          .unionAll((qry) => {
            qry.select('child.*')
              .from({child: 'master.app_features'})
              .where('child.is_enabled', true)
              .innerJoin('parent_features', 'child.path', '@>', 'parent_features.path')
          })
      }).select('*').fromRaw('parent_features');

Execute query against database connection:

      const dbConnection = this.em.getConnection();
      return await dbConnection.execute(knex);

Expected behavior
The query should execute and return the results. When the sql is directly executed against the database table, the query works fine.
Additional context
Running the same query as a raw query via knex also results in the same heap out of memory error
Versions
"@mikro-orm/core": "^5.1.5",
"@mikro-orm/postgresql": "^5.1.5",
"@mikro-orm/reflection": "^5.1.5",
"@nestjs/bull": "^0.6.3",
"@nestjs/common": "^9.1.4",
"@nestjs/config": "^2.2.0",
"@nestjs/core": "^9.1.4",

Dependency
Version

node
18.14.2

typescript
4.9.5

mikro-orm
5.1.5

your-driver
?

Running the same query as a raw query via knex also results in the same heap out of memory error

Yes, so knex issue, report is there please.


Bundle webapp as AMD for use with require.js

it's nice. Can you make min file so I can use it in NGLView? I am not familiar with JS packaging (there are so many ways :D)
https://github.com/arose/ngl/blob/master/examples/webapp.html#L17-L23

it needs

examples/js/lib/*
examples/js/ui/*
examples/js/gui.js
examples/css/*
examples/fonts/*

it's nice. Can you make min file so I can use it in NGLView?

Needs to be an AMD bundle as far as I can tell.

nglview will be stick with ipywidgets and jupyterlab for now.


WIP: [Flaky] 3188 test

Signed-off-by: Bartosz Rybacki<EMAIL_ADDRESS>
What this PR does / why we need it:
Test: [sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] Starting a VirtualMachineInstance with a DataVolume as a volume source Alpine import should accurately report DataVolume provisioning
fails sometimes, need to investigate if the test is flaky or there is a real issue.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Improving test reporting - Investigating the issue, trying to run locally and in the CI env. The commit with real fix should follow.
Release note:

NONE

Hey @brybacki! Thanks for your work!
When a PR is still under work and not ready for review, It's best to mark it as a draft PR. This way reviewers will know not to review it yet.
For draft PRs the test lanes don't start to run automatically, but you can run them manually by either doing
/test <TEST-NAME>
Or:
/test all
Thanks!

Right, forgot to click the draft button ;)

Right, forgot to click the draft button ;)

Well, it's not too late :)

Right, forgot to click the draft button ;)

Well, it's not too late :)

interesting, I was looking for this, and in the meantime I have added WIP to the title.

interesting, I was looking for this, and in the meantime I have added WIP to the title.

Thanks!

/test pull-kubevirt-e2e-k8s-1.23-sig-storage-nonroot

pull-kubevirt-e2e-k8s-1.22-sig-storage

/test pull-kubevirt-e2e-k8s-1.22-sig-storage

/test pull-kubevirt-e2e-k8s-1.21-sig-storage
/test pull-kubevirt-e2e-k8s-1.22-sig-storage
/test pull-kubevirt-e2e-k8s-1.23-sig-storage

finally, it failed, I can check the new reports.
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/7634/pull-kubevirt-e2e-k8s-1.22-sig-storage/1534424372658311168

/retest

@mhenriks can you take a look?

After talking with @xpivarc and looking at the logs, I think this is what happens:
VM is created, then it should show Provisioning. But sometimes when the virt-controller errors more than once on "the object has been modified; please apply your changes to the latest version and try again", then we can miss the PrintableStatus == provisioning, because the next time it reconciles, it will see DV Succeeded and will show status Stopped (https://storage.googleapis.com/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/7634/pull-kubevirt-e2e-k8s-1.22-sig-storage/1534424372658311168/artifacts/k8s-reporter/3/pods/1_kubevirt_virt-controller-6c969c86d6-xmlt5-virt-controller.log).
@mhenriks I can see you are the author of the test. Do we need it? If we really want to see provisioning in functional test then maybe we need to create a clone DV. That way we can stop provisioning (for example by utilizing source in use). WDYT?

@mhenriks I can see you are the author of the test. Do we need it? If we really want to see provisioning in functional test then maybe we need to create a clone DV. That way we can stop provisioning (for example by utilizing source in use). WDYT?

Good detective work here, I like the idea about changing this from import to clone.

/lgtm


test: fail when interpreting md footnote as link

#1409

Uhm... I didn't want to close this?

Reopening

I think I locked myself out of this one.  Looks like I don't have permission to push to your fork @jan-ferdinand. 😅

I don't know how exactly it worked either, but I think I tried to update your branch with my fix and that failed. Somehow the changeset was empty and that auto-closed the pull request. No idea.
Anyhow, after I realized my mistake, I created this new branch with the fix: https://github.com/lycheeverse/lychee/pull/1479
I think it's ready to be merged to get the bug fixed.

Side note for the future: it's better to create a new branch on your fork, which describes the problem instead of using master. So for example jan-ferdinand:footnote-link or so. This makes it a little easier to see which branch I'm on when I'm working from the commandline and also keeps the changes in this new branch separate from master, which is usually a clone of the upstream master. It would not have prevented my mistake, though; just best-practice.

Makes perfect sense. :+1: Next time. :slightly_smiling_face:


The 'sor' combinator doesn't parse the second rule. contrib/http

Hi, everyone! Thank you very much for the absolutely amazing library!
I have encountered a problem:
I have a simple code:
#include <iostream>
#include <tao/pegtl.hpp>
#include <tao/pegtl/contrib/http.hpp>
#include <tao/pegtl/contrib/tracer.hpp>

using namespace std::string_literals;
using namespace tao::pegtl;

namespace rule {
using grammar = must<http::start_line>;
}

int main() {
  auto response =
      "HTTP/1.1 206 Partial content\r\n"s;

  string_input<> input(response, "test");

  try {
    parse<rule::grammar, nothing, tracer>(input);

  } catch (const std::exception &e) {
    std::cerr << "\nERROR: " << e.what() << std::endl;
  }

  return 0;
}

It fails like this:
test:1:0(0)  start  tao::pegtl::must<tao::pegtl::http::start_line>
test:1:0(0)  start  tao::pegtl::http::start_line
test:1:0(0)  start  tao::pegtl::http::request_line
test:1:0(0)  start  tao::pegtl::http::method
test:1:0(0)  start  tao::pegtl::http::tchar
test:1:0(0)  start  tao::pegtl::abnf::ALPHA
test:1:1(1) success tao::pegtl::abnf::ALPHA
test:1:1(1) success tao::pegtl::http::tchar
test:1:1(1)  start  tao::pegtl::http::tchar
test:1:1(1)  start  tao::pegtl::abnf::ALPHA
test:1:2(2) success tao::pegtl::abnf::ALPHA
test:1:2(2) success tao::pegtl::http::tchar
test:1:2(2)  start  tao::pegtl::http::tchar
test:1:2(2)  start  tao::pegtl::abnf::ALPHA
test:1:3(3) success tao::pegtl::abnf::ALPHA
test:1:3(3) success tao::pegtl::http::tchar
test:1:3(3)  start  tao::pegtl::http::tchar
test:1:3(3)  start  tao::pegtl::abnf::ALPHA
test:1:4(4) success tao::pegtl::abnf::ALPHA
test:1:4(4) success tao::pegtl::http::tchar
test:1:4(4)  start  tao::pegtl::http::tchar
test:1:4(4)  start  tao::pegtl::abnf::ALPHA
test:1:4(4) failure tao::pegtl::abnf::ALPHA
test:1:4(4)  start  tao::pegtl::abnf::DIGIT
test:1:4(4) failure tao::pegtl::abnf::DIGIT
test:1:4(4)  start  tao::pegtl::ascii::one<(char)33, (char)35, (char)36, (char)37, (char)38, (char)39, (char)42, (char)43, (char)45, (char)46, (char)94, (char)95, (char)96, (char)124, (char)126>
test:1:4(4) failure tao::pegtl::ascii::one<(char)33, (char)35, (char)36, (char)37, (char)38, (char)39, (char)42, (char)43, (char)45, (char)46, (char)94, (char)95, (char)96, (char)124, (char)126>
test:1:4(4) failure tao::pegtl::http::tchar
test:1:4(4) success tao::pegtl::http::method
test:1:4(4)  start  tao::pegtl::abnf::SP
test:1:4(4) failure tao::pegtl::abnf::SP

ERROR: test:1:4(4): parse error matching tao::pegtl::abnf::SP

As far as I understand it tries to parse the first part of the rule struct start_line : sor< request_line, status_line > {}; which is request_line, but I'm parsing actually a status_line. So if I'm not mistaken, it must check the second sor rule if the first one fails, because of "OR" predicate nature, but it just fails at the first one.
If I'm wrong with my understanding, what's the problem with that code?

It fails because of the if_must<> we used in several places of the HTTP grammar. And I think you found a bug when we tried to turn the HTTP RFC's CFG into a PEG. What happens is, that it tries to parse a request line first, which should start with a method. method matches the "HTTP", but not the following slash "/". But since we used if_must<>, the grammar is now expecting a SP and if it does not find it, it immediately fails with an exception.
The fix is to reverse the sor<> order for request line and status line.


[Spike] Jobs form follow up

This PR addresses some small follow up changes to the jobs form:

DCOS-49607
DCOS-50186
DCOS-50187

Testing
DCOS-49607

Open jobs form, Command input should be a textarea

DCOS-50186

Open jobs form, go to schedule tab
Hover ID info tooltip: it should say min length is 2 characters
Make sure there is at least 1 job in list (due to known bug)
Submit a job with a schedule that has an ID with only 1 character: error message should say min length is 2 characters

DCOS-50187

Open jobs form, with "Command Only" selected in general tab, go to container tab
Banner should have an info icon

Trade-offs
N/A
Dependencies
N/A

The build is failing because one of the commit messages is too long.
���   input: fix(MetronomeJobValidators): use schema regex in client side ID validation

���   header must not be longer than 72 characters [header-max-length]

:tada: This PR is included in version 2.66.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


As a logged in player, I want to see which other players are online in order to be able to play with each other. This can be found in the Dashboard.

Acceptance Criteria:

[ ] A user can view a list of all registered users (user overview) and their online status.
[ ] When hovering on a username in the user overview, his statistics appear.
[ ] The users overview and the profile page are only accessible for logged-in users.

Development Tasks:

[ ] Create a database schema to store online user status and statistics information.
[ ] Implement server-side code to update user status to online when they log in and offline when they log out.
[ ] Implement a user overview page that shows a list of all registered users and their online status.
[ ] Implement server-side code to retrieve user statistics information from the database and display it on the user's profile page.
[ ] Implement client-side code to allow users to hover over a username in the user overview page to display their statistics.
[ ] Implement error handling mechanisms to redirect users to the login page with an error message if they try to access the user overview or profile page without being logged in.
[ ] Implement security measures to prevent unauthorised access to user statistics, such as user authentication and access control.

Mein Vorschlag

Implement a user overview section in the dashboard that shows a list of all registered users and their online status. High, 4h.
Implement server-side code to retrieve user statistics information from the database and display it on the user's profile page. High, 1h.
Implement client-side code to allow users to hover over a username in the user overview page to display their statistics. Low, 4h.
Implement page guards to prevent access from non-logged users. Medium, 2h.


[Bug]: NCCL get stuck when instantiating the LLM class.

Your current environment

The output of `python collect_env.py`
Collecting environment information...
 I can't even CTRL + C to stop it. I open all the debug log but I don't know what to do then.
from vllm import LLM
def init_model() -> LLM:
    llm = LLM(
        model="Qwen/Qwen2-7B-Instruct",
        tokenizer_mode="auto",
        trust_remote_code=True,
        download_dir="./.cache",
        tensor_parallel_size=2,  # How many GPUs to use
        gpu_memory_utilization=0.85,
        pipeline_parallel_size=1,
        dtype="bfloat16",
        # max_model_len=20480,  # Model context length
        enable_prefix_caching=True,
        enable_chunked_prefill=False,
        num_scheduler_steps=8,
    )
    return llm
if __name__ == "__main__":
    llm = init_model()
    print(llm.generate("Hello, world!"))

 % ~/anaconda3/envs/psp/bin/python ~/psp/Reasoning-Carefully/main.py
2024-09-13 00:35:48 - INFO - main - The save_path is: ./results/Qwen2-7B/MATH/test/planthensteprefinewoinfo/0913
2024-09-13 00:35:48 - INFO - main - Global variables have been initialized
2024-09-13 00:35:48 - INFO - main - Start logging to huggingface
Token is valid (permission: read).
Your token has been saved in your configured git credential helpers (store).
Your token has been saved to ~/.cache/huggingface/token
Login successful
2024-09-13 00:35:48 - INFO - main - Login to huggingface successfully
[INFO|configuration_utils.py:733] 2024-09-13 00:35:48,990 >> loading configuration file config.json from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/config.json
[INFO|configuration_utils.py:800] 2024-09-13 00:35:48,991 >> Model config Qwen2Config {
  "_name_or_path": "Qwen/Qwen2-7B-Instruct",
  "architectures": [
    "Qwen2ForCausalLM"
  ],
  "attention_dropout": 0.0,
  "bos_token_id": 151643,
  "eos_token_id": 151645,
  "hidden_act": "silu",
  "hidden_size": 3584,
  "initializer_range": 0.02,
  "intermediate_size": 18944,
  "max_position_embeddings": 32768,
  "max_window_layers": 28,
  "model_type": "qwen2",
  "num_attention_heads": 28,
  "num_hidden_layers": 28,
  "num_key_value_heads": 4,
  "rms_norm_eps": 1e-06,
  "rope_theta": 1000000.0,
  "sliding_window": null,
  "tie_word_embeddings": false,
  "torch_dtype": "bfloat16",
  "transformers_version": "4.44.2",
  "use_cache": true,
  "use_sliding_window": false,
  "vocab_size": 152064
}

[INFO|image_processing_auto.py:286] 2024-09-13 00:35:49,235 >> Could not locate the image processor configuration file, will try to use the model config instead.
INFO 09-13 00:35:49 config.py:890] Defaulting to use mp for distributed inference
WARNING 09-13 00:35:49 arg_utils.py:880] Enabled BlockSpaceManagerV2 because it is required for multi-step (--num-scheduler-steps > 1)
INFO 09-13 00:35:49 llm_engine.py:213] Initializing an LLM engine (v0.6.0) with config: model='Qwen/Qwen2-7B-Instruct', speculative_config=None, tokenizer='Qwen/Qwen2-7B-Instruct', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, override_neuron_config=None, rope_scaling=None, rope_theta=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=32768, download_dir='./.cache', load_format=LoadFormat.AUTO, tensor_parallel_size=2, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), observability_config=ObservabilityConfig(otlp_traces_endpoint=None, collect_model_forward_time=False, collect_model_execute_time=False), seed=47, served_model_name=Qwen/Qwen2-7B-Instruct, use_v2_block_manager=True, num_scheduler_steps=8, enable_prefix_caching=True, use_async_output_proc=True)
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file vocab.json from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/vocab.json
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file merges.txt from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/merges.txt
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file tokenizer.json from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/tokenizer.json
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file added_tokens.json from cache at None
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file special_tokens_map.json from cache at None
[INFO|tokenization_utils_base.py:2269] 2024-09-13 00:35:49,541 >> loading file tokenizer_config.json from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/tokenizer_config.json
[INFO|tokenization_utils_base.py:2513] 2024-09-13 00:35:49,706 >> Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
[INFO|configuration_utils.py:993] 2024-09-13 00:35:49,961 >> loading configuration file generation_config.json from cache at ~/.cache/huggingface/hub/models--Qwen--Qwen2-7B-Instruct/snapshots/f2826a00ceef68f0f2b946d945ecc0477ce4450c/generation_config.json
[INFO|configuration_utils.py:1038] 2024-09-13 00:35:49,961 >> Generate config GenerationConfig {
  "bos_token_id": 151643,
  "do_sample": true,
  "eos_token_id": [
    151645,
    151643
  ],
  "pad_token_id": 151643,
  "repetition_penalty": 1.05,
  "temperature": 0.7,
  "top_k": 20,
  "top_p": 0.8
}

WARNING 09-13 00:35:49 multiproc_gpu_executor.py:56] Reducing Torch parallelism from 72 threads to 1 to avoid unnecessary CPU contention. Set OMP_NUM_THREADS in the external environment to tune this value as needed.
INFO 09-13 00:35:49 custom_cache_manager.py:17] Setting Triton cache manager to: vllm.triton_utils.custom_cache_manager:CustomCacheManager
WARNING 09-13 00:35:49 logger.py:147] VLLM_TRACE_FUNCTION is enabled. It will record every function executed by Python. This will slow down the code. It is suggested to be used for debugging hang or crashes only.
INFO 09-13 00:35:49 logger.py:151] Trace frame log is saved to /tmp/vllm/vllm-instance-17ffcfe40d29405d9a707d59e9534c70/VLLM_TRACE_FUNCTION_for_process_3740804_thread_127505140479808_at_2024-09-13_00:35:49.983688.log
(VllmWorkerProcess pid=3740967) WARNING 09-13 00:35:49 logger.py:147] VLLM_TRACE_FUNCTION is enabled. It will record every function executed by Python. This will slow down the code. It is suggested to be used for debugging hang or crashes only.
(VllmWorkerProcess pid=3740967) INFO 09-13 00:35:49 logger.py:151] Trace frame log is saved to /tmp/vllm/vllm-instance-17ffcfe40d29405d9a707d59e9534c70/VLLM_TRACE_FUNCTION_for_process_3740967_thread_127505140479808_at_2024-09-13_00:35:49.984074.log
WARNING 09-13 00:35:50 registry.py:190] `mm_limits` has already been set for model=Qwen/Qwen2-7B-Instruct, and will be overwritten by the new values.
(VllmWorkerProcess pid=3740967) WARNING 09-13 00:35:50 registry.py:190] `mm_limits` has already been set for model=Qwen/Qwen2-7B-Instruct, and will be overwritten by the new values.
(VllmWorkerProcess pid=3740967) INFO 09-13 00:35:51 multiproc_worker_utils.py:215] Worker ready; awaiting tasks
INFO 09-13 00:35:51 utils.py:977] Found nccl from library libnccl.so.2
(VllmWorkerProcess pid=3740967) INFO 09-13 00:35:51 utils.py:977] Found nccl from library libnccl.so.2
INFO 09-13 00:35:51 pynccl.py:63] vLLM is using nccl==2.20.5
(VllmWorkerProcess pid=3740967) INFO 09-13 00:35:51 pynccl.py:63] vLLM is using nccl==2.20.5
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Bootstrap : Using eno2:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO cudaDriverVersion 12060
NCCL version 2.20.5+cuda12.4
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO cudaDriverVersion 12060
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Bootstrap : Using eno2:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Failed to open libibverbs.so[.1]
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO NET/Socket : Using [0]eno2:<IP_ADDRESS><0> [1]enxbe3af2b6059f:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Using non-device net plugin version 0
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Using network Socket
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Failed to open libibverbs.so[.1]
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO NET/Socket : Using [0]eno2:<IP_ADDRESS><0> [1]enxbe3af2b6059f:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Using non-device net plugin version 0
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Using network Socket
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO comm 0xc8f13b0 rank 1 nranks 2 cudaDev 1 nvmlDev 3 busId 57000 commId 0xb587bdc561ea636b - Init START
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO comm 0xb923230 rank 0 nranks 2 cudaDev 0 nvmlDev 2 busId 56000 commId 0xb587bdc561ea636b - Init START
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO NCCL_CUMEM_ENABLE set by environment to 0.
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Setting affinity for GPU 2 to 0fff,ffffff00,0000000f,ffffffff
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO NCCL_CUMEM_ENABLE set by environment to 0.
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Setting affinity for GPU 3 to 0fff,ffffff00,0000000f,ffffffff
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO comm 0xc8f13b0 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] 0/-1/-1->1->-1 [2] -1/-1/-1->1->0 [3] 0/-1/-1->1->-1
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO P2P Chunksize set to 131072
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Channel 00/0 : 1[3] -> 0[2] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO comm 0xb923230 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 00/04 :    0   1
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 01/04 :    0   1
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 02/04 :    0   1
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 03/04 :    0   1
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] -1/-1/-1->0->1 [2] 1/-1/-1->0->-1 [3] -1/-1/-1->0->1
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO P2P Chunksize set to 131072
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Channel 01/0 : 1[3] -> 0[2] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Channel 02/0 : 1[3] -> 0[2] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Channel 03/0 : 1[3] -> 0[2] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 00/0 : 0[2] -> 1[3] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 01/0 : 0[2] -> 1[3] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 02/0 : 0[2] -> 1[3] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Channel 03/0 : 0[2] -> 1[3] via P2P/IPC
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Connected all rings
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO Connected all trees
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Connected all rings
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO Connected all trees
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO 4 coll channels, 0 collnet channels, 0 nvls channels, 4 p2p channels, 2 p2p channels per peer
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO 4 coll channels, 0 collnet channels, 0 nvls channels, 4 p2p channels, 2 p2p channels per peer
ubuntu-SYS-420GP-TNR:3740804:3740804 [0] NCCL INFO comm 0xb923230 rank 0 nranks 2 cudaDev 0 nvmlDev 2 busId 56000 commId 0xb587bdc561ea636b - Init COMPLETE
ubuntu-SYS-420GP-TNR:3740967:3740967 [1] NCCL INFO comm 0xc8f13b0 rank 1 nranks 2 cudaDev 1 nvmlDev 3 busId 57000 commId 0xb587bdc561ea636b - Init COMPLETE

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

May be related to #5484, please take a look at that thread.

I see you are using multi-step, so could also be related to https://github.com/vllm-project/vllm/pull/8403, now merged.

I see you are using multi-step, so could also be related to #8403, now merged.

I regret to say that this solution did not work for my problem.

I see you are using multi-step, so could also be related to #8403, now merged.

I ran the test document: it seems to be hanging at the same place, but this time I was able to terminate the execution using CTRL+C and saw where it was running. Do you have any thoughts on this?
The test.py:
# Test PyTorch NCCL
import torch
import torch.distributed as dist

dist.init_process_group(backend="nccl")
local_rank = dist.get_rank() % torch.cuda.device_count()
torch.cuda.set_device(local_rank)
data = torch.FloatTensor([
    1,
] * 128).to("cuda")
dist.all_reduce(data, op=dist.ReduceOp.SUM)
torch.cuda.synchronize()
value = data.mean().item()
world_size = dist.get_world_size()
assert value == world_size, f"Expected {world_size}, got {value}"

print("PyTorch NCCL is successful!")

# Test PyTorch GLOO
gloo_group = dist.new_group(ranks=list(range(world_size)), backend="gloo")
cpu_data = torch.FloatTensor([
    1,
] * 128)
dist.all_reduce(cpu_data, op=dist.ReduceOp.SUM, group=gloo_group)
value = cpu_data.mean().item()
assert value == world_size, f"Expected {world_size}, got {value}"

print("PyTorch GLOO is successful!")

# Test vLLM NCCL, with cuda graph
from vllm.distributed.device_communicators.pynccl import PyNcclCommunicator

pynccl = PyNcclCommunicator(group=gloo_group, device=local_rank)
pynccl.disabled = False

s = torch.cuda.Stream()
with torch.cuda.stream(s):
    data.fill_(1)
    pynccl.all_reduce(data, stream=s)
    value = data.mean().item()
    assert value == world_size, f"Expected {world_size}, got {value}"

print("vLLM NCCL is successful!")

g = torch.cuda.CUDAGraph()
with torch.cuda.graph(cuda_graph=g, stream=s):
    pynccl.all_reduce(data, stream=torch.cuda.current_stream())

data.fill_(1)
g.replay()
torch.cuda.current_stream().synchronize()
value = data.mean().item()
assert value == world_size, f"Expected {world_size}, got {value}"

print("vLLM NCCL with cuda graph is successful!")

dist.destroy_process_group(gloo_group)
dist.destroy_process_group()

The result:
WARNING:__main__:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
*****************************************
ubuntu-SYS-420GP-TNR:3888119:3888119 [0] NCCL INFO Bootstrap : Using eno2:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3888119:3888119 [0] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
ubuntu-SYS-420GP-TNR:3888119:3888119 [0] NCCL INFO cudaDriverVersion 12060
NCCL version 2.20.5+cuda12.4
ubuntu-SYS-420GP-TNR:3888120:3888120 [1] NCCL INFO cudaDriverVersion 12060
ubuntu-SYS-420GP-TNR:3888120:3888120 [1] NCCL INFO Bootstrap : Using eno2:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3888120:3888120 [1] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Failed to open libibverbs.so[.1]
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO NET/Socket : Using [0]eno2:<IP_ADDRESS><0> [1]enxbe3af2b6059f:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Using non-device net plugin version 0
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Using network Socket
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Failed to open libibverbs.so[.1]
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO NET/Socket : Using [0]eno2:<IP_ADDRESS><0> [1]enxbe3af2b6059f:<IP_ADDRESS><0>
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Using non-device net plugin version 0
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Using network Socket
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO comm 0x88d5b20 rank 0 nranks 2 cudaDev 0 nvmlDev 0 busId 4f000 commId 0x6b1dd3dc47dfd2cb - Init START
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO comm 0x6f70c30 rank 1 nranks 2 cudaDev 1 nvmlDev 1 busId 52000 commId 0x6b1dd3dc47dfd2cb - Init START
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Setting affinity for GPU 0 to 0fff,ffffff00,0000000f,ffffffff
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Setting affinity for GPU 1 to 0fff,ffffff00,0000000f,ffffffff
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO comm 0x88d5b20 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO comm 0x6f70c30 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 00/04 :    0   1
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] 0/-1/-1->1->-1 [2] -1/-1/-1->1->0 [3] 0/-1/-1->1->-1
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 01/04 :    0   1
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO P2P Chunksize set to 131072
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 02/04 :    0   1
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 03/04 :    0   1
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] -1/-1/-1->0->1 [2] 1/-1/-1->0->-1 [3] -1/-1/-1->0->1
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO P2P Chunksize set to 131072
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Channel 00/0 : 1[1] -> 0[0] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 00/0 : 0[0] -> 1[1] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Channel 01/0 : 1[1] -> 0[0] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 01/0 : 0[0] -> 1[1] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Channel 02/0 : 1[1] -> 0[0] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 02/0 : 0[0] -> 1[1] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Channel 03/0 : 1[1] -> 0[0] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Channel 03/0 : 0[0] -> 1[1] via P2P/CUMEM
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Connected all rings
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO Connected all trees
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Connected all rings
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO Connected all trees
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO 4 coll channels, 0 collnet channels, 0 nvls channels, 4 p2p channels, 2 p2p channels per peer
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO 4 coll channels, 0 collnet channels, 0 nvls channels, 4 p2p channels, 2 p2p channels per peer
ubuntu-SYS-420GP-TNR:3888120:3888172 [1] NCCL INFO comm 0x6f70c30 rank 1 nranks 2 cudaDev 1 nvmlDev 1 busId 52000 commId 0x6b1dd3dc47dfd2cb - Init COMPLETE
ubuntu-SYS-420GP-TNR:3888119:3888171 [0] NCCL INFO comm 0x88d5b20 rank 0 nranks 2 cudaDev 0 nvmlDev 0 busId 4f000 commId 0x6b1dd3dc47dfd2cb - Init COMPLETE
^CW0913 09:54:23.519000<PHONE_NUMBER>07264 torch/distributed/elastic/agent/server/api.py:688] Received Signals.SIGINT death signal, shutting down workers
W0913 09:54:23.519000<PHONE_NUMBER>07264 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 3888119 closing signal SIGINT
W0913 09:54:23.519000<PHONE_NUMBER>07264 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 3888120 closing signal SIGINT
^CW0913 09:54:23.699000<PHONE_NUMBER>07264 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 3888119 closing signal SIGTERM
W0913 09:54:23.700000<PHONE_NUMBER>07264 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 3888120 closing signal SIGTERM
Traceback (most recent call last):
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/api.py", line 680, in run
    result = self._invoke_run(role)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/api.py", line 835, in _invoke_run
    time.sleep(monitor_interval)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 79, in _terminate_process_handler
    raise SignalException(f"Process {os.getpid()} got signal: {sigval}", sigval=sigval)
torch.distributed.elastic.multiprocessing.api.SignalException: Process 3888043 got signal: 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/anaconda3/envs/psp/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "~/anaconda3/envs/psp/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/run.py", line 905, in <module>
    main()
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 348, in wrapper
    return f(*args, **kwargs)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/run.py", line 901, in main
    run(args)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/run.py", line 892, in run
    elastic_launch(
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 133, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 255, in launch_agent
    result = agent.run()
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/metrics/api.py", line 124, in wrapper
    result = f(*args, **kwargs)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/api.py", line 689, in run
    self._shutdown(e.sigval)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/agent/server/local_elastic_agent.py", line 347, in _shutdown
    self._pcontext.close(death_sig)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 544, in close
    self._close(death_sig=death_sig, timeout=timeout)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 868, in _close
    handler.proc.wait(time_to_wait)
  File "~/anaconda3/envs/psp/lib/python3.10/subprocess.py", line 1209, in wait
    return self._wait(timeout=timeout)
  File "~/anaconda3/envs/psp/lib/python3.10/subprocess.py", line 1953, in _wait
    time.sleep(delay)
  File "~/anaconda3/envs/psp/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/api.py", line 79, in _terminate_process_handler
    raise SignalException(f"Process {os.getpid()} got signal: {sigval}", sigval=sigval)
torch.distributed.elastic.multiprocessing.api.SignalException: Process 3888043 got signal: 2

I tried uninstalling PyTorch installed via conda and then installed it using pip, but this didn't make any difference.


Publishing in App Store fails for dynamic libraries

App Store Publishing fails for apps that use a package that includes a dylib as mentioned in #35
Either deprecate --lib-type dynamic or find out if there is a way to publish apps that contain packages build with this option.

I have some details here that might make it worth while reopening this.
iOS does not support shipping dylibs on the appstore, only macos does. Docs are here
For iOS we need to convert it to a universal library using lipo and then bundle the library, the module map and the header as a framework.
It may be worthwhile to do this for static libraries to produce static frameworks as well. It means simpler code in cargo-swift but it also allows for the inclusion of xcprivacy manifests which Apple has started warning about and will be required in the future.
I was taking a crack at hand hacking the xcframework with frameworks but was getting issues in Xcode, the Swift wrapper could not see the uniffi header symbols, I was wondering if these docs might be related to the issue I was seeing.
If we can get dynamic frameworks working it would be awesome to include a step to generate dsyms for them so stack traces can be decoded on platforms like Crashlytics, Bugsnage, etc


win pipe: avoid potentially leaking a handle to a thread to child processes

Sorry, silly mistake in my original PR - we don't want an inheritable handle here.

Sorry, silly mistake in my original PR

Do you mean https://github.com/libuv/libuv/commit/837c62c71b5dbb3d97287fcca772327241afa32b?

Yes

Like that? Note that I think you can also edit the commit message when you merge if you select the option to squash it.

From looking at other commit messages, it looks like it's also common to mention the PR, so you might want to point to https://github.com/joyent/libuv/issues/1377.

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/252/
Generally, the metadata that we add to commit messages is:
Refs: - zero or more issues/PRs related to the commit.
Fixes: - zero or more issues that the commit fixes, and closes the issue.
PR-URL: - the full URL of the PR itself.
Reviewed-By: - information of one or more reviewers.

Is that generally something you add when landing, or is that also generally helpful for me to add them? (I ask because I see it isn't mentioned https://github.com/libuv/libuv/blob/v1.x/CONTRIBUTING.md#commit either way, and I have more patches I need to submit)

It's something that the maintainers add when landing the commit(s). You're free to add as much of the metadata as you can/want, but it is not required. The committer will still need to double check when landing.

Landed in<PHONE_NUMBER>69444cce2375c2ac1e741ca07057d8. Thanks!


Indexer and crawler should create directories where they are storing their resulting files

I can make a bootstrap_db.sh script that creates the folders, downloads posts for 60 seconds, indexes them and launches web_ui.py. This can be useful for bootstrapping a development db.

I implemented something simple. Let me know and I'll send a pull request.

Thanks, create a pull request. But this issue about simple mkdir for dirs :)

All right.


Extensions can only be used as 'root'

VSCode Version: 0.10.11
OS Version: OS X 10.11.4

Steps to Reproduce:
I have installed VSCode via the regular installer on OS X. I accidentally used VSCode in a sudo terminal session. Since then, I cannot install any plugins anymore. I have removed the ~/.vscode and ~/Library/Application Support/Code, but no luck. Reinstalling VSCode doesn't help :(
When I try to install an extension, the blue bar below the 'ext install' textbox just keeps moving, without showing any extension. When I run it from a root session, then it works fine and all the extensions show up.

I found a similar issue on StackOverflow: http://stackoverflow.com/questions/36234643/cannot-install-extensions-in-visual-studio-code. A reboot seems to be the solution. Same here, but I'll leave this issue open, because rebooting OS X is not the most obvious task to do.
I tried running VSCode as root again to check if it would reproduce the problem, but it didn't. Sorry that I am not able to provide a repro scenario...
PS: Love the OSS work on VSCode and DNX!


Add ghc 8.0.1 to travis

@tibbe, btw. I bumped a base upper bound for latest hashable release on Hackage: http://matrix.hackage.haskell.org/package/hashable
Also unordered-contaienrs http://matrix.hackage.haskell.org/package/unordered-containers are all green

The hackage edit is reverted: https://github.com/ekmett/semigroups/issues/56
I'll make a PR with instances tomorrow

Thank you!
On Thu, Jan 14, 2016 at 10:14 PM, Oleg Grenrus<EMAIL_ADDRESS>wrote:

The hackage edit is reverted: ekmett/semigroups#56
https://github.com/ekmett/semigroups/issues/56
I'll make a PR with instances tomorrow
—
Reply to this email directly or view it on GitHub
https://github.com/tibbe/hashable/pull/112#issuecomment-171781608.

Actually @hvr made https://github.com/tibbe/hashable/pull/111 which got into <IP_ADDRESS>, so it's actually ready for GHC 8.0. So no more worries with this package.


yt-dlp for youtube

pytube needs to be updated to work.
https://github.com/pytube/pytube/pull/1990


Make the documentation page sections linkable

Right now it's not possible to link to a specific part of the page.

I might be missing something, but this is already done, it just isn't immediately obvious as links aren't presented to the user. Example: https://dsherret.github.io/ts-simple-ast/details/classes#base-class

Oh cool. I didn't know that! I wonder if there's a way to make it automatically show those links on the page.

@Gerrit0 great idea! Would you be willing to do a PR? If not, I'll do this sometime later. Probably keep the styling/content looking the same (so add css for no link styling on the headers) and just nest the text within the header tags to be within an anchor element.


New property ApplicationId is missing

New property ApplicationId is missing in Connection String syntax details.

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

ID: 180c6ca8-2bdc-4685-ebc5-aaea2236937f
Version Independent ID: 74f63340-7428-a3a7-6d6c-701d3be4348d
Content: Connection strings in Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/sdk-connection-string.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

@wgkesler
Thanks for your feedback! We will investigate and update as appropriate.

@AaronMaxwell Is there any news related ApplicationId key-value appearing in Connection String of Application Insights

@saarivirtajCGI Exactly, that is the reason why I reported that issue - the consequences of the change of the connection string are huge, especially when using infrastructure as code approach and when there is no information in documentation.
@AaronMaxwell since you closed this one and moved to your internal backlog, could you tell us what is the status and the estimated time to resolve that issue?

ping...

@AaronMaxwell: ping...


Is there an easier way?

Hello,
I just want to dump my database to a string. Is any easier solution than including two big libraries for this task? I don't need any Fs support or anything, just all the info inside a string.
Thanks

No, there's only [the method documented in the readme. If you would like to bundle it up into a plugin, though, I'd be happy to link to it from the README. :) It would probably save other people some time.

Let's say I want to iterate over all the documents and build a JSON string myself. What should I include take in account to make it compatible with the load plugin?

You should definitely not do that, because you will not build up the kind of doc objects that are suitable for replication. It's not enough to just do an allDocs(); the revision history (encoded in the _revisions object) also needs to be included.
I can understand the need for a client-side library that dumps to a string without requiring so many big dependencies, but right now you would probably have to fork pouchdb-replication-stream to accomplish that.

You should definitely not do that, because you will not build up the kind of doc objects that are suitable for replication.

I understand what you mean. But for my particular case (very, very particular) I think it's enough with a "normal" dump.

I can understand the need for a client-side library that dumps to a string without requiring so many big dependencies,

As far as you understand the need I am fine with it. I definitively want to include that feature on my project, but I can wait until an easier (and lighter) solution is created. It's a nice feature, but it's not a deal breaker.
Regarding your comment on google groups_

And FYI, I just checked using mingz , and it's only 44.5KB after uglification+minification. :)

I based my guessings on the minified version on the repo. Take in account that I have to include 145kb of pouch, 44.5kb of stream and I also have to include concat-stream, which I'm not sure how to do it because it's a node package. If you have any clue about this last point maybe I will try.

http://wzrd.in can browserify any browserifiable node package, e.g.: https://wzrd.in/standalone/concat-stream@latest
To fork this repo and make it dump to a string, you can just modify this function and instead of having it call writableStream.write(), you just concatenate a string.
Instead of forking, I would also support adding a dumpToString() function in this repo itself. Then we can just have a browserify build that builds without all the node stream dependencies.

Hm, actually I'm wrong, you'd have to fork more than just that function. Maybe forking is the right approach.