[RFC]: Isolate OpenAI Server Into Separate Process

Motivation.
Currently, the OpenAI API server and AsyncLLMEngine share the same asyncio event loop. This means that the API server and the CPU components of the AsyncLLMEngine contend for the same resources. Below, we have a chart of Llama-3-8B running ShareGPT at QPS=10 on an H100.
We can see time is split into three buckets:

Light blue 	→ this is overlapped GPU execution time (call of execute_model)
Orange 	→ this is CPU execution time in the LLM engine
All else		→ this is API server time

execute_model does not block the asyncio event loop as it is run in run_in_execuctor https://github.com/vllm-project/vllm/blob/d92b3c5cdef59533347ac714a70274f186943019/vllm/executor/gpu_executor.py#L143
So, we believe that some GPU time is currently already overlapped with the API server

Proposed Change.
Enable better overlapping of the API server and AsyncLLMEngine via multiprocessing by spitting into two processes that communicate over gRPC with protobufs. This is roughly the architecture used by TGI (though TGI has more items in the server than we are proposing here.
Initial Goal

Write protobuf API to roughly match AsyncLLMEngine generate() method, separate API server into separate process and measure the speedup

Will exclude LogitsProcessors - it’s agreed that these don’t belong in SamplingParams anyhow. Instead we’ll include the corresponding external API parameters e.g. for guided decoding
Can be a gRPC streaming response, which maps nicely to the stream returned by this method. Cancellations can be mapped to request aborts

Follow Ups
Move items that currently run inside AsyncLLMEngine into the API Server for better overlap with the GPU

Make necessary changes within the engine to allow full token-id/token-id out so that it can be called such that no tokenization/detokenization is done - you can already pass token ids but there are some places where tokenization/detokenization is done unconditionally such as detokenizing the prompt to return
Decouple the LogitsProcessor construction from the OpenAI API code - into layer/utility for creating them from the top-level parameters. This can then be called from the gRPC API layer to construct the full SamplingParams
Decouple incremental detokenization logic so that it can also be used in the API server process
The API server process can also intercept/process any stop strings, and just abort the request as needed

Feedback Period.
No response
CC List.
@simon-mo @njhill @dsikka @joerunde
Any Other Things.
No response

Outside of gRPC, ZMQ could be a suitable lightweight alternative that is already used inside vLLM: https://github.com/vllm-project/vllm/blob/6a1e25b1514a25d3da96d0d78c4568f6e581e242/requirements-common.txt#L24
Initial PR usage for reference: https://github.com/vllm-project/vllm/pull/6183

Outside of gRPC, ZMQ could be a suitable lightweight alternative that is already used inside vLLM:
https://github.com/vllm-project/vllm/blob/6a1e25b1514a25d3da96d0d78c4568f6e581e242/requirements-common.txt#L24
Initial PR usage for reference: #6183

+1, it's worth doing some benchmark. python_grpc isn't that performant.
Triton Inference Server uses shared memory for commutation.

Sounds good. We are working on a prototype and will measure
shouldn’t be too hard to swap out protocols in the prototype since it’s very simple

Would it be accurate to say that the global interpreter lock is the root cause of the issue here?

Would it be accurate to say that the global interpreter lock is the root cause of the issue here?
Pretty much. If we can do freely threaded Python the problem will go away, but the it is still work in progress.

Would it be accurate to say that the global interpreter lock is the root cause of the issue here?

Pretty much. If we can do freely threaded Python the problem will go away, but the it is still work in progress.

Its not quite as bad as the chart shows, since GPU execution releases the GIL + some of the front end is overlapped. But its hard to tell exactly how much thus the experiments we are trying
gRPC is one approach, but there are other ways to add multiprocessing if this does not work

+1, it's worth doing some benchmark. python_grpc isn't that performant.

In fact, in grpc's own documentation, they claim that streaming RPCs in python is even less performant than unary RPCs. In my experience, this is roughly true so I generally avoid grpc in python if possible. I think another protocol or leveraging shm are all good things to try, but getting some benchmarked values of grpc (if that's already in the works) will give us somewhere to start.

Yeah, it’s a simple prototype to see what the best approach is. Early experiments with grpc aren’t looking great so I’m going to try out zmq tomorrow

Thanks to everyone for the feedback! We made three prototypes, separating into separate processes:

grpc based -> https://github.com/vllm-project/vllm/pull/6839
zeromq based with python pickle -> https://github.com/vllm-project/vllm/pull/6839
zeromq based with protobufs ->

TLDR is that the zeromq based protocol is delivering ~20% speedup at 10QPS for Llama-3-8B-Instruct on 1xH100 (550 input tokens | 150 output tokens)

Metric
main
grpc
zmq + pickle
zmq + protobuf

TPOT (mean)
70.08
77.93
57.35
54.54

TTFT (mean)
273.77
99.31
298.09
269.01

Another framework to consider is ucall: https://github.com/unum-cloud/ucall

Apologies if this is not relevant to this issue. Is there a particular reason why vLLM has not considered moving the app server to gunciorn instead of uvicorn?
Uvicorn doesn't do process management and is not recommended to be used for production-grade systems (as mentioned in the uvicorn documentation itself).
I can see that a similar issue was raised at one point (#2573) but it did not seem to get much traction. I was just wondering if this was something that the maintainer team has considered as an option or is this something that can be prioritized hopefully?

Apologies if this is not relevant to this issue. Is there a particular reason why vLLM has not considered moving the app server to gunciorn instead of uvicorn?
Uvicorn doesn't do process management and is not recommended to be used for production-grade systems (as mentioned in the uvicorn documentation itself).
I can see that a similar issue was raised at one point (#2573) but it did not seem to get much traction. I was just wondering if this was something that the maintainer team has considered as an option or is this something that can be prioritized hopefully?

We will certainly evaluate guincorn in the follow ups to this effort

Previously we only need to launch a single process. When we move towards multiple server processes, gunicorn is definitely the go to option.

I think that whether or not to include a WSGI server in the stack like Gunicorn in addition to uvicorn depends on the deployment model. I deploy vLLM into a Kubernetes cluster, and am perfectly happy with uvicorn, and I use Kubernetes for all process management. I could see how Gunicorn might be helpful if a common deployment model is on VMs to enable more efficient use of the cores (?). But my bias would be leave the scale up deployment model up to the user who's deploying it.

But my bias would be leave the scale up deployment model up to the user who's deploying it.

I think that makes sense to me. I think an acceptable compromise would then have something like a factory function of some sorts that returns the fully initialized FastAPI application so that we can invoke it to wrap it around uvicorn/gunicorn as we please.
My understand in this is limited, but I think a similar refactor to what we have in #7095 will probably work? I'm not sure if gunicorn allows to pass arbitrary arguments into a function that defines the api, but if we make args and the engine arguments global, it might work? Any particular thoughts on this @DarkLight1337 ?

But my bias would be leave the scale up deployment model up to the user who's deploying it.

I think that makes sense to me. I think an acceptable compromise would then have something like a factory function of some sorts that returns the fully initialized FastAPI application so that we can invoke it to wrap it around uvicorn/gunicorn as we please.
My understand in this is limited, but I think a similar refactor to what we have in #7095 will probably work? I'm not sure if gunicorn allows to pass arbitrary arguments into a function that defines the api, but if we make args and the engine arguments global, it might work? Any particular thoughts on this @DarkLight1337 ?

If you want to use gunicorn, you can create a new file and use init_app from the original entrypoints file to expose the ASGI app object, then run gunicorn on that file.

When we move towards multiple server processes, gunicorn is definitely the go to option.

Is the idea to have multiple API server processes as the frontend that each talk to the main AsyncLLMEngine process?

When we move towards multiple server processes, gunicorn is definitely the go to option.

Is the idea to have multiple API server processes as the frontend that each talk to the main AsyncLLMEngine process?
And to offload more computational work (e.g. detokenize) into such processes so as to reduce the CPU time on the main process?

Correct

@robertgshaw2-neuralmagic do you have an estimate of how much work can be split out from the AsyncLLMEngine into the frontend processes based on your profiling?

Just detokenization

And stopping evaluation (stop string checking etc.)

And stopping evaluation (stop string checking etc.)

Could you elaborate? Is this EOS? Isn't this done in scheduler?

Just detokenization

What's the est. fraction of the AsyncLLMEngine CPU time?
Why does this require > 1 process unless dealing with large batch size?

Inspired by this RFC, why not move heavy CPU tasks into a separate process as much as possible for maximum CPU-GPU overlap? I noticed there are some efforts like https://github.com/vllm-project/vllm/issues/6854 and https://github.com/vllm-project/vllm/issues/6913 to help the overlap but IMO they are tricky and possibly incompatible with other features like chunked prefill.

And stopping evaluation (stop string checking etc.)

Could you elaborate? Is this EOS? Isn't this done in scheduler?

@jon-chuang yes of course EOS and max length checking is trivial and thinking to remain where it is now. Was referring primarily to stop string evaluation, and possibly stop token ids. Although there is some tradeoff once for non-streaming requests once https://github.com/vllm-project/vllm/pull/7381 is included since we'll have to stream the responses to the other process that we wouldn't have had to otherwise.

Just detokenization

What's the est. fraction of the AsyncLLMEngine CPU time?
Why does this require > 1 api server process unless dealing with large batch size?

None of this requires > 1 api server process. It should be easy to have more than one but I don't think we'll need to.

Inspired by this RFC, can we move heavy CPU tasks into separate processes as much as possible
@daquexian yes, this is started in https://github.com/vllm-project/vllm/pull/7402.

Hello,
Out of curiosity, have you considered simply using ThreadPools to unblock the event loop if the CPU time consuming I assume is mostly taken by libraries (such as tokenizers) that would release the GIL?
The communication may be easier and faster as trade for some GIL locking?
Thanks

Out of curiosity, have you considered simply using ThreadPools to unblock the event loop if the CPU time consuming I assume is mostly taken by libraries (such as tokenizers) that would release the GIL?

Responded in #8033

Thanks to everyone for the help! zeromq is very useful for mulitprocess python!


Add ability to play animations on a separate instance

related to https://github.com/google/filament/issues/7622

@mentholyspirit could sigh the CLA so we could submit the change eventually?

Signed the CLA


run tests on speculos instead of hw wallet

find more info on speculos on (github)[https://github.com/LedgerHQ/speculos] and (ledger.com)[https://speculos.ledger.com/user/usage.html]

Outdated by #128


Make event class clickable

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
#18

Requires https://github.com/yiisoft/yii-debug/pull/120

👍


Users can be created with unsupported symbols for JDBC userstores

Describe the issue:
WSO2 IS documentation has mentioned unsupported special characters in usernames [1]. However, when a JDBC user store is configured, the default regex in the configuration allows these special characters in the username.
Regex in LDAP
<Property name="UsernameJavaRegEx">[a-zA-Z0-9._\-|//]{3,30}$</Property>
Regex in JDBC
<Property name="UsernameJavaRegEx">^[\S]{3,30}$</Property>
How to reproduce:

Configure JDBC user store as the primary user store using the following configuration in deployment.toml.

[user_store]
type = "database_unique_id"

Add a user from the management console with the username test>100.
User will be created successfully.

Expected behavior:
User should not be allowed create username with unsupported special characters.
Environment information:

Product Version: IS 5.11.0
Userstore: JDBC

[1] - https://is.docs.wso2.com/en/latest/references/usernames-in-identity-server/

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Switch Gather to v1

Relates to openvinotoolkit/openvino#4885

OV version of gather was increased? And we do not support this new version?


removed body element because its empty

Closing since there was no response. This can be reopened if the comments above are both addressed.


does avalonia support mdi layout for game development?

does avalonia support mdi layout for game development?
if not can this be added? it's not often used, but it has its use cases.

check out https://github.com/vitalelement/avalonstudio.shell
its used by a few apps....

there doesn't seem to be much information on that page.
what exactly is it?

@Shadowblitz16 it's a package that lets you do dockable windows akin to Visual Studio. Not exactly the MDI thingy that you're looking for but it's better imho.

@Shadowblitz16 it's a package that lets you do dockable windows akin to Visual Studio. Not exactly the MDI thingy that you're looking for but it's better imho.

@jmacato I was actually thinking about adding support for MDI layout to Dock. We already have floating window support.
@Shadowblitz16 The MDI layout probably can be added to Dock control. I have created issue to track discussion and proposals here: https://github.com/wieslawsoltes/Dock/issues/112

So avalonia doesnt support this, its something to be built with Avalonia, and there are a few related community projects as above that do this.

@Shadowblitz16 you are probably looking for some layout like this

Dock / AvalonStudio.Shell supports this already.
MDI would just replace the tabs, with a kind of windowing area in the middle.

@danwalmsley this doesn't work. I want to have child windows inside a container, I don't care if they are docked or not.


[fix #255] show flow control memory better

Signed-off-by: zeminzhou<EMAIL_ADDRESS>
What problem does this PR solve?
show flow control memory better
Issue Number: close #255
Problem Description: TBD
see issue #255
What is changed and how does it work?

Code changes

Has exported function/method change

Check List for Tests
This PR has been tested by at least one of the following methods:

Unit test
Integration test
Manual test (add detailed scripts or steps below)

PTAL~


Migration to new org

Motivation

Update references to point to the new organisation.
Rewrite to React and TypeScript.

Checklist

[ ] Code follows coding conventions held in this repo
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
The integration can be deployed and works as before.

There is a problem with scrolling

There is a problem with scrolling

Fixed by not resizing the custom element on window resize when the picker is open (when the size of the custom element should be a fixed size).


Official Hex/RGB Color

Could we get the response from the Simple Icons thread added here so everyone can use the official hex/rgb color for branding purposes?

#491F59

#491F59

You may want to add it to the README for others, but thanks for the response!


feat: setup expo config plugin for ios permissions setup

Summary

Hello @zoontek !
Thank you for this amazing library, to my knowledge this is the sole library which provides a built-in way to check for Bluetooth permissions on iOS and I use that a lot, so this is very useful to me!
I would like to contribute back to this library by providing an Expo config plugin which simplifies the iOS permission setup configuration. The way it is set up is that Expo users would use your library like this:
plugins: [
  	[
		'react-native-permissions',
	      {
	        iosPermissions: ['Bluetooth', 'Calendars', 'LocationWhenInUse'] // etc..
	      },
	]
]

Essentially, what it does it automates the steps 1 & 2 of the iOS setup (which are the most "tedious") from your README. The rest of the setup is supported out-of-the-box by Expo anyways.
Test Plan

I would wholeheartedly like to test but I'm running into a few issues that I believe are NOT caused by me adding this integration. I'll list them here, so I hope you could provide insight into why they're happening since I'm not fully familiar with this repo.

When yarn prepack (i.e. bob build) runs, I'm met with this error:

$ bob build
/Users/jakovglavina/OSS/react-native-permissions/node_modules/cliui/build/index.cjs:291
const stringWidth = require('string-width');
                    ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/jakovglavina/OSS/react-native-permissions/node_modules/string-width/index.js from /Users/jakovglavina/OSS/react-native-permissions/node_modules/cliui/build/index.cjs not supported.
Instead change the require of index.js in /Users/jakovglavina/OSS/react-native-permissions/node_modules/cliui/build/index.cjs to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/jakovglavina/OSS/react-native-permissions/node_modules/cliui/build/index.cjs:291:21)
    at Object.<anonymous> (/Users/jakovglavina/OSS/react-native-permissions/node_modules/yargs/build/index.cjs:1:60678)
    at Object.<anonymous> (/Users/jakovglavina/OSS/react-native-permissions/node_modules/yargs/index.cjs:5:30)
    at Object.<anonymous> (/Users/jakovglavina/OSS/react-native-permissions/node_modules/react-native-builder-bob/lib/index.js:7:37)
    at Object.<anonymous> (/Users/jakovglavina/OSS/react-native-permissions/node_modules/react-native-builder-bob/bin/bob:4:1) {
  code: 'ERR_REQUIRE_ESM'
}

It looks like this is caused by one of the dependencies (builder bob?) - any idea how exactly to resolve this? This is blocking me from testing it by either installing it in the example project or by publishing to NPM and using it then. If we can figure out how to fix this, I'm hoping I can get it running and verify that the changes specified in the config plugin are actually properly applied.
Also, I'm getting this ESLint issue which I'm not sure how to fix:

I see that you have a fairly involved ESLint config file, so I'm not sure what is necessary to do to ensure that ESLint is happy with the app.plugin.js being present in the root directory of this project.
When this is resolved, I can add docs to the README to inform users that this feature is available for them to use.
I hope you can take this pull request into consideration.
Thank you!
What's required for testing (prerequisites)?
Expo project.
What are the steps to test it (after prerequisites)?
Add this package in an Expo project, use the Expo config plugin like so:
plugins: [
  	[
		'react-native-permissions',
	      {
	        iosPermissions: ['Bluetooth']
	      },
	]
]

Observe that the resulting Podfile contains the same changes that it would contain if the setup was done manually.
Compatibility

OS
Implemented

iOS
✅

Android
❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I added a sample use of the API in the example project (example/App.tsx)

Hey! A few things:

Could you remove the expo devDependency? It adds a lot of bloat for those who are not using it (check the PR diff). Having only @expo/config-plugins and expo-module-scripts is enough:

"devDependencies": {
  "@babel/core": "^7.20.0",
  "@babel/preset-env": "^7.20.0",
+ "@expo/config-plugins": "^7.2.5",
  "@types/react": "^18.2.45",
  "@typescript-eslint/eslint-plugin": "^6.14.0",
  "@typescript-eslint/parser": "^6.14.0",
  "eslint": "^8.55.0",
  "eslint-plugin-react": "^7.33.2",
  "eslint-plugin-react-hooks": "^4.6.0",
- "expo": "^49.0.21",
  "expo-module-scripts": "^3.1.0",
  "lint-staged": "^15.2.0",
  "prettier": "^3.1.1",
  "prettier-plugin-organize-imports": "^3.2.4",
  "react": "^18.2.0",
  "react-native": "^0.73.0",
  "react-native-builder-bob": "^0.23.2",
  "typescript": "^5.3.3"
}

Could you cleanup the plugin a bit? (removing extras exported functions / types, giving proper variables names and not one letters). This should do it:

import {ConfigPlugin, withDangerousMod} from '@expo/config-plugins';
import {mergeContents} from '@expo/config-plugins/build/utils/generateCode';
import fs from 'fs';
import path from 'path';

type Props = {
  iosPermissions?: Array<
    | 'AppTrackingTransparency'
    | 'Bluetooth'
    | 'Calendars'
    | 'CalendarsWriteOnly'
    | 'Camera'
    | 'Contacts'
    | 'FaceID'
    | 'LocationAccuracy'
    | 'LocationAlways'
    | 'LocationWhileInUse'
    | 'MediaLibrary'
    | 'Microphone'
    | 'Motion'
    | 'Notifications'
    | 'PhotoLibrary'
    | 'PhotoLibraryAddOnly'
    | 'Reminders'
    | 'Siri'
    | 'SpeechRecognition'
    | 'StoreKit'
  >;
};

const plugin: ConfigPlugin<Props> = (config, {iosPermissions}) => {
  if (iosPermissions == null || iosPermissions.length === 0) {
    return config;
  }

  return withDangerousMod(config, [
    'ios',
    async (config) => {
      const file = path.join(config.modRequest.platformProjectRoot, 'Podfile');
      let contents = await fs.promises.readFile(file, 'utf8');

      contents = mergeContents({
        tag: 'node-require-function',
        src: contents,
        newSrc: `def node_require(script)\n\t# Resolve script with node to allow for hoisting\n\trequire Pod::Executable.execute_command('node', ['-p',\n\t\t"require.resolve(\n\t\t\t'#{script}',\n\t\t\t {paths: [process.argv[1]]},\n\t\t)", __dir__]).strip\nend\n\nnode_require('react-native-permissions/scripts/setup.rb')`,
        anchor: /scripts\/react_native_pods/,
        offset: 1,
        comment: '#',
      }).contents;

      contents = mergeContents({
        tag: 'permissions-array',
        src: contents,
        newSrc: `setup_permissions([${iosPermissions
          .map((permission) => `'${permission}'`)
          .join(',')}])`,
        anchor: /prepare_react_native_project!/,
        offset: 1,
        comment: '#',
      }).contents;

      await fs.promises.writeFile(file, contents, 'utf-8');
      return config;
    },
  ]);
};

export default plugin;

for the ESlint error, add app.plugin.js in the .eslintignore file.
And rebase against master

expo-module-scripts is also really bloated. Please remove it and replace the plugin tsconfig with this (that's all what it imports, but needs a lot of extra deps):
{
  "compilerOptions": {
    "target": "ES2020",
    "lib": ["ES2020"],
    "moduleResolution": "Node16",
    "module": "Node16",

    "strict": true,
    "esModuleInterop": true,
    "declaration": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,

    "rootDir": "src",
    "outDir": "build"
  },
  "include": ["./src"],
  "exclude": ["**/__mocks__/*", "**/__tests__/*"]
}

@zoontek  @fobos531
I used to use version 3 of the lib with expo and it works as expected. all that was needed was adding this package.json hook
   "eas-build-post-install": "react-native setup-ios-permissions && pod-install",

@a-eid The CLI command have been removed in v4

@zoontek yeah, can't wait for this PR to get merged so we're able to upgrade to version 4.

@a-eid I'm waiting for @fobos531 to rebase and perform the requested changes.

Hello @zoontek,
apologies, it took me a while to get to it - I also didn't perform the changes exactly how you requested (by rebasing) since I've had some difficulties with getting it to work (still a little unexperienced), but I'm pretty confident the end result is now the same. I was also able to clean-up the plugin a little further. Here: https://www.diffchecker.com/KtEzHQEf/ You can see the diff between the Podfile where the expo config plugin was not applied, and on the right it was applied using the following syntax:
[
      'react-native-permissions',
      {
        iosPermissions: ['Bluetooth'],
      },
    ],

One thing to note is that this is plugin supported on RN 0.72+ only (I didn't account for the require_relative syntax for < 0.72)
Let me know in case you require any other changes from my end.

Perfect, I merge this is a 4.1.0 for more testing before a release, thanks a lot!


Threejs

Hi!
I have added some directives to your project. I am going to add some more later, but maybe you can pull/comment the directives now also...
Regards,
Sandor

I have pushed the fixes to my repo/branch

Thank you very much, merged!
cc @makimenko


CUDA compatibility

I have an older version of the NVIDIA driver (450.36), which does not support CUDA toolkit >= 11.1 (CUDA compatibility)
In such cases, network/predict_*.py scripts failed to run smoothly using GPUs because of the compatibility issue.
Do the script really necessary to be run with the CUDA toolkit=11.1? When I created another RoseTTAFold conda environment with

cudatoolkit=10.2
pytorch=1.8.1 (it could be 1.9.0, but I was using 1.8.1, so I tested with it.)

, the scripts seem to work fine.
Someone who struggles with the same issue may use this YAML file for the RoseTTAFold conda environment creation.

Yes, CUDA 10.2 should also work fine. Thanks for making YAML file with CUDA 10.2. I'll include this file in the repo.

CUDA 10.1 is OK.


drivers: pwm: pwm_mcux_sctimer: Fix stopping PWM

When the pulse was set to 0, the PWM controller was never correctly stopped and used the last configured pulse instead.
We now configure the device and apply the new duty cycle everytime.
Signed-off-by: Guy Morand<EMAIL_ADDRESS>

#51392 adds sctimer

@morandg thank you for your PR. Can you please share the steps you used to see the failure?

Thanks @mmahadevan108 for your feedback. I was using a vibration motor. Here are the steps (pseudo code) to reproduce the problem I had:
pwm_set_pulse_dt(pwm, pwm->period);      /* Vibrate 100% */
pwm_set_pulse_dt(pwm, 0);                /* Still Vibrate 100% */
pwm_set_pulse_dt(pwm, pwm->period / 2);  /* Vibrate 50% */
pwm_set_pulse_dt(pwm, 0);                /* Still Vibrate 50% */

With this patch, I was able to stop the motor with pwm_set_pulse_dt(pwm, 0);

OK @mmahadevan108, I tested you change and can confirm it fixes my issue. I changed the commit message consequently, I'm just ashamed, you deserve the honor :wink: ! Thanks for taking time in looking into this!

OK @mmahadevan108, I tested you change and can confirm it fixes my issue. I changed the commit message consequently, I'm just ashamed, you deserve the honor 😉 ! Thanks for taking time in looking into this!

@morandg, thank you for finding this issue and for the fix.


fix for path variable

docker-bench-security.sh overwrites the PATH variable which makes problems if eg the docker binary is at a different installation directory. This fix includes the originl PATH variable content.

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "path_variable_fix" git@github.com:mike01/docker-bench-security.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Thanks!


Crash when an imageless VkFramebuffer is passed to vkBeginCommandBuffer in VkCommandBufferInheritanceInfo

Description
The RenderDoc application crashes while loading a capture containing a call to vkBeginRenderPass() for a secondary command buffer when pBeginInfo->pInheritanceInfo->framebuffer is imageless.

The stack trace: (click to expand)
renderdoc.dll!VulkanRenderState::SetFramebuffer(WrappedVulkan * vk, ResourceId fb, const VkRenderPassAttachmentBeginInfo *) Line 1001
	at c:\build\renderdoc\renderdoc\driver\vulkan\vk_state.cpp(1001)
renderdoc.dll!WrappedVulkan::Serialise_vkBeginCommandBuffer<ReadSerialiser>(ReadSerialiser & ser, VkCommandBuffer_T *) Line 1181
	at c:\build\renderdoc\renderdoc\driver\vulkan\wrappers\vk_cmd_funcs.cpp(1181)
renderdoc.dll!WrappedVulkan::ProcessChunk(ReadSerialiser & ser, VulkanChunk chunk) Line 3322
	at c:\build\renderdoc\renderdoc\driver\vulkan\vk_core.cpp(3322)
[Inline Frame] renderdoc.dll!WrappedVulkan::ContextProcessChunk(ReadSerialiser &) Line 3209
	at c:\build\renderdoc\renderdoc\driver\vulkan\vk_core.cpp(3209)
renderdoc.dll!WrappedVulkan::ContextReplayLog(CaptureState startEventID, unsigned int endEventID, unsigned int partial, bool) Line 2908
	at c:\build\renderdoc\renderdoc\driver\vulkan\vk_core.cpp(2908)
renderdoc.dll!WrappedVulkan::ReplayLog(unsigned int startEventID, unsigned int endEventID, ReplayLogType replayType) Line 3909
	at c:\build\renderdoc\renderdoc\driver\vulkan\vk_core.cpp(3909)
renderdoc.dll!ReplayController::SetFrameEvent(unsigned int eventId, bool force) Line 79
	at c:\build\renderdoc\renderdoc\replay\replay_controller.cpp(79)
qrenderdoc.exe!CaptureContext::SetEventID::__l2::<lambda>(IReplayController * r) Line 1609
	at c:\build\renderdoc\qrenderdoc\code\capturecontext.cpp(1609)
[Inline Frame] qrenderdoc.exe!std::_Func_class<void,IReplayController *>::operator()(IReplayController * <_Args_0>) Line 279
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional(279)
qrenderdoc.exe!ReplayManager::run(int proxyRenderer, const QString & capturefile, const ReplayOptions & opts, std::function<void __cdecl(float)> progress) Line 497
	at c:\build\renderdoc\qrenderdoc\code\replaymanager.cpp(497)
[Inline Frame] qrenderdoc.exe!ReplayManager::OpenCapture::__l2::<lambda_8e15d59e77d1dca0d37b5b8c2fe4de48>::operator()() Line 58
	at c:\build\renderdoc\qrenderdoc\code\replaymanager.cpp(58)
[Inline Frame] qrenderdoc.exe!std::_Invoker_functor::_Call(ReplayManager::OpenCapture::__l2::<lambda_8e15d59e77d1dca0d37b5b8c2fe4de48> &) Line 1375
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits(1375)
[Inline Frame] qrenderdoc.exe!std::invoke(ReplayManager::OpenCapture::__l2::<lambda_8e15d59e77d1dca0d37b5b8c2fe4de48> &) Line 1443
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits(1443)
[Inline Frame] qrenderdoc.exe!std::_Invoke_ret(std::_Forced<void,1>) Line 1461
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits(1461)
qrenderdoc.exe!std::_Func_impl<<lambda_8e15d59e77d1dca0d37b5b8c2fe4de48>,std::allocator<int>,void>::_Do_call() Line 214
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional(214)
[Inline Frame] qrenderdoc.exe!std::_Func_class<void>::operator()() Line 279
	at c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional(279)
qrenderdoc.exe!LambdaThread::process() Line 511
	at c:\build\renderdoc\qrenderdoc\code\qrdutils.h(511)
Qt5Core.dll!00007ffaba6d1d49()
Qt5Core.dll!00007ffaba504c0f()
Qt5Core.dll!00007ffaba505e6f()
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()

As far as I can tell, VulkanRenderState::SetFramebuffer assumes that for imageless framebuffers the caller always provides a non-null attachmentsInfo. But WrappedVulkan::Serialise_vkBeginCommandBuffer doesn't do so and ends up defaulting to NULL.
Neither the documentation for VkCommandBufferBeginInfo nor the documentation for VkCommandBufferInheritanceInfo appear to restrict framebuffer to non-imageless framebuffers.
The Validation Layers also don't complain about this.
Since neither structure in question appears to have a way of passing VkRenderPassAttachmentBeginInfo (or an equivalent) in their chains, the best option is probably just to avoid filling fbattachments when attachmentsInfo is NULL.
Steps to reproduce
I can't provide a capture of the application, but this is the approximate code to reproduce:
// Create an imageless framebuffer:
vk::RenderPass pass = /* create a render pass with at least one attachment */;
vk::Extent2D extent = /*...*/;
std::vector<vk::FramebufferAttachmentImageInfo> attachment_image_infos = /* collect the image info corresponding to each attachment */;
auto framebuffer = device.createFramebufferUnique(
        vk::StructureChain{
                vk::FramebufferCreateInfo{vk::FramebufferCreateFlagBits::eImageless,
                                          pass,
                                          attachment_count,
                                          nullptr, /*attachments*/
                                          extent.width,
                                          extent.height,
                                          1 /*layers*/},
                vk::FramebufferAttachmentsCreateInfo{attachment_image_infos}}
                .get(),
        nullptr /*allocator*/);

// Allocate and begin a secondary command buffer
auto command_buffer = /* allocate secondary command buffer */;
const auto inheritance_info = vk::CommandBufferInheritanceInfo{pass,
                                                               0, /*subpass*/
                                                               *framebuffer,
                                                               /*...*/};
command_buffer.begin(
        vk::CommandBufferBeginInfo{vk::CommandBufferUsageFlagBits::eOneTimeSubmit |
                                   vk::CommandBufferUsageFlagBits::eRenderPassContinue,
                                   &inheritance_info});

Passing nullptr instead of framebuffer in VkCommandBufferInheritanceInfo when RenderDoc is loaded into the process works around the issue.
Environment

RenderDoc version: 1.22
Operating System: Windows 10
Graphics API: Vulkan
GPU: NVIDIA RTX 2080
NVIDIA Driver: 517.48

Thanks for the clear bug report, that commit fixes all three of the issues you reported. For future reference, there's no need from my side to create separate issues for individual bugs when they are very similar like this, but it's up to you.


Support HTTP cookies

As there is no cookie support there is no way to authenticate with HTTP services using cookie session-based authentication.
It is not possible to send any Cookie credentials manually as a workaround at this moment as the XHR.withCredentials flag (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials) is only supported by the XHR Living Standard spec and XHR in Tabris.js is based on XHR Level 2.

Tabris.js clients already manage cookies automatically.


client publication logic fails

I see errors in the pipeline due to false positive when it comes to detecting a diff in the client packages. The diffing logic should correctly detect that no changes are found.

fixed


duplicate console script js-beautify

the node module:
https://github.com/beautify-web/js-beautify/blob/master/package.json#L9
and the python package:
https://github.com/beautify-web/js-beautify/blob/master/python/setup.py#L39
both install a js-beautify executable binary
do they support the same CLI arguments ?
are they supposed to give the same results ?
I think that it would make sense to rename one or the other.

@simevo They support similar arguments but not the same - the node version supports beautifying of css and html as well. Renaming one or the other would be a breaking change.


Grid stopped loading

My grid stopped loading data today and only diplays the not found div.
I havent changed anythins and my console shows not error.
My apache registry says:
mod_fcgid: stderr: PHP Notice: Undefined index: id in /data/vhosts/facileristrutturare.it/httpdocs/marketing/jsgrid/clients/index.php on line 13
The id filed obviously exists in my table.
Any help appreciated

If you're absolutely certain that there haven't been any code changes then the first thing I would think is to look at the actual dataset you're trying to push into the table. Maybe that has changed, maybe the items don't contain a proper id field anymore?

Try to find problems in you backend.


[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive.

Error: [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. occurs when adding pinch gesture
Example
	const bindPinch = usePinch((event) => {
		console.log(event);
	}, {
		event: {
			passive: false,
		},
	});

My goal is - handle macbook touchpad pinch gesture, and prevent default behavior.

You can see an example of the issue here https://codesandbox.io/s/9o92o24wrr
Try zoom picture by pinch gesture.

Hi, please make sure you read this from the readme.
Note sure what's wrong with the example?

Thank you for the link.
In the example when I try zoom picture, it also scales whole page.
I am using macbook touchpad to zoom.
Also, there error in console.

What browser are you using?

Google Chrome. I can capture a video. Will it help ?

That's fine! I've fixed the sandbox, you can check the link again and it should work ok ;)

It works ok !
Please, help me, I don't understand why it doesn't work in my code.
function Component ( ) {
        document.addEventListener('gesturestart', e => e.preventDefault());
        document.addEventListener('gesturechange', e => e.preventDefault());

        const ref = useRef();
	const bindPinch = usePinch(({ event }) => {
		event.preventDefault();
	}, {
		event: { passive: false },
		domTarget: ref,
	});

	return (
		<animated.div
			{...bindPinch()}
			ref={ref}
		>
                 ...
		</animated.div>
	);
}

I have this error
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/6662647093133312

When using the domTarget option you can't spread the bind object to the component. You need to use React.useEffect as explained here.
React.useEffect(bindPinch, [bindPinch])

Also, in your example you should make sure to remove gesture listeners when the component unmounts.

It works. Appreciate your help !


workarea is cutting in taskbar in WIN2K8R2 [Ubuntu & RedHat]

Describe the bug
When taking RDP connection via Ubuntu 16 or RHEL 7.5 with /workarea and /dynamic-resolution, taskbar for WinServer 2008 R2 is getting cut. Also resizing window isn't helping either. Its cutting more elements of desktop. It should properly calculate the window size, by taking into account top bar & dock.
To Reproduce
Taking RDP connection of Win 2008 R2 server with /workarea and /dynamic-resolution option.
Expected behavior
It should set  window size properly taking into account topbar & dock/status bar.
Screenshots

** Application details

Version of FreeRDP:  FreeRDP version 2.0.0-dev3 (n/a)

Command line used: xfreerdp /u:admin /p:pass /d:test /v:IP /t:Windows RDP test@IP /dynamic-resolution /workarea

output of /buildconfig
This is FreeRDP version 2.0.0-dev3 (n/a)
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 WITH_ALSA=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=OFF WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=FALSE WITH_FFMPEG=FALSE WITH_GFX_H264=OFF WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=OFF WITH_GSTREAMER_1_0=OFF WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PCSC=OFF WITH_PROFILER=OFF WITH_PULSE=OFF WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=OFF WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SSE2=ON WITH_THIRD_PARTY=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=OFF WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=OFF WITH_XEXT=ON WITH_XFIXES=OFF WITH_XI=OFF WITH_XINERAMA=OFF WITH_XKBFILE=OFF WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XV=OFF WITH_ZLIB=ON
Build type:          Release
CFLAGS:               -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls
Compiler:            GNU, 5.4.0
Target architecture: x64

OS version connecting to: Windows Server 2008 R2

If available the log output from a run with /log-level:trace

Desktop (please complete the following information):

OS:  Ubuntu 16.04.5 LTS
Browser: Mozilla Firefox
Version: 67.0.4

Thank you for reporting a bug!

Duplicates #428
pull requests welcome.


Zabbix Agent 4.0 incompatibility

I use zabbix-agent 4.0 on SLES 12 SP 3 and zabbix-disk-performance does not work.
I had to downgrade to version 3.0 of zabbix-agent to correct the problem.

I'm using it with V4 and works, what error did you get? you can use zabbix_get to query the agent from the server:
zabbix_get -s zabbix_agent_IP -p 10050 -k "a_key"
Zabbix agent just reads whatever output the python script generates.


tests: add -platform offscreen for non-X11 testing

(I deliberately didn't include -platform offscreen for taskmanager because I want to make sure the test fails)


Support partial rebuilds

eventually, build times are going to balloon. It would be nice to have the build server retrieve the list of already built packages and only build changed packages

Fixed in 2834d5bb7f0131a7465172b01ed8566ee7496e88.


uncomment imklog in /etc/rsyslog.conf

run into problem when starting rsyslog in start-sshd.sh
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.

https://stackoverflow.com/questions/56609182/openthread-environment-docker-rsyslogd-imklog-cannot-open-kernel-log-proc-km

Yes, that's been there from the beginning. It's harmless, though. It says rsyslogd (run under non-root) cannot see the kernel logging (which we don't want anyway).


Generate build files failed

Hi
after run this command
 gn gen --args='mac_deployment_target="10.15.5" mac_min_system_version="10.11.0" is_debug=false' out/Release
i get this:
ERROR at //rns_shell/rns_shell.gni:29:6: Undefined identifier

@mldb  rns_shell which was added recently, replaces the previous sk_app usage. This error is from rns_shell which currently supports linux platforms. It does not have support for macOS builds and hence this error.
This information update in the readme is missed.
FYI : rns_shell was integrated at commit #d609f0e. Builds previous to this commit would work for both linux and macOS.

macos is broken in the meantime. to speed up development react-native-skia, we are now focusing linux first. i will try to find some available time to add macos support back.

@mldb If you still want to try the initial version on macos then you can try our downstream with tag v0.1

@Kudo @munezbn thanks 🙏


High pitched voices when scaling fft size up to 4096

Let me start by saying that this repo is fantastic. I've successfully synthesized voices and would like to experiment with scaling up fft size and other audio parameters.
I'm running with the following:
n_fft: 4096
hop_samples: 256
sample_rate: 32000
I'm able to train and the loss goes down quite a lot, but when I listen to the sample voices they are very high pitched compared to when training with n_fft = 1024. I think somewhere during training the voices are being squeezed together and messing with the pitch.
Are there any modifications that need to be made to make this work? For reference I'm training on the ljspeech dataset.
Thank you!

There's probably a mismatch between the sampling rate of the .wav files and what's specified in params.py. My best guess is that you forgot to run preprocess.py again after changing the parameters. Can you resample the .wav files, re-run the preprocessing script, and try again?

Excellent catch, I had realized shortly after posting that this was the issue. I changed some of the code to use librosa to load the wav and resample it as it appears to be faster than torchaudio's resampler and now it's chugging along. However, after doing this I'm only getting silence in the audio samples during training. I think maybe crop_mel_frames is too small now that each frame is over less time? I tried cranking it up to 256 (using almost all my GPU memory in the process), but it's still silent.

I'm guessing that's because in your code, signal is a float sequence in the range [-1.0, 1.0] but dataset.py expects the signal to be an int16 sequence in the range [-32768, 32767]. IIRC, librosa rescales the input file whereas torchaudio doesn't.
If that's the issue, try removing the division by 32767.5 in dataset.py.

That would make a ton of sense. I'm running something else on my GPUs at the moment, but I'll give that a try early next week and report back. Thank you for your help!

That did it. Training is proceeding really well and the samples are very clear. Thank you!


[cxx-interop][driver] make '-emit-clang-header-path' a fully supporte…

…d driver flag
This will let other build systems call it without relying on the frontend flag

Explanation:
The -emit-clang-header-path flag is only a frontend option. Make it a driver option, so we can advise CMake / other build systems to emit a header using a Swift invocation, and not a Swift frontend invocation.
Scope: Swift's driver options
Risk: Low.
Testing: Swift driver unit tests.
PR: https://github.com/apple/swift/pull/66418

@swift-ci please test


Checking Storage Device

Pretty sure the "checking storage device" is just 'emulating' the PS2 memory card scanning, and should have been removed in the PS3/X360 versions. Even with an HDD however, the loading is much faster.
Would it be possible to remove/reduce the timing to the actual data load speed?
Thank you for your amazing work.

I saw that in the PS3 HD Collection too last time I played it, it has nothing to do with PS2.

The saving is pretty much instant for me in MGS2, and for me the actual save files are larger in 2 as well compared to 3. They're just kilobytes in size so it really shouldn't take as long as it does. If those loading animations could be removed from 3 that's a decent QOL change.


Feature/my awesome change

Checkmarx One – Scan Summary & Details – 129d6305-eb2c-4f8f-a14c-0ff4f7cc9467
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

Missing User Instruction
/Dockerfile: 2
A user should be specified in the dockerfile, otherwise the image will run as root

Image Version Using 'latest'
/Dockerfile: 2
When building images, always tag them with useful tags which codify version information, intended destination (prod or test, for instance), stabili...

Healthcheck Instruction Missing
/Dockerfile: 2
Ensure that HEALTHCHECK is being used. The HEALTHCHECK instruction tells Docker how to test a container to check that it is still working

Fixed Issues

Severity
Issue
Source File / Package

Unpinned Package Version in Apk Add
/Dockerfile: 6

Healthcheck Instruction Missing
/Dockerfile: 3


Running into RAM issues with a relatively small dataset

I'm running into issues where the train script fills up my memory (16GB RAM) with even 900 training examples. I am attempting to utilize the semi-supervised approach described in the blog bost, but capping out on RAM before even using thousands of images.
Is there something I am doing wrong to be able to utilize more images for training? I can't seem to find others struggling with this issue so I assume I have missed a detail somewhere in the blog or the README, but I am unable to find it.

Which step is failing for you?
( Any custom flags? )
On Mon., 13 May 2019, 19:45 William Held<EMAIL_ADDRESS>wrote:

I'm running into issues where the train script fills up my memory (16GB
RAM) with even 900 training examples. I am attempting to utilize the
semi-supervised approach described in the blog bost, but capping out on RAM
before even using thousands of images.
Is there something I am doing wrong to be able to utilize more images for
training? I can't seem to find others struggling with this issue so I
assume I have missed a detail somewhere in the blog or the README, but I am
unable to find it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/matpalm/bnn/issues/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAFILP3FSY7FEW3BR3LTULPVE2C5ANCNFSM4HMODJUA
.

Also, is that 16gb main or gpu ram?
First thing to try is a smaller batch size
On Mon., 13 May 2019, 20:32 Mat Kelcey<EMAIL_ADDRESS>wrote:

Which step is failing for you?
( Any custom flags? )
On Mon., 13 May 2019, 19:45 William Held<EMAIL_ADDRESS>wrote:

I'm running into issues where the train script fills up my memory (16GB
RAM) with even 900 training examples. I am attempting to utilize the
semi-supervised approach described in the blog bost, but capping out on RAM
before even using thousands of images.
Is there something I am doing wrong to be able to utilize more images for
training? I can't seem to find others struggling with this issue so I
assume I have missed a detail somewhere in the blog or the README, but I am
unable to find it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/matpalm/bnn/issues/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAFILP3FSY7FEW3BR3LTULPVE2C5ANCNFSM4HMODJUA
.

CPU Memory is filling up during training, I initially had issues with GPU RAM, but those were solved by using the patch training. Below is the command I am currently running for training.
./bnn/train.py --run r12 --steps 1000 --train-steps 50 --batch-size 4 --train-image-dir train/ --test-image-dir test/ --label-dir labels/ --patch-width-height 256 --width 1280 --height 720 --label-db labels.db

in data.py there's a data.shuffle(1000)
can you try with a lower number there? say 100
On Mon, 13 May 2019 at 20:38, William Held<EMAIL_ADDRESS>wrote:

CPU Memory is filling up during training, I initially had issues with GPU
RAM, but those were solved by using the patch training. Below is the
command I am currently running for training.
./bnn/train.py --run r12 --steps 1000 --train-steps 50 --batch-size 4 --train-image-dir train/ --test-image-dir test/ --label-dir labels/ --patch-width-height 256 --width 1280 --height 720 --label-db labels.db
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/matpalm/bnn/issues/21#issuecomment-491770393, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAFILKSKXQKHR5YA2EDPU3PVFALHANCNFSM4HMODJUA
.

This significantly improves the memory usage! Will it have negative side effects?

I very much doubt you'd see a difference (especially with a small batch
size)
On Tue., 14 May 2019, 01:38 William Held<EMAIL_ADDRESS>wrote:

This significantly improves the memory usage! Will it have negative side
effects?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/matpalm/bnn/issues/21?email_source=notifications&email_token=AAAFILPB5XBQL4KV3XAN3ZTPVGDQ7A5CNFSM4HMODJUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVIWTXQ#issuecomment-491874782,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAFILJ4XV6XAEN5MNUVUGTPVGDQ7ANCNFSM4HMODJUA
.

Great, thanks!


distutils deprecation

In python 3.12 distutils is deprecated. We currently make use of numpy's distutils module to setup the package (which is also deprecated in python 3.12). Thus we need to update to a different build system.
This will likely be handled with a meson build system (like we are currently using in geoana and discretize). The only issue I need to research is how to find the mkl linkage options in meson (which I think numpy should have an example of this).

Closed with #12


Clarification on useCallback function name on beta docs

In the react beta docs,  useCallback api reference page gives the following example

I think the constant naming memoizedFn leads to some confusion on what useCallback does.
People tend to assume that useCallback actually memoizes the function but it does not do that. It returns the same instance of the function between re-renders.
An appropriate name of that variable should be originalFn.
I maybe wrong so please let me know if the above makes sense.
Big fan of the beta docs btw ❤ , beautiful documentation and excellent examples!

I agree with the concern but I don’t think your suggestion is much clearer.

how about a simple returnedFn? Since useCallback does return a function.
Maybe I can send a small PR and we can start a discussion on it. More folks can chime in.

I don't think that's better either since you could prepend any name with returned and it wouldn't change the meaning.

I agree with @gaearon; it would change the meaning


Add task ratings edition to TaskOverviewPage

I diverged from figma's design, as task rating modal displays multiple ratings. There would be no need to find the rating from a (possibly long) rating list if user can edit all of their given ratings through one button.

Actually I'll draft this: only admin can currently see the ratings. But feel free to give feedback in the meantime.


Vite plugin breaks vitest coverage report

As soon as the Vite plugin is used, all components (Vue 3 SFC) are marked as 100% covered.
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'

export default defineConfig({
  plugins: [vue(), Components()],
  test: {
    global: true,
    environment: 'happy-dom'
  }
})

npx vitest run --coverage:
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 App.vue  |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

Once I remove Components() from plugins: coverage works fine again:
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |   88.23 |      100 |       0 |   88.23 |
 App.vue  |   88.23 |      100 |       0 |   88.23 | 9-10
----------|---------|----------|---------|---------|-------------------

I could provide a minimal example but this applies to everything using vite and vitest so it should be very easy to reproduce. (It makes no difference if there are resolvers included or not.)

probably caused by https://github.com/antfu/unplugin-vue-components/issues/219


Reorganize tools

fix #400
Summary of Changes
Big one-time reorganization of import and file structure for utils and tools.
Utils
utils functions are now split into 3 file categories based on application: dict (deep update and its related functions, loading proper dict structures from YAML/JSON), schema (little schema helpers and the complex functions for schema inference and retrieval from method signatures and HDMF structures), and types (standalone file containing our custom defined TypeVars and other central references).
All utils functions and classes are now imported as: from nwb_conversion_tools.utils import deep_dict_update, FilePathType. The new file structure is purely for ease of organization and external introspection or navigation.
Tools
In accordance with option (a) from the corresponding issue, each externally supported package now has its own folder within the tools directory.
References to spike_interface are now renamed to spikeinterface to better match the official package and for consistency with roiextractors.
Each of these are now importable from the following alias method:
from nwb_conversion_tools import spikeinterface, roiextractors
spikeinterface.write_recording?
roiextractors.write_imaging?

or
import nwb_conversion_tools
nwb_conversion_tools.spikeinterface.write_recording?
nwb_conversion_tools.roiextractors.write_imaging?

which is syntactically more analogous to the previous static method calls, but instead of belonging to a class they belong to a module. The requested alias method of from nwb_conversion_tools.spikeinterface import write_recording proved quite difficult and hacky to implement, so this is the best we could do.
@bendichter Possibly relevant to your DataLad work: another change is to simplify a filename from what was previously nwb_conversion_tools.utils.nwbfile_tools to nwb_conversion_tools.tools.nwbfile. This is the submodule that contains NWBFile related things like get_module.
The YAML conversion specification feature is now directly importable from the highest level: from nwb_conversion_tools import run_conversion_from_yaml. It now has its own folder as well in anticipation of many future features such globbing and CLI.
Checklist

[X] Have you checked our Contributing document?
[X] Have you ensured the PR description clearly describes the problem and solutions?
[X] Have you checked to ensure that there aren't other open or previously closed Pull Requests for the same change?
[X] If this PR fixes an issue, is the first line of the PR description fix #XXX where XXX is the issue number?

I worry about a module called nwbfile, because we often use nwbfile as the variable name for an NWBFile object. I also think we might have NWB tools that don't operate on NWBFile objects per se, so it might be better to just call this module nwb.py.

I worry about a module called nwbfile, because we often use nwbfile as the variable name for an NWBFile object. I also think we might have NWB tools that don't operate on NWBFile objects per se, so it might be better to just call this module nwb.py.

That's a fair point... but I've also seen other people use nwb as the name of their NWBFile object, lol.
Hmmm.... maybe a slightly redundant name nwb_conversion_tools.tools.nwb_tools then?

that has "tool" in it 3 times..

that has "tools" in it 3 times..

'slightly'™ redundant 😄
The issue at hand is this is a module that can be imported as from nwb_conversion_tools.tools import nwbfile (or nwb) and you would then have an object in the environment that could have the same name as an actual instance of an NWBFile.
Otherwise if anyone imports specific functions from it like from nwb_conversion_tools.tools.nwbfile import get_module I think it's clear enough that it's a module, not an instance of an NWBFile.
Any other ideas? nwb_helpers? nwb_funcs? nwb_extra?

I like nwb_helpers

nwb_helpers it is - see anything else?

why change "json_schema" to "schema"? We are specifically using the json schema protocol

why change "json_schema" to "schema"? We are specifically using the json schema protocol

Thought was so that it then matches the name of the outermost level schemas (the folder where we keep hard-coded JSON schemas centralized).
Would you prefer these both to be changed to
nwb_conversion_tools/schemas/ -> nwb_conversion_tools/json_schemas/
and
nwb_conversion_tools/utils/schema.py -> nwb_conversion_tools/utils/json_schema.py
to further emphasize the fact they are explicitly following the JSON protocol?

I don't see why they need to match. In fact I think it's better that they don't so they don't get confused with each other.

Restored util submodule to previous json_schema.
In the release notes for this major version increase, I will include the following simple instructions for updating any scripts that are broken in going from v0.9.9 to >=v0.11.x.
from nwb_conversion_tools.utils.json_schema import xyz becomes from nwb_conversion_tools.utils import xyz
from nwb_conversion_tools.utils.nwbfile_tools import xyz becomes from nwb_conversion_tools.tools.nwb_helpers
from nwb_conversion_tools.utils.spike_interface import xyz becomes from nwb_conversion_tools import spikeinterface + spikeinterface.xyz

This looks good to me

Just let me know if you want me to go into existing code somewhere that requires these updates. Happy to save other people (and you) the pain if you just point me to the place that needs it
I'll give the other PRs a look through to see if anything else can get merged first to reduce conflicts


Is there automation to revert paket convert-from-nuget? [Question]

Description
I have a solution with around 60 projects. We use paket, but with multpiple groups with projects referencing each other, we got some trouble with transitive netstandard2.0 dependencies etc - it all became just huge ugly mess. Since our company policy is "we don't support paket", I wanted to try and remove paket to test whether it changes anything.
Is there a command that reverts paket convert-from-nuget? The process is fairly straight forward - copy paket.references into csproj and put it into PackageReference and remove inclusion of paket.restore.targets (at least for SDK projects)
Repro steps
Please provide the steps required to reproduce the problem

Convert solution to paket with paket convert-from-nuget

Known workarounds
I know that I can script that in few minutes (and probably will while I wait on the response), but is there a built in way to do this?
Maybe this could be a feature?

Same question has been asked here: https://github.com/fsprojects/Paket/issues/3997

So no chance for this to be a feature? thanks for the link, it's very usefull

hi, @skowronek-relativity I'm also interested in reverting for more than 200 projects
did you manage to find a way to automate it?
thank you!


Fix "unrecognized cop" warning in brew style

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Fixes an "unrecognized cop" warning by splitting out the RSpec-specific cop configuration to its own file that's only used when brew style --rspec is called.
Before:
$ brew style                                                                                master
Warning: unrecognized cop Rspec/ExpectActual found in .rubocop.yml
Warning: unrecognized cop Rspec/ExpectActual found in .rubocop.yml
Inspecting 657 files
..............................................................................................................................................................................

After:
$ brew style                                                                                fix-rspec-rubocop-warning
Inspecting 657 files
.......................................................................................................................................................................

Should probably be merged before doing any more rspec-rubocop configuration, to avoid even more warnings.

Nice! Thanks again @apjanke!


Padding Bug in ScrollView Native

Current Behavior
Using padding on the ScrollView cuts the content in Expo Android.
Current behavior in Expo Android:
https://github.com/tamagui/tamagui/assets/17579637/14e3a699-3062-4776-9f0d-55d03b0e26aa
Code:
export function HomeScreen() {
  return (
    <XStack fullscreen>
      <YStack flexGrow={1}>
        <XStack>

HEADER

        </XStack>
        <ScrollView bc="blue" padding="$5">

Welcome 1

Welcome 2

Welcome 3

Welcome 4

Welcome 5

Welcome 6

Welcome 7

Welcome 8

Welcome 9

Welcome 10

Welcome 11

Welcome 12

Welcome 13

Welcome 14

        </ScrollView>

FOOTER

      </YStack>
    </XStack>
  )
}

Expected Behavior
Expected behavior (works in the web!):
https://github.com/tamagui/tamagui/assets/17579637/799f7ee3-3142-4062-b8cd-3861d13a9c69
Tamagui Version
1.50.2

Reproduction
https://github.com/tjapa/tamagui-scroll-view-padding-bug

System Info
No response

Works if I add the padding to contentContainerStyle
...
      <ScrollView bc="blue" contentContainerStyle={{ padding: 32 }}>
...

But breaks if a try:
...
      <ScrollView bc="blue" contentContainerStyle={{ padding: '$5' }}>
...

Yes contentContainerStyle doesn't accept tamagui props, if you want that just add an inner view. Closing as this is a feature request and those are more for discussions.

I don't think this should have been closed. The issue occurs because the scrollview defaults to fullscreen mode with absolute positioning and the header in the example offsets the start and stop without accommodation.
// @tamagui/scroll-view/src

export const ScrollView = styled(ScrollViewNative, {
  name: 'ScrollView',
  scrollEnabled: true,

  variants: {
    fullscreen: {
      true: fullscreenStyle,
    },
  } as const,
})


*sum utilities are available since 086feed850c31c278f25c958b97992d024139896

*sum utilities were added on May 19th in https://github.com/freebsd/freebsd-src/commit/086feed850c31c278f25c958b97992d024139896
They're symlinks and their behaviour should be compatible with Linux tools.

well, note how we provide a custom implementation of md5 (+ its symlinked versions) as well; the main reason being that these tools rely on the systemwide freebsd message digest APIs, so the freebsd tool would have to be rewritten around libcrypto anyway (or i'd have to create shim impls of the freebsd APIs in libcompat)
that said, the *sum variant in freebsd doesn't implement the --check option, which is arguably the actual reason why ever use the GNU variant...

Thank you for additional context. :+1: I'll post update when FreeBSD's tools have --check option implemented.


Add support for setting workspace using the config

What does this PR do?

📥 Use workspace specified in config

If workspace name is specified in the config, we use it while creating a new time-entry.
If the workspace name cannot be matched against the fetched workspaces from the API, we raise an error.
If workspace name is not specified in the config, we use the default workspace.

Note: At the moment I don't have access to multiple workspaces, it's a paid feature.
So, I'm unable to test this feature comprehensively. I've tested it with the workspace I have access to.
Both by specifying the workspace name explicitly in the config and by omitting it.

Default behaviour (no workspace set)

Workspace name specified

Invalid workspace name

Gif

Context

Closes #79

Hi @shantanuraj,
Thank you for creating the PR!
I tested the build on this branch with a specified workspace configuration. The default behavior (when no workspace is set) and handling of an invalid workspace name both work as expected. However, when a valid workspace name is specified, it appears to record the entry in the default workspace instead.
Here’s a recording of the test for reference:
https://asciinema.org/a/q5bQaiODlWBGa1yaQqcrRyhvF
(In this video, Junsei Nagao’s workspace is not the default workspace.)

Good catch, I forgot to update the original line you mentioned in the issue
https://github.com/watercooler-labs/toggl-cli/blob/376ae9d51709f7612eb576c38b3bfab4ee02896e/src/commands/start.rs#L106
I'll make the change as soon as I get the time.

Hey @junseinagao I've fixed the issue with workspace_id not being considered
while creating the time-entry.
Was a bit more involved because we started running into rate limit issues
with the Toggl API, so had to restructure the creation code a bit.

@shantanuraj
Hi,
I tested the latest development version, and it works perfectly!
However, I did encounter some network errors when creating a time entry in both the current published version and this branch's version. The errors seem to occur less frequently in the latest version of this branch.
Thank you for the fix and all the work you put into resolving the workspace_id issue!

Hmm yeah I think it might be related to our (lack of) handling of the 429s.
I'll explore that in another pull-request thanks for testing I'll release this now.


Getting all users who have a specific permission / list of permissions on a specified resource

Is there some way to retrieve a list of users who can access a given resource/all users who are allowed to perform a specified action on a given resource?
i.e. input(resource, permission) -> output(users)
Can it be achieved using the query_rule() method??
Also, if it can be done, can it be extended to take in multiple permissions, and return the users who have all these permissions on the specified resource??
Say, with some structure like this-
get_users(permissions: List[str], resource: Resource) -> List[User]
An example would look like -
get_users(permissions = ["read", "write"], resource = g.session.query(Repo).filter_by(id=any_repo_id).one_or_none())

Running into this issue too 🫠

Example using the new nodejs sdk 2.0:
const user = typedVar("User");
    const anvilRepo = { type: "Repo", id: "anvil" };
    const usersAuthorizedToViewAnvilRepo = await oso
      .buildQuery(["allow", user, "view", anvilRepo])
      .evaluate(user);


Preparing tabular data

While exploring a student's notebook, using the WMO Hurricane Survival Dataset, I got the followinf error:
"ValueError: Must have equal len keys and value when setting with an iterable"
After trying a number of things, I found 2 relevant matters. I gave the following indications to the students, and suggest that they get integrated into the Tabular Coursebook:

Missing values
Execute this to see how many rows there are with at least 1 missing value

<your_data_frame>.isna().any(axis=1).sum()
If those rows are a small percentage of the total number of rows,  drop them like this, otherwise the pycarret setup will complain
<your_data_frame>.dropna(inplace=True)
<your_data_frame>.reset_index(inplace=True, drop=True)

A parameter in the setup
Add the this parameter in the signature of setup:
profile=False

It's surprising that you should have to do that, because when I look at the source code (by doing
?? pycaret.classification.setup), that is the default value. But set it anyway:
data_prep = setup(data, target = <your_target> , session_id=<some_id_number>, fix_imbalance=True, feature_selection = True, remove_multicollinearity = True, profile=False)

@yvesgit Hi Yves, I am going through this old issue. It looks like it may warrent more exploration into the internals of pycaret. Since Pycaret is a wrapper for many other libraries, it is possible to change  the kwargs of those internal libraries using a dictionary.
However, it is not something  that the students can be expected to do. We're thinking of dropping Pycaret from DL201 because of how it brushes over a lot of this configuration.
I am closing  the issue, if it is still a problem, please repost it an issue


bugfix: fix position of select image

enforce image to have no margin nor padding
this broke the example at https://dwilhelm89.github.io/Leaflet.StyleEditor/

@dwilhelm89 sorry to bother you again - I just wanted to ask how we will treat future merging.
I guess the best way is that i just merge in little bugfixes like this one (in the future), but will start a PR for bigger changes? Just wanted to make sure we have the same notion.

Sounds good.
In generall I think it's a good idea to keep the plugin as simple as possible without overloading it with too many funtionalities. But so far I guess we are on a good track.


About the formula

Hello, I have a question about your work. Since the formula of adding noise is changed, should every formula in diffusion be derived again?

Thank you for your interest in our work. We empirically found this strategy worked well. The theoretical derivation is indeed an exciting research direction, and we’re actively looking into it.


[question] any dedicated way to separate the construction and execution of the promise/future?

In a readme example the work starts right away when the promise and future are created.
class StuffMaker {
    func iBuildStuffWithFutures() -> Future<NSData> {
        let p = Promise<NSData>()

>>>        dispatch_async(self.mycustomqueue)  {
             // do stuff to make your NSData
            if (SUCCESS) {
                let goodStuff = NSData()
                p.completeWithSuccess(goodStuff)
            }
            else {
                p.completeWithFail(NSError())
            }
        }
        return p.future()
    }
}

What do you think about the idea of having some sort of func start() method on the Future class so that the execution could be deffered?
let dataFuture = StuffMaker().iBuildStuffWithFutures()
dataFuture.onSuccess
{
  data in

  // handle result
}

// maybe at some other place after passing it around
dataFuture.start()

As of now, the only way is using the client code to defer the execution manually
class StuffMaker
{
    let p = Promise<NSData>()

    func iBuildStuffWithFutures() -> Future<NSData>
   {
         return p.future()
   }

   func startBuildingStuff()
   {
        dispatch_async(self.mycustomqueue)  {
             // do stuff to make your NSData
            if (SUCCESS) {
                let goodStuff = NSData()
                p.completeWithSuccess(goodStuff)
            }
            else {
                p.completeWithFail(NSError())
            }
        }
   }

You could build your own..
struct DeferedPromise<Input,T> {

    private let innerPromise: Promise<T>

    private let startPromise = Promise<Input>()

    public var future : Future<T> {
        return self.innerPromise.future
    }

    public init<C: CompletionType>(onStartHandler: @escaping (Input) throws -> C) where C.T == T {

        let inner = Promise<T>()
        self.innerPromise = inner

        startPromise.future.onComplete { result in
            switch result {
            case let .success(input):
                inner.complete(try onStartHandler(input).completion)
            case .cancelled:
                inner.completeWithCancel()
            case let .fail(error):
                inner.completeWithFail(error)
            }
        }

    }

    public func start(input:Input) {
        self.startPromise.completeWithSuccess(input)
    }

}

    func returnDefferred() -> DeferedPromise<Int,Int> {

        return DeferedPromise<Int,Int> { (i) -> Future<Int> in
            Executor.background.execute {
                return i
            }
        }
    }

    func testDeffered() {

        let p = returnDefferred()

        p.future.onSuccess { i in
            print(i)
        }

        p.start(5)
    }

I played around with adding 'start()' to Future or Promise... but it's actually really hard to do without creating potential retain loops.  (What if 'start()' never gets called!)
A 'DeferedPromise' class looks safer, since as long as either 'start()' is called OR DeferedPromise() is deinitialized, than you won't create retain loops.


⚠ ClamAV has degraded performance

In a3623c9, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: ClamAV performance has improved in 745d29f.


Eager executation

When I try to scale up my model, I find that tf.scan uses too much memory. Probably I have to use eager execution.
How well does HMC and SGMCMC work with eager execution and tensorflow 2.0?

That's in our plan but need quite amount of work to switch to the new-style of variable keeping mechanism.

Welcome for contribution!


Convert ParaView taskflow to use pvserver and MPI

Moving kitware/cumulus#270 to HPCCloud.

@jourdain @cjh1 So I applied Utkarsh's patch to ParaView and installed the patched version on ulmus. I made some simple changes the pvw.sh script to use mpi and pvbatch instead of pvpython. Those changes can be viewed at #503. When I try and run a visualization with these changes I get the following errors from pvw_visualizer.py. I am bit out of my depth trying to figure out what is going on.
2016-08-25 13:08:56-0400 [-] Log opened.
2016-08-25 13:08:57-0400 [-] Traceback (most recent call last):
2016-08-25 13:08:57-0400 [-]   File "pvw-visualizer.py", line 210, in
2016-08-25 13:08:57-0400 [-]     server.start_webserver(options=args, protocol=_VisualizerServer)
2016-08-25 13:08:57-0400 [-]   File "/opt/paraview-batch/lib/paraview-5.1/site-packages/vtk/web/server.py", line 183, in start_webserver
2016-08-25 13:08:57-0400 [-]     appSession = protocol(types.ComponentConfig(realm = "vtkweb"))
2016-08-25 13:08:57-0400 [-]   File "/opt/paraview-batch/lib/paraview-5.1/site-packages/paraview/web/wamp.py", line 13, in init
2016-08-25 13:08:57-0400 [-]     wamp.ServerProtocol.init(self, config)
2016-08-25 13:08:57-0400 [-]   File "/opt/paraview-batch/lib/paraview-5.1/site-packages/vtk/web/wamp.py", line 62, in init
2016-08-25 13:08:57-0400 [-]     self.initialize()
2016-08-25 13:08:57-0400 [-]   File "pvw-visualizer.py", line 171, in initialize
2016-08-25 13:08:57-0400 [-]     self.registerVtkWebProtocol(pv_protocols.ParaViewWebProxyManager(allowedProxiesFile=_VisualizerServer.proxies, baseDir=_VisualizerServer.dataDir, fileToLoad=_VisualizerServer.fileToLoad, allowUnconfiguredReaders=_VisualizerServer.allReaders))
2016-08-25 13:08:57-0400 [-]   File "/opt/paraview-batch/lib/paraview-5.1/site-packages/paraview/web/protocols.py", line 1140, in init
2016-08-25 13:08:57-0400 [-]     self.open(fileToLoad)
2016-08-25 13:08:57-0400 [-]   File "/opt/paraview-batch/lib/paraview-5.1/site-packages/paraview/web/protocols.py", line 1825, in open
2016-08-25 13:08:57-0400 [-]     self.getApplication().InvokeEvent('PushRender')
2016-08-25 13:08:57-0400 [-] AttributeError: 'NoneType' object has no attribute 'InvokeEvent'

Ok I guess we need to guard some stuff when running pvbatch with mpi.
in the python code we should not call any self.getApplication().xyz if we are not process 0
(servermanager.vtkProcessModule.GetProcessModule().GetPartitionId() == 0)
@chetnieter, you can take a stab at it by changing some code inside
/opt/paraview-batch/lib/paraview-5.1/site-packages/paraview/web/protocols.py

I still get the same error even with the guard. Apparently getApplication() is returning None even on process 0.
    if (servermanager.vtkProcessModule.GetProcessModule().GetPartitionId() == 0):
        self.getApplication().InvokeEvent('PushRender')

Hum that should not be the case.
Did you try to run visualizer without mpi but with pvbatch instead of pvpython?
Does that work? Just trying to make sure to know what works and doesn't.

So it turns out that the error is not due to pvbatch or Utkarsh's patch. I tried to run the paraview taskflow with an unpatched version of paraview I get the same error when it is running the visualizer without mpi with pvpython. So I checked versions and the currently installed version on ulmus is 5.0.0-222-g07d8158 and version that I installed is 5.1.2-299-gfa95b57. I will try building the 5.0 release with the patch but we should probably understand why it isn't working with the later version of paraview.

I'm running ParaView/master with pvpython without any issue. You should try to run ParaViewWeb on your machine and then figure out what is going on with Ulmus and pvw.

On Aug 27, 2016, at 19:03, Chet Nieter<EMAIL_ADDRESS>wrote:
So it turns out that the error is not due to pvbatch or Utkarsh's patch. I tried to run the paraview taskflow with an unpatched version of paraview I get the same error when it is running the visualizer without mpi with pvpython. So I checked versions and the currently installed version on ulmus is 5.0.0-222-g07d8158 and version that I installed is 5.1.2-299-gfa95b57. I will try building the 5.0 release with the patch but we should probably understand why it isn't working with the later version of paraview.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


BMLT.JS AM/PM

when an hour is single digit in the AM it displays a leading zero, would be nice to chop this off.
Ex.
Primary Purpose Group
(O,D,SD,WC)
Royal Baptist Church
4761 Luella Avenue
North Charleston, SC
Saturday 09:00 AM
this only seems to happen in the AM
found this but didnt seem to help me figure it out
https://stackoverflow.com/questions/29206453/best-way-to-convert-military-time-to-standard-time-in-javascript?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
@radius314
pull request  #7 fix


feat(radio): add provider for default color input

fixes #12815

@jelbourn I'm not sure how to fix the failing checks for devapp_aot and api_golden_checks - what am I doing wrong?

Is it possible to get a review for this? Or do I wait for a free dev?

Bumping the priority on this because we need it inside Google

@jelbourn is it safe to start converting the other color components as well? You mentioned this in the original issue.


[Snyk] Security upgrade lerna from 7.1.4 to 8.1.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

build_scripts/npm_windows/package.json
build_scripts/npm_windows/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

646/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 6.5
Uncontrolled Resource Consumption ('Resource Exhaustion') SNYK-JS-TAR-6476909
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: lerna
    The new version differs by 119 commits.

059864f chore(misc): publish 8.1.3
eb07f5d chore: re-enable some e2e tests (#4004)
03f476b fix: update to nx 19 (#4003)
c3b9b16 chore(deps): bump express from 4.18.2 to 4.19.2 in /website (#3984)
6dc22b7 chore(deps): bump express and verdaccio (#4002)
b4a5166 chore(deps): bump ejs from 3.1.9 to 3.1.10 (#3994)
3fe0cf0 fix(deps): bump tar from 6.1.11 to 6.2.1 (#3990)
5e25858 chore: tmp disable failing e2e tests (#4001)
11d25f5 chore(docs): fix typo (#3987)
e2d5b94 chore: pin pnpm v8 (#3997)
c78d8ff chore(docs): remove mention of useWorkspaces (#3986)
cbe01ba fix(version): create release when using custom tag-version-separator (#3979)
0cbf857 chore(deps): bump follow-redirects from 1.15.5 to 1.15.6 (#3977)
6426da8 fix(list): flush output before exiting (#3971)
97cffa7 chore(deps): bump ip from 2.0.0 to 2.0.1 (#3960)
bb68e00 chore: update snapshots (#3968)
13c80ae chore: unset GITHUB_ACTIONS environment variable in other node versions workflow
9a4ad5e chore(misc): publish 8.1.2
7637972 fix: improve git binary error (#3945)
b2b8b7d chore(misc): publish 8.1.1
bafe090 fix(list): explicitly exit upon completion
8c7316e chore(misc): publish 8.1.0
e7beaf3 chore: disable daemon in build.sh
43de79c feat(version): custom tag-version-separator for independent projects (#3951)

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Uncontrolled Resource Consumption ('Resource Exhaustion')

fix


What to do with the optional dependencies?

Comment:
Just learned that there's a feedstock for this package already, thank you!
kedro-datasets is mostly useless without the optional dependencies, but to my knowledge conda packages don't have such a thing. Any prior art on what the best practices are in cases like this?

@rxm7706 do you have any thoughts?

@rxm7706 do you have any thoughts? kedro-datasets is mostly useless without the optional dependencies, but to my knowledge conda packages don't have such a thing. Any prior art on what the best practices are in cases like this?

@astrojuanlu - that is accurate, and I have managed so far by installing only the needed dependencies - based on the plugins I need.
Option 1
We can go independent feedstocks -
e.g. kedro-datasets-plotly # https://github.com/kedro-org/kedro-plugins/blob/main/kedro-datasets/pyproject.toml#L25C1-L25C7
But for something like kedro-datasets - which has many variations and will continue to grow ; we will end up with a lot of disconnected feedstocks, and a lot of sequential feedstock updates to maintain.
OpenLineage and OpenTelemetry are examples for this pattern.
https://github.com/conda-forge/openlineage-airflow-feedstock/blob/main/recipe/meta.yaml
https://github.com/conda-forge/opentelemetry-instrumentation-grpc-feedstock/blob/main/recipe/meta.yaml
Option 2
I would almost rather go the way of Airflow - one recipe many outputs.
e.g. https://github.com/conda-forge/airflow-feedstock/blob/main/recipe/meta.yaml#L200
I would recommend option 2,  feel free to raise a PR and we can leverage this single feedstock.
LMK what you prefer and how I can help.

cc @merelcht @noklam FYI


Support to Modal Segues

In the function showAlert isn't better to set the "window" (line 253) constant to "UIApplication.sharedApplication().keyWindow?.subviews.last"?
In my application, if I set the "keyWindow" to .first, the alert will be put in the back of a ViewController that is presented modally.

I was facing the same problem...

Same here :(

same problem

@RennanAlves  @junstor  @alexperezpaya  Can anyone please confirm. I have resolved the issue

Please reopen if you get issue again. Closing for now.


Lockdown doesn't play well with express.Router()

Hi. It looks like lockdown pattern doesn't work when using express.Router()
I have added some tests which proves my theory https://github.com/mxpv/node-oauth2-server/commit/77555da99d3b5ae683cdc2db4e0abb5954bda025
Currently I'm getting:
 2 failing

  1) Lockdown pattern with router should correctly bypass:
     Error: timeout of 2000ms exceeded
      at null.<anonymous> (D:\GitHub\node-oauth2-server\node_modules\mocha\lib\runnable.js:139:19)
      at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

  2) Lockdown pattern with router should insert authorise by default:
     Error: expected body 'Hello' to match /access token was not found/i
      at error (D:\GitHub\node-oauth2-server\node_modules\supertest\lib\test.js:235:13)
      at Test.assert (D:\GitHub\node-oauth2-server\node_modules\supertest\lib\test.js:177:23)
      at Server.assert (D:\GitHub\node-oauth2-server\node_modules\supertest\lib\test.js:132:12)
      at Server.g (events.js:180:16)
      at Server.emit (events.js:92:17)
      at net.js:1277:10
      at process._tickCallback (node.js:442:13)

Ah is that something new? Would you mind having a peak at the code to see how we may fix it?

I'm closing this pending a PR + lockdown will probably be depreciated


How to use RTL

Hello
you said that this dashboard supported rtl (right direction )
where can i do that?

Hi
use rtl-persian branch


Interface binding

For a DHCP server, it would be ideal to be able to bind an instance to an interface . (or perhaps a group of interfaces).  If you were building a router, you only wan DHCP offered on LAN ports, not the WAN ports.
Thanks for taking the time to build this project, it's been very helpful!

+1

Did you guys try to pass a host you want to listen on to the listen-method like so?
// dhcp.listen(port, host, callback)
dhcp.listen(null, '<IP_ADDRESS>');

Ah yes, thanks!
I edited lib/node_modules/dhcp/bin/dhcpd-cli.js and ended up with:
//server.listen();
server.listen(null,'<IP_ADDRESS>');
root@guestshell ~/Python_DHCP: netstat -an | grep :67
udp        0      0 <IP_ADDRESS>:67              <IP_ADDRESS>:*
root@guestshell ~/Python_DHCP: netstat -an | grep :67
udp        0      0 <IP_ADDRESS>:67        <IP_ADDRESS>:*
root@guestshell ~/Python_DHCP:
thanks!

Yeah! You're welcome :) Do you have any suggestions to make things better for others too?

I quickly added the bind option to the CLI daemon. Could you check it out, if that's the way you would like to have it?

slick.  Works well for IP addr yes, thanks!
For binding to an interface name (such as Vlan400, or Eth1/x) it doesn't but that's ok for me, I can work with it.   Thanks so much!

It's typically IP based, since its the only way to make it work across platforms, especially Windows. Under Linux you need to use SO_BINDTODEVICE, under OSX you need to use IP_BOUND_IF, but as far as I know there is no option to pass this info to the OS using nodejs.


PEOPLE-54 user project order

The projects in the user's profile should be displayed sorted by membership start date. They should never break this order for any reason (currently, for example, archived project memberships are displayed always at the bottom). Also, potential memberships should only display when the user is booked in such membership.
JIRA: https://netguru.atlassian.net/browse/PEOPLE-54

Solution of this looks awesome. Clean, simple, just awesome :+1: :shipit:


LineChart with two data with very different scales

Hi,
I'm trying to find a way to show two data with very different scales in a Linechart, so far the best idea that I have is to split it into two charts, so I'm basically creating two charts. Is there a better way to accomplish this?
based on the 2 charts solution, I would like to active the tooltip on all the charts when the user touches a chart based on the flSpot.x. Is there a way to do this?

Thanks,

Dup of #429


Unravelling

Unravelled the if else nests for better readability

nice, hopefully this gets merged

Closing, gone stale.


200 mBTC Bounty - The Rock Trading not fully implemented

TheRock improvements:
please implement getOpenOrders, cancelOrder as well as getTradeHistory methods. It also seems that the current The Rock implementation still uses the old API address and not the new and more powerful API.

I would like to offer a 0.2BTC bounty on this one. How can I do this?

I've added the bounty tag and updated the title. If someone wants to complete this for the bounty, first claim it here and indicate you will work on it. Then @ICFiedler should send us (Knowm Inc.) the BTC and we will hold it until the code is complete and passes all functionality and quality checks. We will then forward the funds to the person carrying out the bounty.

Is this bounty still available?

The devs of The Rock have taken care of the issue without claiming the bounty. But it is not yet fully delivered. Some small percent are still missing. I would not give 200mbt for it, though. I will come back to this with either a to-do description and a new bounty or the solution in 2-3 days.

Update: their API does not work with XChange: it needs a call to get all open orders. The Rock API only allows calls to query the open orders of one specific pair. So without them having their API changed things will not work. That will also make the boutny obsolete.

Or better to change the XChange API as currency pair is needed on many exchanges for open orders ;-). Submitted PR.

Can this be closed?  Or is there still work need doing?  And is any bounty available?

Closing due to no response.


HHH-15106 - fk() HQL function

Issue: https://hibernate.atlassian.net/browse/HHH-15106
Related EAP Issue: https://issues.redhat.com/browse/JBEAP-23147

@sebersole  @beikov Thanks for the review!


Add instructions to install from PyPi

Signed-off-by: Nicolas Bock<EMAIL_ADDRESS>

thanks, i got this done directly - https://github.com/canonical/hotsos#install


Using VSCode snippet with ${CLIPBOARD} that contains multiple new lines causes other cursors to be offset

With a code snippet that I wrote, using the ${CLIPBOARD} (while I have new lines in my clipboard) seems to cause the other cursors to be offset in position. I was expecting the cursor(s) to land exactly where I put them in my code snippet (e.g. Supposed to end here: $0).
Does this issue occur when all extensions are disabled?: Yes

Version: 1.60.1 (user setup)
Commit: 83bd43bc519d15e50c4272c6cf5c1479df196a4d
Date: 2021-09-10T17:07:10.714Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19042
Steps to Reproduce:

I used this VSCode code snippet in plaintext.json

"Clipboard bug snippet": {
    "prefix": "clipboardBug",
    "body": [
      "Input 1: $1, Input 2: $2",
      "To lowercase and replace spaces with dashes: $1-${2/(\\s)+|([A-Z]+)/${1:+-}${2:/downcase}/g}",
      "CLIPBOARD: ${CLIPBOARD}",
      "",
      "Supposed to end here: $0",
      "",
      "To lowercase and replace spaces with dashes: $1-${2/(\\s)+|([A-Z]+)/${1:+-}${2:/downcase}/g}",
      "",
      "    CURRENT_DAY_NAME_SHORT: ${CURRENT_DAY_NAME_SHORT}, CURRENT_DATE: ${CURRENT_DATE}*",
      "",
    ],
    "description": "New lines contained in the clipboard cause other VSCode cursors to include a newline."
  },

Copy a multi-line text block to your clipboard. Example:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris id metus dui. Sed faucibus consectetur lorem, non sodales justo tempor eu.

Ut semper nisl sed nulla sagittis, vitae pretium nibh dapibus. Quisque vitae nisl sed erat fermentum pretium eu eget risus. Nulla facilisi. Donec egestas nunc nunc, et varius ex sodales sed. Praesent pulvinar felis vel nunc mattis vulputate. Duis tincidunt sodales laoreet. Pellentesque ac interdum eros.

Phasellus lacinia ipsum mi, nec volutpat justo eleifend non. Cras luctus nisl non turpis congue, non sollicitudin magna gravida. Vivamus mollis

Run the code snippet clipboardBug
For input I used:

$1: Hello world!
$2: THIS IS TEXT

My result:

Input 1: Hello World!, Input 2: THIS IS TEXT
To lowercase and replace spaces with dashes on Input 2: Hello World!-this-is-text
CLIPBOARD: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris id metus dui. Sed faucibus consectetur lorem, non sodales justo tempor eu.

Ut semper nisl sed nulla sagittis, vitae pretium nibh dapibus. Quisque vitae nisl sed erat fermentum pretium eu eget risus. Nulla facilisi. Donec egestas nunc nunc, et varius ex sodales sed. Praesent pulvinar felis vel nunc mattis vulputate. Duis tincidunt sodales laoreet. Pellentesque ac interdum eros.

Phasellus lacinia ipsum mi, nec volutpat justo eleifend non. Cras luctus nisl non turpis congue, non sollicitudin magna gravida. Vivamus mollis

Supposed to end here:

To[I actually ended here] lowercase and replace spaces with dashes on Input 2: -

 Hello World! this-is-text  *CURRENT_DAY_NAME_SHORT: Mon, CURRENT_DATE: 20*

Thank you!

This works for me as expected.
Can you try this with VS Code Insiders?
https://user-images.githubusercontent.com/1794099/134915093-122e4ad6-3455-4ce9-90c6-6b4b86160d23.mov

This works on VS Code Insiders!
It did not work on my main VS Code. I am thinking it has something to do with my user settings. I will dink around with my settings to see if I can figure out what may be causing this. The problem still persists without any extensions so I'm kind of confused as to why it may be happening 🙃
https://user-images.githubusercontent.com/7889588/135524709-d64c08a3-d7ee-4f98-8ef8-e87901c11b79.mp4

Yes sir! Let's go ahead and close it for now! I believe that it only happens to me because of some interesting setup that I have with regard to something about my OS or build. I think this issue is unique to my local environment and does not destruct much productivity. Let's close this ticket! (haha I have a work around for it so it's all good!)
Thank you for your time!


find substring index

It's a masterpiece.. I haven't looked at the solution yet

what about method find ? (of string obj)

It is already there:
return string.find(substring) # that would be nice =)

what about method find ? (of string obj)

It is already there:
return string.find(substring) # that would be nice =)

I cant see it..

I see only this

I see only this

yes. and it is in the second line

ahh.. and why dont you use it?.. write on Python) your solution reminds me of the C code


Feature request: Add support for manipulating operations/schemas generation

Describe the issue
It would be nice to allow to implement custom logic to manipulate the generation of operations and schemas, similarly to what Swashbuckle provides: Extend Generator with Operation, Schema & Document Filters
Additional context
One example scenario when this feature would be useful, is to extend the schema when not using DataAnnotations but a different form of validation (e.g. the popular FluentValidation)

Support for IDocumentFilter appears to be implemented: :+1:
https://github.com/Azure/azure-functions-openapi-extension/commit/3c9a76187296024936327e3563db622de09090f5
We also need ISchemaFilter and IOperationFilter support to switch to this great package.

@alefranz Thanks for the issue! As @stephanruhland mentioned, IDocumentFilter has been implemented.
Would you please create two separate issues for ISchemaFilter and IOperationFilter respectively so that I can have better tracking?
I'll close this issue for now.