docker error

Hello,
The code has been removed from the repository.
So the file does not exist and an error occurs.
    ./contrib/setup-cadical.sh && \
    ./contrib/setup-btor2tools.sh && \
    ./contrib/setup-symfpu.sh && \

https://github.com/quarkslab/pastis/blob/6d25f36db5bc578d01dfe383dcf485168cad9110/Dockerfile#L50C1-L52C35
https://github.com/bitwuzla/bitwuzla/tree/main/contrib

Hi, commit 21f5e0b should fix this. Can you try again?

Hello, @cnheitman Thanks for the quick action.
It works fine.
I have one question for you.
I want to use afl with less dependencies due to closed network issues.
Can I use afl instead of afl++?
Without adding a fuzzer?
Ref : https://github.com/google/AFL

Hey, @gy741. You might be able to use AFL instead of AFL++ as the command-line is be very similar (same goes for the stats file), just try pointing AFLPP_PATH to your AFL installation. I haven't test it myself but in principle it should work. In case you get an error, you can try modifying/tweaking function start in aflpp.py.


a latency of 8.06 is reported when the audio quality is poor

I see that number fairly often, particularly if the input gain is too low or the signal path is noisy.  So the confidence is probably very low. But the app still tries to give some kind of latency value.
People tend to ignore the confidence value and think 8.06 is a real number.
Maybe if the confidence is below a threshold then no latency value should be reported.

Unfortunately the confidence level is not currently a reliable indicator of whether the reported latency value is accurate. Instead, for now, you need to manually look at the waveform and make sure it has the characteristic shape of the attached image. If it doesn't don't trust the number.  And even if the shape is correct, you need to also think about whether the number is in a reasonable range. You can tell this by looking at the labels at bottom of the graph.

My previous comment is still the current status. We're aware of the problem and have several ideas on how to solve but no schedule yet.  In the mean time, please look at the waveform to confirm a good test.
This is our internal bug 36520210.


Allow renaming of models

Is your feature request related to a problem? Please describe.
At the moment swag uses the package name and struct name as model name. like types.Account. For users and also for generating clients it would be better to have Account as the model name. The package name is something from golang internal.
Describe the solution you'd like
package types
// @name Account
type Account struct {
    Bar string `minLength:"4" maxLength:"16"`
}

Describe alternatives you've considered
Or drop the package name in the generated swagger, and show user if there is a conflict
Additional context
There was already a issue #316, but it was closed without a solution

@Nightapes fixed by #631 , please use the latest master.

@easonlin404 Thank you, it's working perfectly  :+1:

Although I upgraded to latest master, it won't work for me.
go get github.com/swaggo/swag@master

Will give me:
github.com/swaggo/swag v1.6.6-0.20200404095705-3b82b47aece6
I double checked that the master is really on my hard drive with necessary commits.
However,
whether I use
// @name AccountX
type Account struct {

nor
// AccountCreation
type AccountCreation struct {
	BaseAccount
	OwnerAddress BaseAddress `json:"owner_address"`
}//@name AccountCreation

won't work and still render "model.Account" instead of "AccountX" respectively "model.AccountCreation" instead of "AccountCreation".

Is there a way to ignore the package name?

works for me with (note @name goes after the struct def)
type SendEmailParameters struct {
	From    string
	To      []string
	Message string
} // @name SendEmailParameters

I think a client cmd option should be used, just like --ignore-package model  ,--ignore-package errors. This is friendly for the developers.

I think a client cmd option should be used, just like --ignore-package model  ,--ignore-package errors. This is friendly for the developers.


Pro accounts for educators?

Do you have a Pro account price for educators?
Thank you, Peter
Central Oregon Cmty. College
Bend OR USA

If you can prove that you're educating web development (i.e. university site with your name, photo of ID etc) then pro account is free. Feel free to email at<EMAIL_ADDRESS>


fuzz: added fuzz tests for sanitizeStatsName

Commit Message: Added fuzz tests for Stats::Utility::sanitizeStatsName
Additional Description:
Added corpus entries for sanitizeStatsName
Created test/common/stats/utility_fuzz_test.cc and updated BUILD
Risk Level: Low
Testing: ran fuzzer, increased function coverage of source/common/stats/utility.cc
Several utility functions remaining that haven't been fuzzed - will add later.
Docs Changes: N/A
Release Notes: N/A
Signed-off-by: Arthur Yan<EMAIL_ADDRESS>

/cc @asraa
/cc @akonradi

Nice, this is a good, straightforward fuzzer. LGTM.


enable-addons --addons confcom Error

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks enable-addons Extension Name: aks-preview. Version: 0.4.22.
Errors:
'confcom'
Traceback (most recent call last):
python3.6/site-packages/knack/cli.py, ln 215, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 654, in execute
    raise ex
cli/core/commands/__init__.py, ln 718, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 711, in _run_job
    six.reraise(*sys.exc_info())
...
cliextensions/aks-preview/azext_aks_preview/custom.py, ln 1958, in aks_enable_addons
    workspace_resource_id=workspace_resource_id, subnet_name=subnet_name, no_wait=no_wait)
cliextensions/aks-preview/azext_aks_preview/custom.py, ln 1998, in _update_addons
    addon = ADDONS[addon_arg]
KeyError: 'confcom'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks enable-addons --addons {} --name {} --resource-group {}

Expected Behavior
Environment Summary
Linux-5.4.0-80-generic-x86_64-with-debian-buster-sid
Python 3.6.10
Installer: DEB

azure-cli 2.14.2 *

Extensions:
aks-preview 0.4.22

Additional Context

route to service team

@prajwal11 We sincerely apologies for the delay. Can you try to upgrade to the latest version of Az cli 2.38.0? it should work then.


Update how-to-connect-health-adfs-risky-ip.md. Added default values for threshold settings.

Changed the document to indicate the default values for threshold settings in each category . It wasn't really clear before.

@binilkk : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Update app to use optimistic updates + listener API consistently

Is this a duplicate of https://github.com/tasitlabs/tasit/issues/151?

Not if I rename it to just be about optimistic updates. Although at this point we are using that for buying land. Just not handling errors + 7 confirmations


More compression codecs

Check this out: https://github.com/ning/jvm-compressor-benchmark/wiki

Check aircompressor, according to the @slandelle's suggestion: https://github.com/netty/netty/pull/4607#issuecomment-208310679

I think we can close this for now as we added a lot of these

@normanmaurer One day, I'd like to investigate Brotli and SDCH. No idea when :(


solidity: Remove manifest

Original discussion ScoopInstaller/Main#2670

Come back when the manifest in main is useable, valid and PR merged.

Merged upstream


Visibility per app

I just found this application and so far it is really cool and helpful. I had a few questions, I can make more tickets if necessary.

Is there a way to make icons show based on app?

I saw there is one for dock visibility.
I would like to just edit one of the files.

Is there a list of properties?

There is the overall options that I have found:

layout_width
button_size
margin
min_opactiy
max_opacity
app
buttons

Then you have the button properties:

icon
action
text
font_weight
font_size
style
visibility
size
spacer
visibility
icon_stretch

Is that all of them?  I have a feeling this program was just built on a known language and I am just missing where it says that.

There is a sample layout literally built in, it covers every single feature. Readme also explains a lot.
https://github.com/Martenfur/TabletFriend/blob/develop/TabletFriend/TabletFriend/files/layouts/sample_layout.yaml
As for the per-app stuff, I don't understand what you're asking.

Yup, it wasn't pretty and my brain was not having it. But I figured it out. It is all there.
The other thing was about per app butt0n instead of layout. But copy paste isn't that hard to do.
The app is awesome.

Per-app buttons will require a ton of rework, and usually, the changes between layouts are big enough to justify having an additional layout so it's good enough.


feature to toggle hover

is it possible to add require("pretty_hover").toggle()

Hi, what would you like to do with the toggle? You can assign the require"pretty_hover".hover() function as ft plugin and you do not need a toggle.

the same key should be able to open and close the hover. but i think it might be impossible because pressing the key again shifts you inside the hover

it is just a question of one bool in the config of the hover callback. Would you like to have a different function like the "toggle" you mentioned or have it in config to set it up for the default "hover" function?

@vishal340 try bran feature-#12 if it aligns with what you want.

I am merging the created chages


export dat-node as module

We could export dat-node as module so people could npm install dat then use var dat = require('dat'). (idea from @yoshuawuyts, opening issue so I don't forget).
Benefits:

Less things to remember
Easier to require!

Downsides:

Could be confusing in documentation
Extra module downloads for people using dat-node (e.g. the prompt module, which is only used in CLI)

i think it'll be easier in documentation! +1

This issue was moved to datproject/dat#616


[Support] Answer questsions from Kitware

The Freshdesk ticket link
https://2i2c.freshdesk.com/a/tickets/1596
Ticket request type
Technical questions
Ticket impact
🟩 Low
Short ticket description
https://2i2c.freshdesk.com/a/tickets/1596 has some questions that I had answered, but some that were not. We should answer them.
(Optional) Investigation results
No response

I'm just going to answer them this time, because I don't want to bounce them to a community location after making them wait so long. But I've made that clear too.

To be closed by end of week if no response (June 21)

I shepherded this through to a close

Yes, that helps a lot! [...] I appreciate all your help and quick responses. I hope you have a great weekend!

from them!


add the new file name in Makefile

What type of PR is this?
(bug/feature/cleanup/documentation/test/refactor)
cleanup
What this PR does / why we need it?
looks like https://ci.int.devshift.net/job/openshift-addon-operator-gh-build-main/551/ is failing as the Makefile still points to hack/hypershift/package/hcp/addon-operator.yaml
Which Jira/Github issue(s) this PR fixes?
Fixes #
Special notes for your reviewer:
Pre-checks (if applicable):

[ ] Tested latest changes against a cluster
[ ] Ran make go-test command locally to run all the unit tests and mock tests locally.
[ ] Included documentation changes with PR

/retest

/retest


Make Node.get for custom type inout

This request makes get for custom types inout.
It enables to support get method for const Node to get custom type object.
Here is an example.
@safe unittest
{
    import dyaml : Loader, Node;
    import std : split, to;

    static class MyClass
    {
        int x, y, z;

        this(Node node)
        {
            auto parts = node.as!string().split(":");
            x = parts[0].to!int;
            y = parts[1].to!int;
            z = parts[2].to!int;
        }
    }

    auto loader = Loader.fromString(`"1:2:3"`);
    const node = loader.load();
    auto mc = node.get!MyClass; // `get` for `const Node`
}

It might be better to make it const instead of inout. I don't believe there's any advantage to using inout in this case.

Thank you for your suggestion.
I fixed to use const instead of inout.

Thanks!


Reorganize EON docs

Adopts changes from https://github.com/HorizenOfficial/evm-documentation/pull/57

Let's chat about rebases


Forward querystring to GitHub to allow scope configurability. Fixes #13

Yep, now just including allow_signup and scope, the relevant configurable querystring parameters.


Inconsistent price documentation

Hi guys,
I have my own documentation in a private fork which is different from the original Github's one in some cases.
The case is price documentation:

BASE-QUOTE is read as 1 BASE is worth y QUOTE.
On 1/25/2020,
- BTC-USD: $8,371; 1 BTC (base) is worth $8,371 USD (quote)

However, in fact, Binance & Coinbasepro etc. classes have the reversed concept: x base equals 1 quote.
For example, Binance's USDT-BTC price is 20000
The private fork I'm working in just decided to change the documentation to match the binance's and coinbasepro's concepts.
However binance and coinbasepro concepts are different from ExchangeSharp. Looks like they are incorrect and the documentation is correct.
There are also exchanges such as BitPanda & Kraken that list base first and quote last (unlike Binance and Coinbasepro) which is the same concept as in ExchangeSharp, and their prices match the original documentation.
We can do either of the two:

Change the prices concept to match binance's one - I'll then easily upload the wikis that I have without modifying any contents
Fix binance&coinbaspro etc. exchanges (perhaps in the ExchangeAPI class and a flag indicating what prices are) - then I'll also need to upgrade wikis to get back to the original concept

Let me know what you think of this please

Closed by https://github.com/jjxtra/ExchangeSharp/commit/9cf6379dda9d97d9f0b9043946e7c371491c0893


Pipette Gen2: P300S config modifications

Pipette Gen2 P300s needs the following config modifications:

Plunger positions

P300 Function Update
17.060 | 0.0472 | 8.1073
26.239 | 0.0236 | 8.1277
35.458 | 0.0128 | 8.4095
44.745 | 0.0091 | 8.5417
63.509 | 0.0070 | 8.6355
110.426 | 0.0062 | 8.6574
148.131 | 0.0038 | 8.7878
330.000 | 0.0005 | 9.1770

steps/mm = 3200
max speed = 30 mm/s
quirks = no change from EVT. keep the drop tip shake.

P300 Plunger positions
top = 19.5
bottom = -14.5
blowout = -19
dropTip = -37

https://docs.google.com/spreadsheets/d/1faebzB-o9H1EFUyCtUBaGqAWodQFq5mfhqbgBL8L8v4/edit#gid=1540046538


fix(chat): hide context menu in select mode (Issue #2663)

Description:

hide context menu in select mode

Issues:

Issue #2663

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review


[Q] Need help changing an email

I changed my github email as the previous one is recycled by the institution.
However, the wandb email is still the old one.
When I click 'add email' and 'login from github', the new email is not added.
When I click 'login from google' and pick the new email, the new email is not added and it says 'the email has already been added'. I think this is due to it querying the github email, but the record is wrong in wandb.

Hi @eliphatfs Good day and thank you for reaching out to us! Happy to help you on this.
We can review this for you, could you please share us your username and previous email address in wandb so we can check? And please also share your new email address. Thank you!

Hi Jason,
Thank you for your response.
I cannot register a new account because I directly logs into my old account when i log in via either github or google.


Add GitHub action for Spark

This PR adds a GitHub action that validates:

The Spark projects compile correctly
The Spark projects are formatted correctly
The spark projects do not have unused imports

The plugins scalafmt and scalafix were added.
In order to remove unused imports run:
sbt scalafix

In order to format your code run:
sbt scalafmt

Currently there aren't much formatting configurations (as you could see in .scalafmt.conf), and only one fix rule which is RemoveUnused (as you could see in scalafix.conf)


Team Services with Jenkins Service Endpoint

Hi Team,
I am creating new Service end point with jenkins from Visual Studio online. I have installed jenkins on my windows server. I can able to access the jenkins URL from remote machine(which is in same network). But when I try to make connection from visual studio online i'm getting timeout issues.
You can find the error screenshot here.
https://ufile.io/f5f

Hi @jk1510karti.  Is your Jenkins server exposed to the public internet?  If not, Visual Studio Team Services will be unable to reach it when you click the "Verify connection" link.  If you are using a Service Hook to integrate Team Services with your Jenkins server, that will be a problem, because Team Services needs direct access.  However, if you are using the Team Services build/release tasks to integrate, direct access is not needed and you will be fine if your build agent is running on a machine that has access to your Jenkins server.  More about that scenario is described here.

Hi David,
Thanks for your reply,
But I must add Jenkins into "New Service Endpoint  " right. ? i have installed VSTS agent in my local computer where Jenkins is configured. but I'm unable to create builds.

I have VSTS Plugin for jenkins, which i've installed in jenkins and I can able to successfully connect to visual studio online.
But what I am trying to do is, when the code is pushed into repository, the Build process should initiate in Jenkins, this process should be triggered from VS online.

That's correct.  You still create a new Jenkins service endpoint, but ignore the "Verify connection" error.  Then, you create a VSTS build that uses the "Jenkins Queue Job" task and set the task to use the Jenkins service endpoint you created.
Also, you must configure the VSTS build to use the "agent queue" that your installed VSTS agent is part of.  That is set on the "General" tab of the build settings.

Finally, configure this VSTS build to be triggered whenever code is pushed to a repository.  That is set on the "Triggers" tab of the build settings.  Just enable "Continuous Integration (CI)."

Hi David,
Thanks for your update,
Yes I can able to Trigger Build in Jenkins now, But i've small clarification now,
When I edit code in VS online, the Build job is triggered in Jenkins and succeeded. But if perform build directly in VS online (Builds -> Build Definitions -> Queue new build).  The Download Artifacts not working. I am getting below error. The Build job failed in VS online but it shows success in Jenkins. Is this a reason that, Vs online cannot directly communicate with Jenkins local server. ?
Please let me know if you have some Insights.

2016-10-04T12:02:48.0433221Z ##[section]Starting: Download artifacts produced by Test Job
2016-10-04T12:02:52.3102995Z 4022c2af-b113-4d7a-beb0-d2eecc9b297a exists true
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z Error 404 Not Found
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z HTTP ERROR 404
2016-10-04T12:02:52.4333763Z Problem accessing //job/Test%20Job/api/json. Reason:
2016-10-04T12:02:52.4333763Z     Not FoundPowered by Jetty://
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4333763Z
2016-10-04T12:02:52.4343893Z Error: HTTP call to Jenkins server failed.
2016-10-04T12:02:52.4403945Z ##[error]HTTP call to Jenkins server failed.
2016-10-04T12:02:52.7786188Z ##[section]Finishing: Download artifacts produced by Test Job

Hi @jk1510karti, the "Jenkins Download Artifacts" task also runs on the build agent, so it should have access to the Jenkins server if the "Jenkins Queue Job" task does.  For additional information, can you please set the "System.Debug" variable to "true" on the Variables tab of the build configuration, re-run the build, and send me the build log?  If you don't want to attach the log here, you could send it to me at "dastahel at ms dot com."

Hi David,
I have uploaded the recent logs here
https://ufile.io/58c1

It looks like Jenkins is reporting that the expected REST endpoint doesn't exist.  Can you please tell us what version of Jenkins you're running?

@jk1510karti , what do you see if you visit http://<IP_ADDRESS>:8085/job/Test%20Project/api/json?tree=lastSuccessfulBuild[id,displayname] from your browser?  Do you see 404?

Hi @yacaovsnc If i go to http://<IP_ADDRESS>:8085/job/Test Project/api/json?tree=lastSuccessfulBuild[id,displayname]
There is json.json file downloaded and its content looks like "{"_class":"hudson.model.FreeStyleProject","lastSuccessfulBuild":{"_class":"hudson.model.FreeStyleBuild","id":"14"}}"
@DavidStaheli i'm using Jenkins ver. 2.7.4 , Do you need any screenshots from Jenkins & VS online ?

@jk1510karti Thanks for confirming.

HTTPS : Bad Request 500 error
2017-04-03T07:05:05.4505257Z ##[section]Starting: Queue Jenkins Job: Test_AdminService_Automation
2017-04-03T07:05:05.4778677Z ==============================================================================
2017-04-03T07:05:05.4778677Z Task         : Jenkins Queue Job
2017-04-03T07:05:05.4778677Z Description  : Queue a job on a Jenkins server
2017-04-03T07:05:05.4778677Z Version      : 1.112.1
2017-04-03T07:05:05.4778677Z Author       : Microsoft
2017-04-03T07:05:05.4778677Z Help         : This step queues a job on a Jenkins server. Full integration capabilities require installation of the Team Foundation Server Plugin on Jenkins. More Information.
2017-04-03T07:05:05.4778677Z ==============================================================================
2017-04-03T07:05:06.0051777Z 25819e6f-baa1-40b0-ad60-61310c038336 exists true
2017-04-03T07:05:06.8713332Z Job creation failed.
2017-04-03T07:05:06.8713332Z HttpResponse.statusCode=500
2017-04-03T07:05:06.8732862Z HttpResponse.statusMessage=Server Error
2017-04-03T07:05:06.8732862Z HttpResponse=
2017-04-03T07:05:06.8762157Z {"statusCode":500,"body":"java.lang.NullPointerException\r\n\tat java.net.URI$Parser.parse(Unknown Source)\r\n\tat java.net.URI.(Unknown Source)\r\n\tat java.net.URI.create(Unknown Source)\r\n\tat hudson.plugins.tfs.model.BuildCommand.contributeTeamBuildParameterActions(BuildCommand.java:215)\r\n\tat hudson.plugins.tfs.model.BuildCommand.perform(BuildCommand.java:110)\r\n\tat hudson.plugins.tfs.TeamBuildEndpoint.innerDispatch(TeamBuildEndpoint.java:220)\r\n\tat hudson.plugins.tfs.TeamBuildEndpoint.dispatch(TeamBuildEndpoint.java:159)\r\n\tat hudson.plugins.tfs.TeamBuildEndpoint.doBuild(TeamBuildEndpoint.java:237)\r\n\tat sun.reflect.GeneratedMethodAccessor2337.invoke(Unknown Source)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r\n\tat java.lang.reflect.Method.invoke(Unknown Source)\r\n\tat org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:324)\r\n\tat org.kohsuke.stapler.Function.bindAndInvoke(Function.java:167)\r\n\tat org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:100)\r\n\tat org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)\r\n\tat org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)\r\n\tat org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)\r\n\tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)\r\n\tat org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)\r\n\tat org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)\r\n\tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)\r\n\tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)\r\n\tat org.kohsuke.stapler.Stapler.service(Stapler.java:238)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\r\n\tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)\r\n\tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)\r\n\tat net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:219)\r\n\tat net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:196)\r\n\tat net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)\r\n\tat org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:110)\r\n\tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)\r\n\tat hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)\r\n\tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)\r\n\tat hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)\r\n\tat hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:140)\r\n\tat jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)\r\n\tat hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)\r\n\tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\r\n\tat hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)\r\n\tat hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\r\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)\r\n\tat org.eclipse.jetty.server.Server.handle(Server.java:499)\r\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)\r\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)\r\n\tat org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)\r\n\tat winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\r\n\tat java.lang.Thread.run(Unknown Source)\r\n","headers":{"date":"Mon, 03 Apr 2017 07:05:07 GMT","x-content-type-options":"nosniff","set-cookie":["JSESSIONID.491e6b19=1x099cqz9ekldtqy1iujwtqo3;Path=/;Secure;HttpOnly"],"expires":"Thu, 01 Jan 1970 00:00:00 GMT","content-type":"text/plain;charset=UTF-8","connection":"close","server":"Jetty(9.2.z-SNAPSHOT)"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"build.livecareer.com:8443","port":"8443","hostname":"build.livecareer.com","hash":null,"search":"?delay=0sec","query":"delay=0sec","pathname":"/team-build/build/Test_AdminService_Automation","path":"/team-build/build/Test_AdminService_Automation?delay=0sec","href":"https://build.livecareer.com:8443/team-build/build/Test_AdminService_Automation?delay=0sec"},"method":"POST","headers":{"content-type":"application/x-www-form-urlencoded","content-length":1438,"authorization":"Basic cmFjaGluOnJhY2hpbg=="}}}
2017-04-03T07:05:06.8830512Z ##[section]Finishing: Queue Jenkins Job: Test_AdminService_Automation

Hi @GauravAgarwal42, it appears you are using TFS on-premises.  Can you please say which version of Jenkins you're using, and whether you have the latest "Team Foundation Server" plugin installed?  It can be found in Jenkins under:

Manage Jenkins > Manage Plugins > Team Foundation Server Plug-in.

The latest is version 5.3.4.

Hi @DavidStaheli,
You seem to be an expert with VSTS and Jenkins.  I am experiencing an issue where Visual Studio Online is unable to retrieve a crumb request from my Jenkins server.  This was previously working for builds and VSO was able to communicate with Jenkins and initiate my CI/CD pipeline.  I'm not sure what might have changed since last Friday when this was last working.  Now in the console output my builds are failing and I'm seeing the following errors.  I've attached a log file as well.  Any advice you can provide would be great appreciated.
##[debug]task result: Failed
##[error]Unhandled: crumb request failed.
1_Build.txt

Hi @adam-oberhausen, thanks for the helpful log.  In this case, unfortunately the crumb request failed error is misleading.  You can see on this line of code that, unfortunately, that error is displayed for any HTTP response other than 404 and 200.  :(  We need to improve that.
An error deeper in the log indicates that authentication from Jenkins to GitHub is failing when the job is getting queued.  Does this identify the problem?
java.lang.RuntimeException: org.kohsuke.github.HttpException: Server returned HTTP response code: 401, message: 'Unauthorized' for URL: https://api.github.com/user
at org.jenkinsci.plugins.GithubSecurityRealm$1.authenticate(GithubSecurityRealm.java:475)
at jenkins.security.BasicHeaderRealPasswordAuthenticator.authenticate(BasicHeaderRealPasswordAuthenticator.java:56)

Thanks @DavidStaheli.  So my authentication from Jenkins to Github is failing.  That is strange.  I notice that when I try to verify connection for my service endpoint I get an error message.  However, I am certain that my credentials are correct.  I've uploaded a screenshot.  Any ideas on how I can get this resolved?

Hi @adam-oberhausen, it looks like your Jenkins server uses the GitHub OAuth Plugin for Jenkins.  It appears to be rejecting the credentials you're using.
It may be that the credentials you're using are incompatible, or that the GitHub OAuth token being used is revoked/expired.  You might see the status of this by looking at Authorized applications on GitHub.
Another way to diagnose this is to visit https://jenkins.daysmart.com/api/json?tree=jobs[name,displayName] in an "incognito/inPrivate" browser instance.  Does that display any helpful error information if you use the same GitHub credentials you're using in Team Services?

Hi @DavidStaheli, thanks for the quick response.  When I visit https://jenkins.daysmart.com/api/json?tree=jobs[name,displayName] in an "incognito/inPrivate" browser instance I am prompted with the GitHub login screen.  I enter the same credentials I have entered for my service endpoint and I'm presented with a json formatted list of jobs on our Jenkins server.  So it would appear my credentials are correct and the OAuth application is valid in GitHub.  These are the same credentials I have configured with my service endpoint in VSTS.  What else can we investigate to troubleshoot?
{"_class":"hudson.model.Hudson","jobs":[{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-AccountManagement","name":"Build-Code-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-CloudMessaging","name":"Build-Code-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-MessagingService","name":"Build-Code-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-OnlineBooking","name":"Build-Code-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-PosCloudManagement","name":"Build-Code-PosCloudManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-PosManagement","name":"Build-Code-PosManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-PosOnline","name":"Build-Code-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-Code-RemoteAccess","name":"Build-Code-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-CodeBranch-OnlineBooking","name":"Build-CodeBranch-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Build-CodeBranch-PosOnline","name":"Build-CodeBranch-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-AccountManagement","name":"Burn-AMI-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-Base","name":"Burn-AMI-Base"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-CloudMessaging","name":"Burn-AMI-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-MessagingService","name":"Burn-AMI-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-OnlineBooking","name":"Burn-AMI-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-PosCloudManagement","name":"Burn-AMI-PosCloudManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-PosManagement","name":"Burn-AMI-PosManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-PosOnline","name":"Burn-AMI-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Burn-AMI-RemoteAccess","name":"Burn-AMI-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-AccountManagement","name":"Deploy-Acceptance-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-CloudMessaging","name":"Deploy-Acceptance-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-MessagingService","name":"Deploy-Acceptance-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-OnlineBooking","name":"Deploy-Acceptance-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-PosManagement","name":"Deploy-Acceptance-PosManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-PosOnline","name":"Deploy-Acceptance-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Acceptance-RemoteAccess","name":"Deploy-Acceptance-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-AccountManagement","name":"Deploy-Dev-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-CloudMessaging","name":"Deploy-Dev-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-MessagingService","name":"Deploy-Dev-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-OnlineBooking","name":"Deploy-Dev-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-PosCloudManagement","name":"Deploy-Dev-PosCloudManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-PosManagment","name":"Deploy-Dev-PosManagment"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-PosOnline","name":"Deploy-Dev-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Dev-RemoteAccess","name":"Deploy-Dev-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-AccountManagement","name":"Deploy-Prod-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-CloudMessaging","name":"Deploy-Prod-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-MessagingService","name":"Deploy-Prod-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-OnlineBooking","name":"Deploy-Prod-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-PosManagement","name":"Deploy-Prod-PosManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-PosOnline","name":"Deploy-Prod-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Prod-RemoteAccess","name":"Deploy-Prod-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-AccountManagement","name":"Deploy-Stage-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-CloudMessaging","name":"Deploy-Stage-CloudMessaging"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-MessagingService","name":"Deploy-Stage-MessagingService"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-OnlineBooking","name":"Deploy-Stage-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-PosManagement","name":"Deploy-Stage-PosManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-PosOnline","name":"Deploy-Stage-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"Deploy-Stage-RemoteAccess","name":"Deploy-Stage-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Acceptance-OnlineBooking","name":"GhostInspector-Acceptance-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Acceptance-PosOnline","name":"GhostInspector-Acceptance-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Acceptance-RemoteAccess","name":"GhostInspector-Acceptance-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Dev-AccountManagement","name":"GhostInspector-Dev-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Dev-OnlineBooking","name":"GhostInspector-Dev-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Dev-PosOnline","name":"GhostInspector-Dev-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Dev-RemoteAccess","name":"GhostInspector-Dev-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Prod-AccountManagement","name":"GhostInspector-Prod-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Prod-OnlineBooking","name":"GhostInspector-Prod-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Prod-PosOnline","name":"GhostInspector-Prod-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Stage-AccountManagement","name":"GhostInspector-Stage-AccountManagement"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Stage-OnlineBooking","name":"GhostInspector-Stage-OnlineBooking"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Stage-PosOnline","name":"GhostInspector-Stage-PosOnline"},{"_class":"hudson.model.FreeStyleProject","displayName":"GhostInspector-Stage-RemoteAccess","name":"GhostInspector-Stage-RemoteAccess"},{"_class":"hudson.model.FreeStyleProject","displayName":"RDS-Backup","name":"RDS-Backup"},{"_class":"hudson.model.FreeStyleProject","displayName":"RDS-Enumerate-Databases","name":"RDS-Enumerate-Databases"}]}

In that case, I suspect the "basic authentication" credentials being used by Team Services is incompatible with the GitHub OAuth Plugin for Jenkins because it's trying to redirect to the OAuth consent screen.  Instead of using user credentials, can you try creating a personal access token on GitHub and using it as your password (with any username) in Team Services?

@DavidStaheli.  Creating a personal access token on GitHub and using it as my password on the service endpoint seems to have solved the issue of VSTS authenticating with my Jenkins server.  It seems non-intuitive that the interface on VSO prompts for username and password when adding a new Jenkins connection when it really just wants a personal access token.
Thank you so much for your assistance with this.  I really appreciate it!!

That's great news, @adam-oberhausen!  Until now, we've not heard of anyone using a personal access token for the password, but it makes sense.  We'll try to change our UI to make this scenario more clear.  Thanks for helping us make the product better!

Hi @DavidStaheli and others. I have a critical problem statement and facing issues while running my Automation Test Cases from Jenkins and integrate it with VSTS Test Manager to show the Execution Log/Results.
Steps I follow so far:-

Create New VSTS Dummy Project for Testing.
Go to Build and Release >> Build.
Create a new Build Definition
Add the Jenkins Connection (Service EndPoint) and while entering the Connection url, Username and pwd. Getting the Below Error while doing Verify Connection.

Connection:  Failed
Verify connection
Failed to query service endpoint api: http://"pcname"/api/json?tree=jobs[name,displayName]. Error Message: The remote name could not be resolved: "pcname".
Note: Verification may fail if the URL is not accessible from Visual Studio Team Services. However it might still be valid and accessible from the agent that executes Build/Release.
Now, I don't know the next steps to initiate my Build and run the Jenkins Job through VSTS. Any leads or help related to same would be highly appreciated.

Hi @raman91dogra, is your Jenkins server exposed to the Internet and accessible outside of your company firewall?  That is required for Verify Connection to work from VSTS.  However, if you don't want to expose your Jenkins server to the Internet, you can skip the Verify Connection step and still use VSTS to queue a Jenkins job.  You'll just need to 1) install the VSTS build agent on your Jenkins server or inside of your network and connect it to your VSTS account, and 2) Create a VSTS build that uses the Jenkins Queue Job task to run the job on the agent you installed inside your network.  Here is a blog post that describes it more.  We're working to make this better and easier right now.

Hi @DavidStaheli Thanks for your comments.
My Jenkins Server is on my local as of now for testing Purposes.Also, I do not have admin rights to Block Windows Firewall. Hence I am avoiding "Operation Time Out Error" in Jenkins Server Authentication.
I am creating a Build and I have just one doubt.

Through Jenkins, I am invoking a Test Automation Tool called UFT and running my Test Cases.If I run the same test case through my local, I am storing my Test Results in my Automation Folder Structure.
Hence, on installing "Collect results for TFS/Team Services" Plugin, Available Options like JUnit,NUnit might not be suitable in my Case.
My Instruction to Jenkins would be to Archive and copy the Test Results Folder from local to My Build after run. Hence during Integration, the Same Report would go to VSTS Test Manager and pass the corresponding Test Case in VSTS Test Manager.
--What should I give in Files to Include option if choosing JUnit. Please guide here--

Hi @raman91dogra, here is an image that shows some values you could use.  The safe value for your case is probably:  **/TEST-*.xml

Hi @DavidStaheli Replicated the Steps and queued the Build but Hard Luck, Build getting failed. Placed the Logs below. Please tell where I am going wrong
**2017-06-23T12:46:02.5702001Z ##[section]Starting: Build
2017-06-23T12:46:02.5721999Z Current agent version: '2.119.1'
2017-06-23T12:46:03.0032004Z ##[section]Starting: Initialize Job
2017-06-23T12:46:03.0122005Z Prepare build directory.
2017-06-23T12:46:03.0431992Z Set build variables.
2017-06-23T12:46:03.0471996Z Download all required tasks.
2017-06-23T12:46:03.0601994Z Downloading task: JenkinsQueueJob
2017-06-23T12:46:03.7031992Z Downloading task: JenkinsDownloadArtifacts
2017-06-23T12:46:05.7861997Z Downloading task: PublishTestResults
2017-06-23T12:46:05.9391998Z Downloading task: PublishBuildArtifacts
2017-06-23T12:46:06.1041998Z ##[section]Finishing: Initialize Job
2017-06-23T12:46:06.1351993Z ##[section]Starting: Get Sources
2017-06-23T12:46:06.1711981Z Syncing repository: MyFirstProject (TfsGit)
2017-06-23T12:46:06.1761997Z Prepending Path environment variable with directory containing 'git.exe'.
2017-06-23T12:46:06.1842000Z ##[command]git version
2017-06-23T12:46:06.4442001Z git version 2.12.0.windows.1
2017-06-23T12:46:06.4561989Z ##[command]git init "d:\a\1\s"
2017-06-23T12:46:06.5122094Z Initialized empty Git repository in d:/a/1/s/.git/
2017-06-23T12:46:06.5151998Z ##[command]git remote add origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:06.5371993Z ##[command]git config gc.auto 0
2017-06-23T12:46:06.5571999Z ##[command]git config --get-all http.https://ramandogra.visualstudio.com/_git/MyFirstProject.extraheader
2017-06-23T12:46:06.5761994Z ##[command]git config --get-all http.proxy
2017-06-23T12:46:06.6061997Z ##[command]git -c http.extraheader="AUTHORIZATION: bearer ******" fetch --tags --prune --progress origin
2017-06-23T12:46:07.4221999Z ##[command]git checkout --progress --force refs/remotes/origin/master
2017-06-23T12:46:07.4431999Z error: pathspec 'refs/remotes/origin/master' did not match any file(s) known to git.
2017-06-23T12:46:07.6841986Z ##[error]Git checkout failed with exit code: 1
2017-06-23T12:46:07.6881995Z ##[section]Finishing: Get Sources
2017-06-23T12:46:07.6901995Z ##[section]Starting: Post Job Cleanup
2017-06-23T12:46:07.6951999Z Cleaning any cached credential from repository: MyFirstProject (Git)
2017-06-23T12:46:07.6992000Z ##[command]git remote set-url origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:07.7211998Z ##[command]git remote set-url --push origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:07.7401991Z ##[section]Finishing: Post Job Cleanup
2017-06-23T12:46:07.7461997Z ##[section]Finishing: Build

Hi @raman91dogra, I could be wrong, but I think it's because your Git repository is empty and might not yet have a master branch.  You can try queuing the job manually in Jenkins and you'll probably see the same error there.

@DavidStaheli Yes might be correct, I am new to Git as well. My Jenkins Build is not invoking anything through GitHub. I am running a script saved on local.
Let me try using Git and will update you. 👍

@DavidStaheli I created a New Branch under Master and then queue the build again and getting below Error.

Starting: Build

Current agent version: '2.119.1'

Starting: Initialize Job

Prepare build directory.
Set build variables.
Download all required tasks.
Downloading task: JenkinsQueueJob
Downloading task: PublishTestResults
Downloading task: JenkinsDownloadArtifacts
Downloading task: PublishBuildArtifacts

Finishing: Initialize Job

Starting: Get Sources

Syncing repository: MyFirstProject (TfsGit)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.12.0.windows.1
git init "d:\a\1\s"
Initialized empty Git repository in d:/a/1/s/.git/
git remote add origin https://ramandogra.visualstudio.com/_git/MyFirstProject
git config gc.auto 0
git config --get-all http.https://ramandogra.visualstudio.com/_git/MyFirstProject.extraheader
git config --get-all http.proxy
git -c http.extraheader="AUTHORIZATION: bearer ********" fetch --tags --prune --progress origin
remote:
remote:                    vSTs
remote:                  vSTSVSTSv
remote:                vSTSVSTSVST
remote: VSTS         vSTSVSTSVSTSV
remote: VSTSVS     vSTSVSTSV STSVS
remote: VSTSVSTSvsTSVSTSVS   TSVST
remote: VS  tSVSTSVSTSv      STSVS
remote: VS   tSVSTSVST       SVSTS
remote: VS tSVSTSVSTSVSts    VSTSV
remote: VSTSVST    SVSTSVSTs VSTSV
remote: VSTSv        STSVSTSVSTSVS
remote:                VSTSVSTSVST
remote:                  VSTSVSTs
remote:                    VSTs    (TM)
remote:
remote:  Microsoft (R) Visual Studio (R) Team Services
remote:
From https://ramandogra.visualstudio.com/_git/MyFirstProject

[new branch]      Selenium_Java -> origin/Selenium_Java
[new branch]      master        -> origin/master

git checkout --progress --force refs/remotes/origin/Selenium_JavaTest
error: pathspec 'refs/remotes/origin/Selenium_JavaTest' did not match any file(s) known to git.
Git checkout failed with exit code: 1

Finishing: Get Sources

Starting: Post Job Cleanup

Cleaning any cached credential from repository: MyFirstProject (Git)
git remote set-url origin https://ramandogra.visualstudio.com/_git/MyFirstProject
git remote set-url --push origin https://ramandogra.visualstudio.com/_git/MyFirstProject

Finishing: Post Job Cleanup

Finishing: Build

Please see the Screenshot for Branches tab

@davidstaheli
Error: HTTP call to Jenkins server failed,
Task: I want to move jar file (I build from TFS) to Jenkins workspace. It's showing me this "HTTP call to Jenkins server failed". Any help please


Testmode response Subject: should not be good/bad

The subject line of the test response emails should state "test response" rather than "good test response" or "bad test response".
Essentially the test is achieving its purpose regardless of the good/bad state of the claim.

Test mode will now use the value of TestResponseSubject if not blank as the Subject: line of the response email.
Good/bad is still included in the body


[botbuilder-dialogs] Dialog does not prompt on continue dialog if any activity is sent on the turn

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Versions
What package version of the SDK are you using: 4.14.1
What nodejs version are you using: node14
What browser version are you using: NA
What os are you using: MacOS
Describe the bug
On continueDialog a prompt checks first if the context.responded is false before showing the prompt. This behavior is incorrect in most cases. I show here an example with a typing activity (Which is very common)
/* eslint-disable no-console */
import { ActivityTypes, ConversationState, MemoryStorage, TestAdapter } from 'botbuilder';
import { ChoicePrompt, DialogSet, DialogTurnStatus, ListStyle, WaterfallDialog } from 'botbuilder-dialogs';

const STATEMENT = 'Hello, I will ask you a question.';
const QUESTION = 'Do you like me?';
const prompt = new ChoicePrompt('choices', async (p) => {
  if (!p.recognized && p.attemptCount < 2) {
    return false;
  }

  return true;
});
const dialog = new WaterfallDialog('testDialog', [
  async (step) => {
    await step.context.sendActivity(STATEMENT);
    return step.prompt('choices', { prompt: QUESTION, choices: ['Yes', 'Of course'], style: ListStyle.list });
  },
]);

const memory = new MemoryStorage();

const dialogMemory = new ConversationState(memory);

const dialogSet = new DialogSet(dialogMemory.createProperty('dialogs'));

dialogSet.add(prompt);
dialogSet.add(dialog);

const testAdapter = new TestAdapter(async (ctx) => {
  const dc = await dialogSet.createContext(ctx);
  // Comment out the typing activity to see how it changes the behavior of the script.
  await ctx.sendActivity({ type: ActivityTypes.Typing });
  const result = await dc.continueDialog();
  if (result.status === DialogTurnStatus.empty) {
    await dc.beginDialog('testDialog');
  }
  await dialogMemory.saveChanges(ctx);
});

(async () => {
  await testAdapter.send('hi');
  testAdapter.activeQueue.splice(0, Infinity);
  await testAdapter.send('sorry, what?');
  const texts = testAdapter.activeQueue.map((a) => a.text);
  if (!texts.some((t) => t?.includes(QUESTION))) {
    throw new Error('Question not included in replies');
  }
})()
  .then(() => console.log('Well done'))
  .catch((err) => console.error(err));

// (async () => {
//   await testAdapter
//     .send('hi')
//     .assertReply({ type: ActivityTypes.Typing })
//     .assertReply(STATEMENT)
//     .assertReply((r) => {
//       r.text?.includes(QUESTION);
//     });
//   await testAdapter
//     .send('sorry, what')
//     .assertReply({ type: ActivityTypes.Typing })
//     .assertReply((r) => {
//       r.text?.includes(QUESTION);
//     });
// })()
//   .then(() => console.log('Well done'))
//   .catch((err) => console.error(err));

Expected behavior
On continueDialog, the question should be shown, regardless of whether the application sends message before the prompt continueDialog is called
If backwards compatibility for this is necessary, I would recommend to add an option parameter that specifies whether to reply on continue or not. And if this parameter is empty, continue doing the current behavior
PS: TestAdapter is broken
Also, note that if you run the test with the assertReply, the test adapter throws a unhandledpromiserejection. I believe currently the test adapter throws unhandled exceptions whenever

there is a failed assertion,
If the test adapter handler itself throws an error.

That makes it really hard to use the TestAdapter on tests to test error throwing

Hi @alexrecuenco
Thank you for opening this issue. Does this also occur during runtime of the bot, or only with the TestAdapter?

Good morning/afternoon,
Yes, it occurs with any adapter, it is related to this line in the base prompt class. I just tried to simplify the issue as much as I could to make it simple to add a test case to the suit.
https://github.com/microsoft/botbuilder-js/blob/cb0718c02239655b69d2e7681c8e2e8704c0df29/libraries/botbuilder-dialogs/src/prompts/prompt.ts#L260

It seems the sentNonTraceActivity flag should also be excluding activity types of Typing:
            if (result.type !== ActivityTypes.Trace) {
                sentNonTraceActivity = true;
            }

https://github.com/microsoft/botbuilder-js/blob/main/libraries/botbuilder-core/src/turnContext.ts#L513

If the goal is to prevent the bot saying twice the same prompt in a turn, a better place would be the turnState using a private symbol exclusive to the prompt itself

@EricDahlvang any update on this?

I've looked into this a bit more, and our historical guidance is to use middleware and response event handlers: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-middleware?view=azure-bot-service-4.0#response-event-handlers Perhaps middleware could reset the responded flag to false under your specific business conditions?
This old comment thread provides a bit more context:
https://github.com/microsoft/botbuilder-dotnet/pull/822#issuecomment-411479904

Since this is taking a while, I tried to write down my suggestion for one possible solution for this issue on https://github.com/microsoft/botbuilder-js/pull/3981
I hope this suggestion is not considered intrusive.

@EricDahlvang any update on this?

Our fix currently is to dig into the private properties on the context on the validator function, and to set it to false over there, then execute the validator.
Something like,
wrapValidator = (validator) => (prompt) => { prompt.context._respondedRef.responded=true; return validator(prompt) }
Obviously, we would like to remove that hack

I am not sure yet why it is even checking the responded flag because:

It is a concurrency issue, you can't guarantee that it won't get turned, and it will create huge headaches with timing of async tasks.
Even if no concurrency issue was present, it is still a private property. I hope you would understand how hacking it is not preferable

(Notice how the suggestion breaks the retry tests)

@Stevenic do you have any feedback on this discussion regarding the context.responded flag?

Good afternoon, I modified #3981 to address the backwards compatibility issues we were discussing.
Pushing a change like that (or similar to that if that is considered too intrusive) would minimize the harm of using the "responded" flag.
In essence, it understands the intention to check only if it responded within the validator.

It's been a while, was this ever fixed?

I am not sure if this will get picked up at some point. I believe this is still an issue.
The way in which it shows up more blatantly is when you have a typing activity that is showing to the user we are typing. That just breaks all prompts.
But I no longer have the time or focus to work on it myself.


webserver-1 keep crashing

My env is Windows 10 + docker desktop:
Step 1:  git clone https://github.com/tuanavu/airflow-tutorial.git
Step 2:  cd airflow-tutorial
Step 3:  docker-compose up

airflow-tutorial-webserver-1  | /usr/local/lib/python3.6/site-packages/airflow/configuration.py:57: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
airflow-tutorial-webserver-1  |   from cryptography.fernet import Fernet
airflow-tutorial-webserver-1  | Traceback (most recent call last):
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 18, in
airflow-tutorial-webserver-1  |     from . import _mysql
airflow-tutorial-webserver-1  | ImportError: libmariadb.so.3: cannot open shared object file: No such file or directory
airflow-tutorial-webserver-1  |
airflow-tutorial-webserver-1  | During handling of the above exception, another exception occurred:
airflow-tutorial-webserver-1  |
airflow-tutorial-webserver-1  | Traceback (most recent call last):
airflow-tutorial-webserver-1  |   File "/usr/local/bin/airflow", line 21, in
airflow-tutorial-webserver-1  |     from airflow import configuration
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/airflow/init.py", line 36, in
airflow-tutorial-webserver-1  |     from airflow import settings
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/airflow/settings.py", line 261, in
airflow-tutorial-webserver-1  |     configure_adapters()
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/airflow/settings.py", line 218, in configure_adapters
airflow-tutorial-webserver-1  |     import MySQLdb.converters
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 24, in
airflow-tutorial-webserver-1  |     version_info, _mysql.version_info, _mysql.file
airflow-tutorial-webserver-1  | NameError: name '_mysql' is not defined
airflow-tutorial-webserver-1  | Traceback (most recent call last):
airflow-tutorial-webserver-1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 18, in
airflow-tutorial-webserver-1  |     from . import _mysql
airflow-tutorial-webserver-1  | ImportError: libmariadb.so.3: cannot open shared object file: No such file or directory

Hey, it has been fixed in the below mentioned link
[https://github.com/tuanavu/airflow-tutorial/issues/51#issuecomment-918743193]


Proxy stub mappings - Need proxyUrlPrefixToRemove for proxy context url mapping

Hi,
Problem Description:
In Proxy stub mappings, I am trying to map a prefixed request url to a proxy url, but I need that prefix I added to the request call be removed when it is getting dispatched to the proxy host, if it is matched for example to a transformation parameter called proxyUrlPrefixToRemove
Acceptance Criteria:
GIVEN The following code will proxy all GET requests made to http://:/other/service/.* to http://otherservice.com/approot
And proxyUrlPrefixToRemove transformation parameter is set to "/other/service"
WHEN running WireMock locally a request to http://localhost:8080/other/service/doc/123
THEN it would be forwarded to http://otherservice.com/approot/doc/123
My proposed solution:
Since wiremock code is written in a way that there is no place to override classes to add a feature, I had to customize the wiremock code to do it.
Here is the change I made,
In com.github.tomakehurst.wiremock.http.ProxyResponseRenderer class:
Current Code:
   public static HttpUriRequest getHttpRequestFor(ResponseDefinition response) {
		final RequestMethod method = response.getOriginalRequest().getMethod();
		final String url = response.getProxyUrl();
		return HttpClientFactory.getHttpRequestFor(method, url);
	}

Changed Code:
protected synchronized HttpUriRequest getHttpRequestFor(ResponseDefinition response) {
		String proxyUrlPrefixToRemove = null;
		if(response.getTransformerParameters() != null) {
			proxyUrlPrefixToRemove = (String) response.getTransformerParameters().get("proxyUrlPrefixToRemove");
		}

		RequestMethod method = response.getOriginalRequest().getMethod();
		String requestContextUrl = response.getOriginalRequest().getUrl();
		String proxyBaseUrl = response.getProxyBaseUrl();
		StringBuilder sb = new StringBuilder();
		sb.append(proxyBaseUrl);
		if (StringUtils.isNoneBlank(proxyUrlPrefixToRemove) && requestContextUrl.startsWith(proxyUrlPrefixToRemove)) {
			requestContextUrl = requestContextUrl.substring(proxyUrlPrefixToRemove.length());
		}
		sb.append(requestContextUrl);
		return HttpClientFactory.getHttpRequestFor(method, sb.toString());
	}

As you see, I had to make getHttpRequestFor a non-static method so that I can have access to transformation parameter.
I am so interested to contribute wiremock and add this feature to the wiremock. For sure I will follow the wiremock contribution rules and write appropriate unit tests for this feature and run all existing test to avoid any side effect and breaking other things.
Please give me a direction so I can start contributing wiremock by adding this feature to it.
Thanks you so much in advance,
Nasim

This could be done rather easily through a ResponseDefinitionTransformer extension. Here's a similar extension I wrote awhile ago that proxies requests to a host that's determined by a header in the request: https://github.com/MasonM/wiremock-dynamic-proxy/blob/master/src/main/java/com/github/masonm/wiremock/DynamicProxyTransformer.java
For example, if you sent a request with the header X-Proxy-Dest: http://example.com and included the transformer with the parameter "headerName": "X-Proxy-Dest", then it would proxy the request to http://example.com.

We cannot change the existing logic and add a header in the initial request, suppose we only can change the endpoint URL. So playing with request header is not possible.
This is the Acceptance Criteria:
Acceptance Criteria:
GIVEN The following code will proxy all GET requests made to http://:/other/service/.* to http://otherservice.com/approot
And proxyUrlPrefixToRemove transformation parameter is set to "/other/service"
WHEN running WireMock locally a request to http://localhost:8080/other/service/doc/123
THEN it would be forwarded to http://otherservice.com/approot/doc/123

@kabiliravi When I talked about adding a header, that's just for my extension. I was explaining what my extension does so you can understand how it works, since I think it's a good example of how to write a very basic ResponseDefinitionTransformer extension (though I'm a bit biased). You don't need to change headers in order to use extensions. Sorry for the confusion.
I don't see anything that'd prevent you from writing a ResponseDefinitionTransformer that fulfills the acceptance criteria. Is there something I'm missing?

I see, I will try to implement this with ResponseDefinitionTransformer,  I hope I can change the target endpoint url and take out the part that I distinguish the Wiremock Stub rules that I defined for different targets. If it works, I will share my works here and close this feature request. Thanks a lot

It seems can help parameter like proxyPath:
{
  "request": {
    "method": "POST",
    "urlPath": "/request/endpoint"
  },
  "response": {
    "proxyBaseUrl" : "http://localhost:8080",
    "proxyPath": "/proxy/endpoint"
  }
}

I found tricky workaround which works.

Would be nice to see this feature implemented in the default wiremock.

I am using the admin API to do this in my functional tests. Is there a way this enhancement can be delivered for WM Admin API?

It is already possible to find this feature in last wiremock?

@Srso would you show me how with a brief sample code?

we still haven't this feature for standalone Wiremock mode :(

looks like we just need builtin trnasforemer for this, and this solve the problem with standalone mode

Is not http://wiremock.org/docs/extending-wiremock/#intercepting-and-modifying-requests the answer?

You just will need to instantiate your wiremock server like this:
var server = server = new WireMockServer(wireMockConfig()
            .extensions(new ResponseTemplateTransformer(false),
                new UrlPrefixRemovingFilter(settings.getServicePathPrefixes())
            )
// other parameters
          . build());


Add support for fit in project

The current implementation does not work if fit is used in project, see point 4 on this page for an example. The placement of the tiles is off. This also happens if neither scale nor transpose are provided (and also not fit) as then Vega-Lite adds a fit parameter itself to prevent the chart size from exploding, this is called "autofitting" and was introduced in https://github.com/vega/vega-lite/pull/4843.
Part of Vega spec with autofitting:
    {
      "name": "projection",
      "size": {"signal": "[width, height]"},
      "fit": {"signal": "data('source_0')"},
      "center": [0, 40],
      "rotate": [-10, 0, 0],
      "type": "mercator"
    }

Same but translate was specified in Vega-Lite spec:
    {
      "name": "projection",
      "translate": [0, 10],
      "center": [0, 40],
      "rotate": [-10, 0, 0],
      "type": "mercator"
    }

From Vega docs:

fit: GeoJSON data to which the projection should attempt to automatically fit the translate and scale parameters.
size: Used in conjunction with fit, provides the width and height in pixels of the area to which the projection should be automatically fit.

As fit is very useful and it's even added in the default case of only projection type = 'mercator' without any additional settings is set, we need to support it.
See this example in the Vega Editor for a spec where the placement is off due to fit. How can we replicate the behavior of fit for the placement of the tiles? As a first step, what exactly happens if fit is set? Is this the relevant code?
Updates

Tile size will need to depend on chart size as with fit it depends on it, see signals in Vega spec above
If the chart aspect ratio is not the same as the one of the bounding box, there is some space either left and right or top and bottom and geoshape mark are centered -> Need to adjust for this (in basepoint?) and decide if white space is ok or if tiles should fill out whole chart (seems preferable to me)

Can maybe get coordinates of bounding box with geoBounds and then shift tiles by (chart width - box width) / 2 on x and similar on y

@mattijn In case you have a moment and want to look into the development here, I think this is currently the most important issue to resolve. Very much appreciate any input as I'm a bit stuck here. Let me know if the explanations are unclear and I can add expand.

Sure! Give me a few days to see if I can be of help here. Hopefully🙏
Note to self and others: Maybe we can get the scale from the projection which is defined through fit and from there compute the corresponding z?

Almost there, but I think it requires an extension in Vega. I opened an issue there, see https://github.com/vega/vega/issues/3758

Thanks for figuring this out and opening the issue! Fingers crossed that this can be implemented in Vega.

The geoScale expression is working now in Altair (not yet in the Vega-editor):
import altair as alt
import geopandas as gpd

url = "https://naciscdn.org/naturalearth/110m/cultural/ne_110m_admin_0_countries.zip"
gdf_ne = gpd.read_file(url)  # zipped shapefile
gdf_ne = gdf_ne[["NAME", "CONTINENT", "POP_EST", 'geometry']]
extent_roi = gdf_ne.query("CONTINENT == 'Africa'")

my_geoscale = alt.param(expr="geoScale('projection')")
title=alt.Title(alt.expr(f'"The geoScale is " + {my_geoscale.name}'))
chart = alt.Chart(extent_roi, title=title).mark_geoshape(clip=True).project(type='mercator').add_params(my_geoscale)
chart

I tried to rethink how this was supposed to be included and I think it was intended to change the _get_scale() function around here: https://github.com/altair-viz/altair_tiles/blob/main/altair_tiles/init.py#L372, but I'm not so sure anymore, since this functions returns an already defined value or parameter, where in this case another parameter has to be added.
Maybe this geoScale expression in any case, nonetheless a scale is already defined?


fix: show zod default values

If a zod value is defaulted we should show the default, not undefined.
This also fixes the tests so that the logs do not bleed into other tests causing false results. I would have liked to change this to a class to avoid having to pass the UI argument around but didn't think it'd make that much difference to the code and it'd be more changes than just the bugfix.
This is a followup to https://github.com/Julien-R44/vite-plugin-validate-env/pull/14

Thanks!


reduce default worker-threads for csi-provisioner

Have various testing on small and medium size cluster,  default worker-threads=100 will cause multiple grpc errors from API during PVC dynamic provisioning, as the result PVC creation randomly spent 15 to 60 mins. Reducing worker-threads helps eliminate the API errors.

@levindecaro I am trying to understand whats the error you are getting and how the size of the cluster have an effect on number of workers here. Can you please share more details on the issue?

@levindecaro I am trying to understand whats the error you are getting and how the size of the cluster have an effect on number of workers here. Can you please share more details on the issue?

@humblec I was tested the ceph-csi on OCP4.3 and 4.4, the size of cluster described as below
OCP 4.3

3 x Master RHCOS (6 CPU 32GB Memory per node)
10 x Worker RHEL ( 8 CPU 16GB Memory per node)
about 300 Pods, 100 deployment, 30 active PV

OCP 4.4

3 x Master RHCOS (4 CPU 16GB Memory per node)
2 x Worker RHCOS ( 8 CPU 16GB Memory per node)
clean install

The dynamic provisioning works out of the box without any tuning on both cluster. However when application deployment comes in, and cluster starting to growth with adding hundred deployment objects,  then the ceph-csi will have trouble to finish the PVC bounding randomly with the message as below.
Generated from cephfs.csi.ceph.com_csi-cephfsplugin-provisioner-5ff845849c-fmqvq_41da825a-fa8f-467b-8396-7c9d9b895025
14 times in the last 30 minutes
failed to provision volume with StorageClass "csi-cephfs-sc": rpc error: code = Aborted desc = an operation with the given Volume ID pvc-c8a1e41b-0b3e-4653-9d5b-872b5fc92b6f already exists

When i received this message and checked the underlying cephfs, the subvolume actually was created already at the first attempt (matching the provisioning time). So I thought there are somehow race issues from the csi provisioiner i can't tell, even with debug logs, they are just flooding with same "already exists" errors. If u have patient enough, it will finish the PVC bound after mins or a hour or two.
On the other hands, the etcd on OCP are often come up "took too long to execute > 100ms" message after CSI comes in, it was indication that relate to performance problem where APIs are not fast enough to catch up the operation.
In this connection, I start to stress the csi pv provisioning to create thousand of PVC sequentially with 1 PV per second rate, however both cluster appear stuck creation at about 300 ~450 PVC. When it stuck at this point, it will never resume until I flush all pending PVC. Quickly look at the csi-provisioner  usage are climb up to 8GB memory usage and they all flooding with grpc errors.
Finally, I tried to reduce the worker threads down to somehow at 5, thousand PVC can be created without any errors, and ran so far stable after 1 week observation.

@levindecaro let's track the changes in one PR either here on in #1033

one thing to consider here is with current implementation cephcsi it will open a new connection to connect to the backend ceph cluster and this will be solved by the go-ceph binding and I believe your issues should also be solved by it, @nixpanic what do you say?

one thing to consider here is with current implementation cephcsi it will open a new connection to connect to the backend ceph cluster and this will be solved by the go-ceph binding and I believe your issues should also be solved by it, @nixpanic what do you say?

Yes, most likely. that is why I referenced it from #921

@levindecaro first of all thanks a lot for the detailed comment. I really appreciate it!
Some details/thoughts inline.

@humblec I was tested the ceph-csi on OCP4.3 and 4.4, the size of cluster described as below
OCP 4.3
* 3 x Master RHCOS (6 CPU 32GB Memory per node)

* 10 x Worker RHEL ( 8 CPU 16GB Memory per node)
  about 300 Pods, 100 deployment, 30 active PV

OCP 4.4
* 3 x Master RHCOS (4 CPU 16GB Memory per node)

* 2 x Worker RHCOS ( 8 CPU 16GB Memory per node)
  clean install

The dynamic provisioning works out of the box without any tuning on both cluster. However when application deployment comes in, and cluster starting to growth with adding hundred deployment objects, then the ceph-csi will have trouble to finish the PVC bounding randomly with the message as below.

Am I correct in the assumption that this is the same behaviour in both of the above clusters ?  like OCP 4.3 and OCP 4.4 ?

Generated from cephfs.csi.ceph.com_csi-cephfsplugin-provisioner-5ff845849c-fmqvq_41da825a-fa8f-467b-8396-7c9d9b895025
14 times in the last 30 minutes
failed to provision volume with StorageClass "csi-cephfs-sc": rpc error: code = Aborted desc = an operation with the given Volume ID pvc-c8a1e41b-0b3e-4653-9d5b-872b5fc92b6f already exists

When i received this message and checked the underlying cephfs, the subvolume actually was created already at the first attempt (matching the provisioning time). So I thought there are somehow race issues from the csi provisioiner i can't tell, even with debug logs, they are just flooding with same "already exists" errors. If u have patient enough, it will finish the PVC bound after mins or a hour or two.

I am trying to figure out mainly 2 things here:

Is it specific to cephfs or is it the same behaviour for both RBD and CephFS? because it may be some 'lock' contention in the cephfs layer too which cause the delay in processing further requests. If there is a lock contention or some improvement required, we have to isolate that.
 it will finish the PVC bound after mins or a hour or two. -> this is not good , taking an hour or two to finish the request is too much.

@Batrick  @dillaman @kotresh @vshankar any thoughts here on what could be causing such behaviour?

If the error is "already exist", I am wondering why the next retry goes again.  It should be the case or is it that, its just a random logging .. not sure atm.
Btw, are you confirming this is the behaviour when there are around 1000 requests issued in one shot?

On the other hands, the etcd on OCP are often come up "took too long to execute > 100ms" message after CSI comes in, it was indication that relate to performance problem where APIs are not fast enough to catch up the operation.

There is already an issue in sidecar shipped by kube where it goes on toss if there are more than 100 requests in a shot.  There were some improvements, but maybe not up to the mark.

In this connection, I start to stress the csi pv provisioning to create thousand of PVC sequentially with 1 PV per second rate, however both cluster appear stuck creation at about 300 ~450 PVC. When it stuck at this point, it will never resume until I flush all pending PVC. Quickly look at the csi-provisioner usage are climb up to 8GB memory usage and they all flooding with grpc errors.
Finally, I tried to reduce the worker threads down to somehow at 5, thousand PVC can be created without any errors, and ran so far stable after 1 week observation.

Reducing worker threads will obviously help the backend layer, but there is also an expectation  that,
we should be capable of provisioning or serving good number of parellel requests. So isolating the issue to the layer could help.
Btw, in this scenario increasing the csiTimeout to a higher value could also help I believe.
say for ex: 300 , atleast it should reduce the load to a good extend.
https://github.com/ceph/ceph-csi/blob/master/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml#L56

@levindecaro first of all thanks a lot for the detailed comment. I really appreciate it!
Some details/thoughts inline.

@humblec I was tested the ceph-csi on OCP4.3 and 4.4, the size of cluster described as below
OCP 4.3
* 3 x Master RHCOS (6 CPU 32GB Memory per node)

* 10 x Worker RHEL ( 8 CPU 16GB Memory per node)
  about 300 Pods, 100 deployment, 30 active PV

OCP 4.4
* 3 x Master RHCOS (4 CPU 16GB Memory per node)

* 2 x Worker RHCOS ( 8 CPU 16GB Memory per node)
  clean install

The dynamic provisioning works out of the box without any tuning on both cluster. However when application deployment comes in, and cluster starting to growth with adding hundred deployment objects, then the ceph-csi will have trouble to finish the PVC bounding randomly with the message as below.

Am I correct in the assumption that this is the same behaviour in both of the above clusters ? like OCP 4.3 and OCP 4.4 ?

Yes, same behaviour, same error.

Generated from cephfs.csi.ceph.com_csi-cephfsplugin-provisioner-5ff845849c-fmqvq_41da825a-fa8f-467b-8396-7c9d9b895025
14 times in the last 30 minutes
failed to provision volume with StorageClass "csi-cephfs-sc": rpc error: code = Aborted desc = an operation with the given Volume ID pvc-c8a1e41b-0b3e-4653-9d5b-872b5fc92b6f already exists

When i received this message and checked the underlying cephfs, the subvolume actually was created already at the first attempt (matching the provisioning time). So I thought there are somehow race issues from the csi provisioiner i can't tell, even with debug logs, they are just flooding with same "already exists" errors. If u have patient enough, it will finish the PVC bound after mins or a hour or two.

I am trying to figure out mainly 2 things here:

Is it specific to cephfs or is it the same behaviour for both RBD and CephFS? because it may be some 'lock' contention in the cephfs layer too which cause the delay in processing further requests. If there is a lock contention or some improvement required, we have to isolate that.
 it will finish the PVC bound after mins or a hour or two. -> this is not good , taking an hour or two to finish the request is too much.

Yes, I have experience same "already exist" issue for rbd as well.

@batrick @dillaman @kotresh @vshankar any thoughts here on what could be causing such behaviour?

If the error is "already exist", I am wondering why the next retry goes again.  It should be the case or is it that, its just a random logging .. not sure atm.
Btw, are you confirming this is the behaviour when there are around 1000 requests issued in one shot?

This behaviour can be reproduced for large volume PV request, if just test for few pv, it won't always hit that.

On the other hands, the etcd on OCP are often come up "took too long to execute > 100ms" message after CSI comes in, it was indication that relate to performance problem where APIs are not fast enough to catch up the operation.

There is already an issue in sidecar shipped by kube where it goes on toss if there are more than 100 requests in a shot. There were some improvements, but maybe not up to the mark.

In this connection, I start to stress the csi pv provisioning to create thousand of PVC sequentially with 1 PV per second rate, however both cluster appear stuck creation at about 300 ~450 PVC. When it stuck at this point, it will never resume until I flush all pending PVC. Quickly look at the csi-provisioner usage are climb up to 8GB memory usage and they all flooding with grpc errors.
Finally, I tried to reduce the worker threads down to somehow at 5, thousand PVC can be created without any errors, and ran so far stable after 1 week observation.

Reducing worker threads will obviously help the backend layer, but there is also an expectation that,
we should be capable of provisioning or serving good number of parellel requests. So isolating the issue to the layer could help.
Btw, in this scenario increasing the csiTimeout to a higher value could also help I believe.
say for ex: 300 , atleast it should reduce the load to a good extend.
https://github.com/ceph/ceph-csi/blob/master/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml#L56

csiTimeout do nothing with this behaviour, I had tired with different values before get into worker-threads.

I ran it on a heavily loaded cluster and needed to set resource requests/limits in order to schedule the workload and guarantee resources for the driver. Even with significant amounts of dedicated resource to the driver, it was failing when a user created a cluster with an operator that spawned 32 pvc's at the same time. I tried lots of things and when I found the worker-threads flag, set it to 4, and all the problems went away. Its been solid since.
I don't know if it is the right default value. It probably depends on what you set resources/limits to. But 100 is DEFINITELY too much in a heavy load environment. There may be some things we could do with setting timeouts on the sidecar grpc calls as well. When it was under heavy load, ceph calls were taking a while to resolve, causing grpc timeouts and then executing more grpc calls.
It sounds like the csi sidecar may start defaulting to worker-threads 2 in the near future as well as most drivers don't know what to set it to and smaller is safer then bigger.
Defaulting to 2 or 4 should be fine. It may be slow to create, but should always work. Then the user can tune up the number if they choose.

@levindecaro and @kfox1111 thanks for the detailed testing. These are also a proof that, we have better reliability and response when we have small worker threads. I am Acking for reducing the worker-threads to 4 for now.  @levindecaro can you revisit  https://github.com/ceph/ceph-csi/pull/1033/ ? please let me know if you need any help!

Did another fix get in for this?

I think this has been resolved by a golang based library implementation rather then forking?

@kfox1111 @levindecaro This should be fixed in cephcsi master now, instead of using CLI we are using the go-ceph library to talk to ceph cluster. please let us know if we still need this fix?

I think it being in master is good enough to close this. Thanks! :)

do you know off the top of your head if there is a version released from master after the go-ceph stuff was added? something like, if your running after xxxx then you have it? Would help me not have to hunt through change logs. if you don't know, thats ok.

Closing this one as there is no much work. Please feel free to reopen and rebase.


Fix datachannel stats invalid pointer

Datachannel can be have a nil datachannel pointer

Codecov Report

Merging #728 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #728      +/-   ##
==========================================
+ Coverage   76.28%   76.29%   +<.01%
==========================================
  Files          58       58
  Lines        4023     4024       +1
==========================================
+ Hits         3069     3070       +1
  Misses        700      700
  Partials      254      254

Impacted Files
Coverage Δ

datachannel.go
81.36% <100%> (+0.06%)
:arrow_up:

Continue to review full report at Codecov.

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


IE shows record button, but it doesn't work

Using Internet Explorer, I see the record button for CodeWorld programs.  Clicking it gives:
SCRIPT438: Object doesn't support property or method 'captureStream'
codeworld.js (163,9)

It looks like canvas elements don't have captureStream on IE.  The UI should detect that and not offer the record button if it cannot function correctly.

@venkat24

This is still happening.


M1 Midsem Papers

Fixes #
Checklist

[x] My branch is up-to-date with the Upstream master branch.
[x] I have added necessary documentation (if appropriate)

Changes proposed in this pull request

Screenshots (if appropriate)
Link to live demo (if appropriate):
Closes #

These papers are already added in the repository.. so closing this PR
find other papers and then send a PR


three-mesh-ui vs Dom Overlays

Hi @felixmariotto,
Hope you are well! I appreciate your effort to create/maintain this library over the last 2 years.
I have used this library for a couple of WebXR VR projects and It had worked really well for me.
I was wondering now that we have WebXR Dom Overlay support in VR browser's (Oculus) what are the different use cases where I would choose one over the other?
Regards
Srinivas Prabhu

Hey @SrinivasPrabhu794,
I didn't find extensive examples of WebXR Dom Overlay but I guess the main point is that three-mesh-ui stays at 3D level and it is a 3D object.
So I would go with :

Text behind or inside 3D world / object
Shaders and Postprocessing

As I don't know much about WebXR Dom Overlay feel free to correct this if needed. Also Do you have other points I would have forget to compare both ?


Add note to upgrading.md

Adds a note about needing to change the meta, data, and wal directories in the newly-generated configuration file if the user is not using OS X.
By default, the directories are set to /root/.influxdb and InfluxDB will not start on their systems.

@gunnaraasen, @jackzampolin

+1

Thanks @rkuchan!

@rkuchan I'm not sure I understand why this is needed. Shouldn't our upgrade process be easiest for the most common install type (ubuntu)? Why do we have OS X-specific logic in the upgrade process?

@beckettsean, I'm not sure why but the default directories in a newly-generated config file are the OS X directories.

@rkuchan even when generating the file on a linux system? That seems crazy.

@beckettsean, yes. Agreed. Both Jack and I ran into this problem and it was totally unexpected.


New language feature

Make Shiba a real programming language

Draft:

Allow shiba extension run lambda like

...
text = $bind sampleText { it ->
    return it += "awesome!"
}
...

With converter:
...
text = awesome($bind sampleText) { it ->
    return it += "awesome!"
}
...

it will be the result of awesome($bind sampleText)

Remove JavaScript support, replace with Shiba

Shiba will keep using JavaScript as the script language.
It's better to keep Shiba as a pure layout definition language.


pip下载安装的时候显示错误

Hi,
I
I tried with pip install and got this error.
cl : Command line error D8021 : invalid numeric argument '/Wno-unused-variable'
Thank you

Would you mind sharing environment information, like which version of pip you're using? There might be a compatibility issue with the pip>=24.1, and I'm wondering if it could be related to the problem you're experiencing.

The pip version is pip 24.0  The problem mentioned failed  building wheel for louvain.
"ERROR: Could not build wheels for louvain, which is required to install pyproject.toml-based projects"
Thanks

The most straightforward solution is to install louvain before installing Spateo. However,  louvain can be difficult to install since it is no longer maintained. We have recently removed louvain from our dependencies. Would you mind trying the latest version of Spateo directly from GitHub instead?

Sure, I would love to try this. Thank you

Hi, I had the same issue. I reinstalled it with pip install git+https://github.com/aristoteleo/spateo-release but I still get an error. I also tried ti installed it it with pip install --use-pep517 git+https://github.com/aristoteleo/spateo-release but I get the following error `Building wheels for collected packages: spateo-release, louvain
Building wheel for spateo-release (pyproject.toml) ... done
Created wheel for spateo-release: filename=spateo_release-1.1.0-py3-none-any.whl size=655006 sha256=3ed1017e18fd45c00896dac07e8e1e1e3e7cbc6517261c1da8b224e0ee3c75f2
Stored in directory: /igatech/workspace/tmp/pip-ephem-wheel-cache-3ik76xoe/wheels/ce/67/76/a3755e16b29965cdefc14a2943d32d8f37dd6b1a9be4ef7637
Building wheel for louvain (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for louvain (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [143 lines of output]
/igatech/workspace/tmp/pip-build-env-gbeu54cg/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
File "/igatech/workspace/tmp/pip-build-env-gbeu54cg/normal/lib/python3.12/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
section = defn.get("tool", {})[tool_name]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-312
creating build/lib.linux-x86_64-cpython-312/louvain
copying src/louvain/init.py -> build/lib.linux-x86_64-cpython-312/louvain
copying src/louvain/functions.py -> build/lib.linux-x86_64-cpython-312/louvain
copying src/louvain/version.py -> build/lib.linux-x86_64-cpython-312/louvain
copying src/louvain/Optimiser.py -> build/lib.linux-x86_64-cpython-312/louvain
copying src/louvain/VertexPartition.py -> build/lib.linux-x86_64-cpython-312/louvain
running build_ext
running build_c_core
-- Setting build type to 'Release' as none was specified.
-- Version number: 0.10.2
-- The C compiler identification is GNU 14.1.0
-- The CXX compiler identification is GNU 14.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /igatech/rd/dev/mambaforge/envs/fast/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /igatech/rd/dev/mambaforge/envs/fast/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG
-- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG - Failed
-- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR - Success
-- Thread-local storage: supported (__thread)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found FLEX: /igatech/rd/dev/mambaforge/envs/fast/bin/flex (found version "2.6.4")
-- Found BISON: /igatech/rd/dev/mambaforge/envs/fast/bin/bison (found version "3.8.2")
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for _stricmp
-- Looking for _stricmp - not found
-- Looking for _strnicmp
-- Looking for _strnicmp - not found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strndup
-- Looking for strndup - found
-- Looking for include file xlocale.h
-- Looking for include file xlocale.h - found
-- Looking for uselocale
-- Looking for uselocale - found
-- Looking for _configthreadlocale
-- Looking for _configthreadlocale - not found
-- Performing Test HAVE__UMUL128
-- Performing Test HAVE__UMUL128 - Failed
-- Performing Test HAVE___UMULH
-- Performing Test HAVE___UMULH - Failed
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of __uint128_t
-- Check size of __uint128_t - done
-- Performing Test HAVE_BUILTIN_OVERFLOW
-- Performing Test HAVE_BUILTIN_OVERFLOW - Success
-- Looking for _LIBCPP_VERSION
-- Looking for _LIBCPP_VERSION - not found
-- Looking for GLIBCXX
-- Looking for GLIBCXX - found
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Error at CMakeLists.txt:159 (add_subdirectory):
add_subdirectory given source "interfaces" which is not an existing
directory.
  -- Found Python3: /igatech/rd/dev/mambaforge/envs/fast/bin/python3.12 (found version "3.12.5") found components: Interpreter
  --
  -- -----[ Build configuration ]----
  -- Version:                  0.10.2
  -- CMake build type:        Release
  -- Library type:             static
  -- igraph_integer_t size:   64 bits
  --
  -- ----------[ Features ]----------
  -- GLPK for optimization:       yes
  -- Reading GraphML files:       yes
  -- Thread-local storage:        yes
  -- Link-time optimization:       no
  --
  -- --------[ Dependencies ]--------
  -- ARPACK:                 vendored
  -- BISON:                       yes
  -- BLAS:                   vendored
  -- FLEX:                        yes
  -- GLPK:                   vendored
  -- GMP:                    vendored
  -- LAPACK:                 vendored
  -- LibXml2:                     yes
  -- OpenMP:                      yes
  -- PLFIT:                  vendored
  --
  -- -----------[ Testing ]----------
  -- Diff tool:             not found
  -- Sanitizers:                 none
  -- Code coverage:                no
  -- Verify 'finally' stack:       no
  --
  -- --------[ Documentation ]-------
  -- HTML:                         no
  -- PDF:                          no
  --
  -- igraph configured successfully.
  --
  -- Configuring incomplete, errors occurred!
  We are going to build the C core of igraph.
    Source folder: vendor/source/igraph
    Build folder: vendor/build/igraph
    Install folder: vendor/install/igraph

  Configuring build...
  Build failed for the C core of igraph.

  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for louvain
Successfully built spateo-release
Failed to build louvain
ERROR: Could not build wheels for louvain, which is required to install pyproject.toml-based projects`

I see. The problem is that Dynamo, which is included as a dependency in Spateo, contains louvain. Although we've removed the louvain from both packages, those changes have not yet been released. One workaround is, you can clone the repository and import the Spateo code directly. In this case, you only need to install the latest dependencies using a command like pip install -r requirements.txt. Another option is to try installing louvain, although it can be challenging in certain environments.  Alternatively, you can wait for the new version to be released, which is likely to happen this week or next. Apologize for any inconvenience.