text:
dmctl: remove update from operate-source

What problem does this PR solve?

Issue Number: close #7246
What is changed and how it works?

remove operate-source update from dmctl hint

Check List
Tests

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

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/9972/pipeline
unstable test for shardddl2?
"errors": [

[2022-09-28T08:16:18.920Z]                             {

[2022-09-28T08:16:18.920Z]                                 "ErrCode": 42501,

[2022-09-28T08:16:18.920Z]                                 "ErrClass": "ha",

[2022-09-28T08:16:18.920Z]                                 "ErrScope": "internal",

[2022-09-28T08:16:18.920Z]                                 "ErrLevel": "high",

[2022-09-28T08:16:18.920Z]                                 "Message": "startLocation: [position: (dm-integration-test-go1190-9972-nzgzz-w9dk6-bin.000001, 42228), gtid-set: 36a9b28f-3f05-11ed-8c4d-9a5f4fd22f79:1-194], endLocation: [position: (dm-integration-test-go1190-9972-nzgzz-w9dk6-bin.000001, 42353), gtid-set: 36a9b28f-3f05-11ed-8c4d-9a5f4fd22f79:1-195], origin SQL: [alter table shardddl1.tb1 add column b int after a]: fail to do etcd txn operation: txn commit failed",

[2022-09-28T08:16:18.920Z]                                 "RawCause": "rpc error: code = Unavailable desc = error reading from server: EOF",

[2022-09-28T08:16:18.920Z]                                 "Workaround": "Please check dm-master's node status and the network between this node and dm-master"

[2022-09-28T08:16:18.920Z]                             }

[2022-09-28T08:16:18.920Z]                         ],

[2022-09-28T08:16:18.920Z]                         "detail": null

[2022-09-28T08:16:18.920Z]                     },

Seems a network error?

/run-dm-integration-test

another unstable test: load task
[2022-09-28T08:38:29.598Z] dmctl test cmd: "query-status load_task1"

[2022-09-28T08:38:29.857Z] got=0 expected=1

[2022-09-28T08:38:29.857Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 0-th time, will retry again

[2022-09-28T08:38:32.388Z] got=0 expected=1

[2022-09-28T08:38:32.388Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 1-th time, will retry again

[2022-09-28T08:38:34.291Z] got=0 expected=1

[2022-09-28T08:38:34.291Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 2-th time, will retry again

[2022-09-28T08:38:36.187Z] got=0 expected=1

[2022-09-28T08:38:36.187Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 3-th time, will retry again

[2022-09-28T08:38:38.721Z] got=0 expected=1

[2022-09-28T08:38:38.722Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 4-th time, will retry again

[2022-09-28T08:38:40.704Z] got=0 expected=1

[2022-09-28T08:38:40.704Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 5-th time, will retry again

[2022-09-28T08:38:43.248Z] got=0 expected=1

[2022-09-28T08:38:43.248Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 6-th time, will retry again

[2022-09-28T08:38:45.159Z] got=0 expected=1

[2022-09-28T08:38:45.159Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 7-th time, will retry again

[2022-09-28T08:38:47.699Z] got=0 expected=1

[2022-09-28T08:38:47.699Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 8-th time, will retry again

[2022-09-28T08:38:49.625Z] got=0 expected=1

[2022-09-28T08:38:49.625Z] command: query-status load_task1 different worker in load stage, previous worker: worker1, current worker: worker2 count: 0 != expected: 1, failed the 9-th time, will retry again

[2022-09-28T08:38:52.157Z] {

[2022-09-28T08:38:52.157Z]     "result": true,

[2022-09-28T08:38:52.157Z]     "msg": "",

[2022-09-28T08:38:52.157Z]     "sources": [

[2022-09-28T08:38:52.157Z]         {

[2022-09-28T08:38:52.157Z]             "result": true,

[2022-09-28T08:38:52.157Z]             "msg": "",

[2022-09-28T08:38:52.157Z]             "sourceStatus": {

[2022-09-28T08:38:52.157Z]                 "source": "mysql-replica-01",

[2022-09-28T08:38:52.157Z]                 "worker": "worker2",

[2022-09-28T08:38:52.157Z]                 "result": null,

[2022-09-28T08:38:52.157Z]                 "relayStatus": null

[2022-09-28T08:38:52.157Z]             },

[2022-09-28T08:38:52.157Z]             "subTaskStatus": [

[2022-09-28T08:38:52.157Z]                 {

[2022-09-28T08:38:52.157Z]                     "name": "load_task1",

[2022-09-28T08:38:52.157Z]                     "stage": "Running",

[2022-09-28T08:38:52.157Z]                     "unit": "Sync",

[2022-09-28T08:38:52.157Z]                     "result": null,

[2022-09-28T08:38:52.157Z]                     "unresolvedDDLLockID": "",

[2022-09-28T08:38:52.157Z]                     "sync": {

[2022-09-28T08:38:52.157Z]                         "totalEvents": "0",

[2022-09-28T08:38:52.157Z]                         "totalTps": "0",

[2022-09-28T08:38:52.157Z]                         "recentTps": "0",

[2022-09-28T08:38:52.157Z]                         "masterBinlog": "(dm-integration-test-go1190-9976-swqn3-jxfbn-bin.000001, 2707)",

[2022-09-28T08:38:52.157Z]                         "masterBinlogGtid": "b142695e-3f08-11ed-9650-d6cbfa19d249:1-12",

[2022-09-28T08:38:52.157Z]                         "syncerBinlog": "(dm-integration-test-go1190-9976-swqn3-jxfbn-bin.000001, 2707)",

[2022-09-28T08:38:52.157Z]                         "syncerBinlogGtid": "b142695e-3f08-11ed-9650-d6cbfa19d249:1-12",

[2022-09-28T08:38:52.157Z]                         "blockingDDLs": [

[2022-09-28T08:38:52.157Z]                         ],

[2022-09-28T08:38:52.157Z]                         "unresolvedGroups": [

[2022-09-28T08:38:52.157Z]                         ],

[2022-09-28T08:38:52.157Z]                         "synced": true,

[2022-09-28T08:38:52.157Z]                         "binlogType": "remote",

[2022-09-28T08:38:52.157Z]                         "secondsBehindMaster": "0",

[2022-09-28T08:38:52.157Z]                         "blockDDLOwner": "",

[2022-09-28T08:38:52.157Z]                         "conflictMsg": ""

[2022-09-28T08:38:52.157Z]                     },

[2022-09-28T08:38:52.157Z]                     "validation": null

[2022-09-28T08:38:52.157Z]                 }

[2022-09-28T08:38:52.157Z]             ]

[2022-09-28T08:38:52.157Z]         }

[2022-09-28T08:38:52.157Z]     ]

[2022-09-28T08:38:52.157Z] }

[2022-09-28T08:38:52.157Z] PASS

https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/9976/pipeline

/run-all-tests

Codecov Report

Merging #7244 (f0d5d7b) into master (d8fff7a) will increase coverage by 0.0531%.
The diff coverage is 74.0740%.

Additional details and impacted files

Flag
Coverage Δ

cdc
67.2533% <82.9545%> (+0.0378%)
:arrow_up:

dm
51.8702% <0.0000%> (+0.0327%)
:arrow_up:

engine
60.9998% <71.6475%> (+0.1417%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #7244        +/-   ##
================================================
+ Coverage   59.6043%   59.6574%   +0.0531%
================================================
  Files           790        790
  Lines         91089      91199       +110
================================================
+ Hits          54293      54407       +114
- Misses        32051      32053         +2
+ Partials       4745       4739         -6

/merge

/remove-check-issue-triage-complete

/run-dm-integration-test

/type enhancement

/run-check-issue-triage-complete


text:
sinkv2(cdc): fix sink worker for splitTxn is false

Signed-off-by: qupeng qupeng@pingcap.com
What problem does this PR solve?
Issue Number: close #7990 .
What is changed and how it works?
Suppose there are 2 transactions with CommitTs 3 and 4.
Without the PR, sink worker can only advance to 3 even if it can know 4 is finished. And then it will call tryAcquire, and it may fail.
With the PR sink worker can advance to 4 with a batch ID.
Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-all-tests

/run-kafka-integration-test

/run-verify

/merge

source: gharchive/pull-request

authors: amyangfei hicqu

repo: pingcap/tiflow

license_type: permissive

license_source: github-api


text:
engine(dm): fix unstable engine test dm_lightning_checkpoint

What problem does this PR solve?

Issue Number: ref #4159
What is changed and how it works?

do not check database because task may immediately finished

Check List
Tests

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

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/run-engine-integration-test

/merge


text:
docs: Expanding the useUploadThing documentation

Area of Improvement
Hi guys, I'm trying to implement the file storage. I found the implementation of useUploadThing, or the "startUpload" to be more specific, a little difficult. I think it would be a blast to have it more accessible.
As a mostly front-end dev, I am not too savy with the details of requirements in this process. And I would like to keep my 10 hours or have it help more than only me.
I plan to ship with the service, and hoping you can help me out with this.
Thanks!
Link to related docs
https://docs.uploadthing.com/api-reference/react#useuploadthing
Additional information
I am on Next.js/14, app router, basic tier initially. And as I said, the uploading file will be created through code as a blob and will be a small png
👨👧👦 Contributing

[X] 🙋♂ Yes, I'd be down to file a PR implementing the suggested changes!

If you have specific questions or suggestions, please feel free to add them here, but without those I am not really sure how to help here.

source: gharchive/issue

authors: UmizDemud markflorkowski

repo: pingdotgg/uploadthing

license: MIT


text:
INTERNAL SERVER ERROR 500.

Hello there,
I get an internal server error with nothing in my logs, so it is kinda hard to debug.
My config file works without the require("resty.openidc") line.
As soon as I add this line, the whole thing crashed.
I setted : lua_package_path '/usr/local/openresty/lualib/resty/?.lua;;';
I got the openidc.lua file in the package path above.
I can't see what's wrong ..
I am quite new to this, so it might be pretty simple, I am still not sure the way I add package is the good one ..
Please help me.
Thanks in advance for your time,
Twinko5

try and enable debug logging with something like:
error_log logs/error.log debug;

Thanks for your answer, I actually had these logs, but there were informations in the old nginx logs, so I used these and was able to debug it.
It works as it is supposed to now !
Great work guys, thanks !

repo: pingidentity/lua-resty-openidc

license_source: bigquery


text:
Support foregin key and select option ?

Does this package support generate a select option box from relation table ?
For example :
php artisan generate:scaffold task --fields="name:string, description=text, type=TypeObject" --prefix=admin

Hi @trong291990, currently this package is not supported foreign key and select option. But, after I got this issue, maybe I would add this feature to new version of pingpong/generators. Thanks!

:+1:

repo: pingpong-labs/generators


text:
[BOXING/TV!!] — Tyson vs Jake Paul LiVe 𝐒𝐭𝐫𝐞𝐚𝐦𝐬 Fight FrEe BrOaDcAsT oN TV Guide & 𝐒𝐭𝐫𝐞𝐚𝐦𝐢𝐧𝐠 15 November 2024

Veteran boxer Mike Tyson is set to go head-to-head with Jake Paul, who rose to fame as a YouTuber and has pivoted to boxing.
After earning legendary status in the ring as a heavyweight champion with a career that began in the 1980s, Tyson retired professionally in 2005 and then laced up his gloves to do exhibition matches for a few years. The 58-year-old's last bout was in 2020 against Roy Jones Jr., another former world champion. Paul, who's 27, has been training for months and aims to win. Their training journey is chronicled in Netflix's documentary, Countdown: Paul vs. Tyson.
On Thursday night, Tyson slapped Paul in the face during the pair's standoff at the weigh-in after the latter crawled onto stage, stepped on Tyson's foot and stood in his face. Now, fans can't wait for the bell to ring at tonight's event.
Paul and Tyson have been promoting this Netflix match-up all year, which was postponed from its original date of July 20. Broadcasting live from the AT&T Stadium in Arlington, Texas, the event will feature a series of preliminary matches before the main card on Friday night.
Ringside commentary will be provided by Roy Jones Jr., Mauro Ranallo and Rosie Perez. Sean Wheelock will serve as the rules and scoring expert with Mark Calo-oy as the referee. The heavyweight bout between Paul and Tyson will have eight rounds that last two minutes each, and is sanctioned as a professional fight by the Texas Department of Licensing and Regulation. Therefore, it will be scored, but no title is involved. Instead, these fighters are facing each other to earn money.
Keep reading to learn when to stream the big fight to see who comes out on top.
Read more: I'm Holding On to Disney Plus, Hulu and Netflix in November, but Skipping These Services
What time does the Tyson vs. Paul fight start?
The main event will broadcast live worldwide exclusively on Netflix on Friday, Nov. 15, 2024 at 8 p.m. ET (5 p.m. PT). All Netflix subscribers will be able to watch, regardless of plan type, so you can watch even if you have the $7 ad-based subscription. Before Tyson and Paul hit the ring -- and each other -- you'll be able to see other fighters duke it out.

sdss

ad ad a

repo: pinokiocomputer/pinokio


text:
Error in join: expected string for sequence element 0, got 'path'

While trying to build an iOS application linked to some pods (non-vendored), I get the following error:
(16:37:49) INFO: Invocation ID: e462672e-427c-4928-8d68-e4763ee2d6ad
(16:37:53) INFO: Repository Logging instantiated at:
  /Volumes/VANTAGE/platform/WORKSPACE:307:19: in <toplevel>
  /private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl:275:14: in new_pod_repository
Repository rule pod_repo_ defined at:
  /private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl:173:28: in <toplevel>
(16:37:53) ERROR: An error occurred during the fetch of repository 'Logging':
   Traceback (most recent call last):
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 105, column 27, in _impl
		_fetch_remote_repo(
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 47, column 25, in _fetch_remote_repo
		fetch_output = _exec(repository_ctx, fetch_cmd)
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 7, column 50, in _exec
		fail("Could not exec command " + " ".join(command))
Error in join: expected string for sequence element 0, got 'path'
(16:37:53) ERROR: Error fetching repository: Traceback (most recent call last):
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 105, column 27, in _impl
		_fetch_remote_repo(
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 47, column 25, in _fetch_remote_repo
		fetch_output = _exec(repository_ctx, fetch_cmd)
	File "/private/var/tmp/_bazel_sam.g/.../external/rules_pods/BazelExtensions/workspace.bzl", line 7, column 50, in _exec
		fail("Could not exec command " + " ".join(command))
Error in join: expected string for sequence element 0, got 'path'

I figured this might be an incompatibility with Bazel 4.0.0, which we recently switched to. I saw the recent commits on master related to Bazel 4 compatibility, but when using master directly, I run into #112.
WORKSPACE:
http_archive(
    name = "rules_pods",
    urls = ["https://github.com/pinterest/PodToBUILD/releases/download/0.25.2-8a5efa0/PodToBUILD.zip"],
    sha256 = "db4256e80fda350bff752f70385f3a332ac8b93d63c3ef677b11dca075dbe1ff",
)
load("@rules_pods//BazelExtensions:workspace.bzl", "new_pod_repository")

new_pod_repository(
  name = "Logging",
  url = "https://github.com/apple/swift-log/archive/173f567a2dfec11d74588eea82cecea555bdc0bc.zip",
  podspec_url = "https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/8/d/b/Logging/1.2.0/Logging.podspec.json",
  generate_module_map = False,
  inhibit_warnings = True,
)

@dgcoffman i saw you applied the changes that introduced Bazel 4 compatibility. we're on 4.0 and getting this error -- any ideas?

Not really... the error message looks to me like it's being generated from a failure in the error handling code itself, so who knows what the actual failure was
def _exec(repository_ctx, command):
    if repository_ctx.attr.trace:
        print("__EXEC", command)
    output = repository_ctx.execute(command)
    if output.return_code != 0:
        print("__OUTPUT", output.return_code, output.stdout, output.stderr)
        fail("Could not exec command " + " ".join(command))
    elif repository_ctx.attr.trace:
        print("__OUTPUT", output.return_code, output.stdout, output.stderr)

    return output

The examples in this codebase are a good test harness, so if you want to go deep, you can attempt to replicate the failure in one of the examples and then you can debug workspace.bzl.

authors: dgcoffman sgammon

repo: pinterest/PodToBUILD


text:
Docs: Add search

Add search to the Gestalt docs

Notes

Under the hood this uses Algolia DocSearch: see the docs at https://docsearch.algolia.com/docs/what-is-docsearch/
The demo will trigger a reload to another page (so navigation will be slow)
Design is ok, we should add a search icon link and perhaps a reset button in a follow up PR
We could not use the Gestalt <SearchField /> since Algolia makes DOM mutations outside of the React tree

Duuuuuude! This is so cool!!!

Depends on #897

authors: btraut christianvuerings

repo: pinterest/gestalt


text:
False negative on "import java.util.*", expected no-wildcard-imports

Expected Behavior

When java.util.* is included as a wildcard import, it should trigger the warning for no-wildcard-imports. When none of the classes in that package are used (both no-wildcard-imports and no-unused-imports rules apply), then at least one of no-wildcard-imports or no-unused-imports should be triggered.
Observed Behavior

When java.util.* is included as a wildcard import, it triggers no warnings for no-wildcard-imports. When no classes from the package are used, it also does not trigger a no-unused-imports warning.
Changing to a specific class like java.util.UUID produces the expected no-unused-imports, and a different wildcard like javax.net.* or java.time.* produces the expected no-wildcard-imports. Also, moving the java.util.* to above a different import produces the expected import-ordering.
Screenshots
Showing error case (false negative with incorrect build success):

Similar but different cases without error (correctly failing):

Steps to Reproduce

Add java.util.* as an import in the correct ordering, run ktlint.
Your Environment

Version of ktlint used: 0.48.2
Relevant parts of the .editorconfig settings: no file, defaults only
Name and version (or code for custom task) of integration used (Gradle plugin, Maven plugin, command line, custom Gradle task): Reproduced via both gradle task and command line
Version of Gradle used (if applicable): 7.6
Operating System and version: Reproduced on MacOS 12.6, Windows 10, and Alpine Linux

Can you check whether property ij_kotlin_packages_to_use_import_on_demand has been set? Imports set in this property are allowed to be used with a wildcard.

This was with no .editorconfig at all, so just using defaults.
Although, that got me looking a little deeper, and I see now that this is a feature, not a bug:
https://github.com/pinterest/ktlint/blob/481ad64b38f5b1e9fa02824d7cd62e4d78a09cb2/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRule.kt#L96-L101
Based on the comment, it's also part of the IntelliJ default config, and there appears to be some confusion on the JetBrains side with regard to why the exception was made in the first place, with a decision to leave it in place regardless, just for consistency.
https://youtrack.jetbrains.com/issue/KTIJ-12967
However, at some point in the past I must have disabled that particular setting in my IntelliJ config. The defaults are set in Preferences->Editor->Code Style->Kotlin, which are currently blank for me (that gets stored in .idea/codeStyles/Project.xml, in a field called PACKAGES_TO_USE_STAR_IMPORTS).
The ktlint documentation also suggests overwriting the Project.xml with a blank value for PACKAGES_TO_USE_STAR_IMPORTS:
https://pinterest.github.io/ktlint/rules/configuration-intellij-idea/
Given that, I think it makes sense that ktlint should stop including those two paths as default wildcard exceptions.
As a temporary workaround, adding an .editorconfig file to the project with just this removes those defaults:

[*.{kt,kts}]
ij_kotlin_packages_to_use_import_on_demand = nothing

Also, the second issue does appear genuine: an allowed wildcard import (due to this default, or from ij_kotlin_packages_to_use_import_on_demand) that is not used in the code, should still trigger the no-unused-imports rule.

Tnx for your elaborative analysis.  The feature to respect setting ij_kotlin_packages_to_use_import_on_demand  was implemented not too long ago in ktlint 0.45.x via #1272. The reason for adding the default values is that they seems to be hard-coded in IntelliJ IDEA as well (https://github.com/JetBrains/kotlin/blob/ffdab473e28d0d872136b910eb2e0f4beea2e19c/idea/formatter/src/org/jetbrains/kotlin/idea/core/formatter/KotlinCodeStyleSettings.java#L81-L82).
If the property is not set explicitly, IntelliJ IDEA allows java.util.* and kotlinx.android.synthetic. If ktlint would not do the same, this would result in a conclict between ktlint and IntelliJ IDEA. Lots of users of ktlint dislike that.
Your approach by setting the property in .editorconfig is not a workaround but a good solution as it makes explicit that it is never allowed.
[*.{kt,kts}]
ij_kotlin_packages_to_use_import_on_demand = nothing

Currently, I am working on a new codestyle ktlint_official which will not have the limitation that it should be in sync with IntelliJ IDEA. In that codestyle, it would make sense to remove the default value. I will create a new issue for that.

Also, the second issue does appear genuine: an allowed wildcard import (due to this default, or from ij_kotlin_packages_to_use_import_on_demand) that is not used in the code, should still trigger the no-unused-imports rule.
Please see #1754 why this can/will not be fixed.

Closed as follow-up issues are created.

authors: greg-patterson paul-dingemans

repo: pinterest/ktlint


text:
Google prefetching link - any way around the issue?

Hey folks,
I forked this to create a version that runs on a free Heroku instance. We're a consulting firm and share creds often, so this has been excellent.
However, it looks like when sharing over some services like Google Hangouts, Google attempts to access the link first. It appears it's trying to get a snippet of the page. For example, the first line seems to be Google, and then the latter two are the user:
2018-06-11T20:18:21.791632+00:00 app[web.1]: 10.97.211.167 - - [11/Jun/2018:20:18:21 +0000] "GET /3272964ce1de421b82010f3ebcac572e~3Q1oo6f0LLn9NeBdplxy8dARVJH-X6sYqIgP63iFOfg%3D HTTP/1.1" 200 2036 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 Google (+https://developers.google.com/+/web/snippet/)"
2018-06-11T20:18:24.794249+00:00 heroku[router]: at=info method=GET path="/3272964ce1de421b82010f3ebcac572e~3Q1oo6f0LLn9NeBdplxy8dARVJH-X6sYqIgP63iFOfg%3D" host=snappass-samdev.herokuapp.com request_id=8bbc6ecb-8a74-4250-8f5e-1c534d6b5812 fwd="108.189.112.82" dyno=web.1 connect=1ms service=7ms status=404 bytes=1577 protocol=https
2018-06-11T20:18:24.792654+00:00 app[web.1]: 10.41.164.211 - - [11/Jun/2018:20:18:24 +0000] "GET /3272964ce1de421b82010f3ebcac572e~3Q1oo6f0LLn9NeBdplxy8dARVJH-X6sYqIgP63iFOfg%3D HTTP/1.1" 404 1408 "https://www.google.com/url?q=https://snappass-samdev.herokuapp.com/3272964ce1de421b82010f3ebcac572e%257E3Q1oo6f0LLn9NeBdplxy8dARVJH-X6sYqIgP63iFOfg%253D&sa=D&source=hangouts&ust=1528834701568000&usg=AFQjCNE17cVq7xdwqdQFDp3LMKqCQQA82A" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"

I'm not a dev, I'm a highly trained Google monkey and script kiddie. But I'm guessing others will have seen this in their implementations as well, so it might be worth checking out.

There is a mechanism to exclude some "bot" user agents, but it doesn't include your specific one. It would be a matter of figuring out the user agent that Google Hangouts uses to fetch the page for preview purposes, and add it to this list: https://github.com/pinterest/snappass/blob/5ddecd4e64a7c075feb8e4eefb22d347c8db5bf3/snappass/main.py#L15
This was done for Skype recently: https://github.com/pinterest/snappass/pull/53/files.

I literally just figured this out myself. Adding 'Google' to the list of agents seemed to fix it. From one Sam to another, thanks!

authors: samteezy samueldg

repo: pinterest/snappass

license: mit


text:
Implement draft-ietf-tsvwg-sctp-zero-checksum-01

Description
Implementation of draft-ietf-tsvwg-sctp-zero-checksum-01.
I currently don't have a specific use case for this, but implementing the draft was an interesting exercise. I suggest keeping this as draft PR, at least until the document is finalized.

Question, maybe also for @Sean-Der : What possibilities of collaboration do exist? Only by commenting or is there a way to propose changes to a PR?

Hi @tuexen! You can add suggestions in the comments (there's a little icon in the comments UI where you can directly suggest code changes), or I think you can also open a PR against this branch. I also don't mind if you directly push to this branch, but I think that only works if you are a member of the pion org. (if not, I think @Sean-Der can add you as a member?)

Done! You can directly push to branches now @tuexen
Everyone just needs one approval to merge to master :)

Done! You can directly push to branches now @tuexen

Great thanks. This makes things much simpler.

Everyone just needs one approval to merge to master :)

Great. I'll be conservative, since I'm new to go...

Anything I can do to help @mengelbart ? Seems like this is really close, would love to get it in :)

I think it is almost done. The IETF draft changed a bit since I first implemented it. I don't think it requires changes in this patch but someone should probably review that again. And I think the code needs to be reviewed in general :)

I have been using this branch in my project for a month and I haven't seen any issues so far. It is compatible with the C++ zero checksum implementation in libdatachannel

Very excited for this to be merged. Until then I will be using the PR.

authors: Sean-Der daweifeng matthewfarstad mengelbart tuexen

repo: pion/sctp


text:
PeerConnection should support shutdown on DTLS Close

Your environment.

Version: v2.2.26
Browser: firefox 88.0b8

What did you do?
I'm calling the PeerConnection.Close function.
What did you expect?
The connection should be closed, and I should see the connection on the remote peer being disconnected.
What happened?
The connection on the remote peer does not go to disconnected state instantly. It does after the SettingsEngine.tiemout.ICEConnection timeouts (which is 30 seconds by default).
I'm perhaps missing something here since I'm fairly new to the webrtc field.

deer friends
closepeer function  not  remote the peer message , you need remote message tell this peer let peer user close you connect to

Hey @EmrysMyrddin thanks for checking out Pion :)
With WebRTC you can't depend on a graceful hangup. Everything is over UDP, and the other side can just stop sending/accepting packets.
I would depend on ICEConnectionState which will timeout. People also communicate quicker hangups via their signaling server.
WebRTC does have some facilities for faster hangup though. We don't support any of them today (but we should!) I will leave the ticket open and we can address in the future. I wouldn't depend on these though. WebRTC clients don't have to send them, and they only work if you have no packet loss and a graceful shutdown.

DTLS Close
SCTP Shutdown
RTCP Bye

@Sean-Der Hi! I'm very interested in this issue as I've had multiple reports against aiortc wishing for faster detection of the remote peer disconnecting. Where do the specs say that a peer connection should be torn down when DTLS is closed?

authors: EmrysMyrddin Sean-Der jlaine vcluo

repo: pion/webrtc


text:
deployment: registry doesn't work on non-localhost domain without HTTPS

The currently default URL of registry (registry.local.pipal.in) doesn't work with push/pull because (I suspect) it needs HTTPS to run. The same registry works on localhost though.
For now, I set the registry to run on static port "7979", and used "localhost:7979" as the registry URL in config.

It works for me.
What was the error that you are getting?
It would be good to include the output of the command that failed in the issue.

It is working perfectly for me. I don't know why it is not working for you.
$ docker tag alpine registry.local.pipal.in:8080/alpine

$ docker push registry.local.pipal.in:8080/alpine
Using default tag: latest
The push refers to repository [registry.local.pipal.in:8080/alpine]
7cd52847ad77: Pushed
latest: digest: sha256:e2e16842c9b54d985bf1ef9242a313f36b856181f188de21313820e177002501 size: 528

The currently default URL of registry (registry.local.pipal.in) doesn't work with push/pull because (I suspect) it needs HTTPS to run. The same registry works on localhost though.

Did you try with port 8080?

Yes, I tried with port 8080. I'll try once again

It was docker push and docker pull that failed for me.

This is the output of docker push. The output for docker pull is similar.
I've checked that the registry is working fine. The API /v2/ gives expected responses.
$ docker tag python:3.10-slim registry.local.pipal.in:8080/python:3.10-slim
$ docker push registry.local.pipal.in:8080/python:3.10-slim
The push refers to repository [registry.local.pipal.in:8080/python]
472124011d38: Retrying in 9 seconds
c7c188997315: Retrying in 9 seconds
6c63937f7f0f: Retrying in 9 seconds
7cf58191b5f6: Retrying in 9 seconds
0b9f60fbcaf1: Retrying in 9 seconds

Look at the logs of nginx and registry and see why it is failing.
On Sat, Apr 15, 2023, 9:27 PM Kaustubh Maske Patil @.***>
wrote:

This is the output of docker push. The output for docker pull is similar.
I've checked that the registry is working fine. The API /v2/ gives
expected responses.
$ docker tag python:3.10-slim registry.local.pipal.in:8080/python:3.10-slim
$ docker push registry.local.pipal.in:8080/python:3.10-slim
The push refers to repository [registry.local.pipal.in:8080/python]
472124011d38: Retrying in 9 seconds
c7c188997315: Retrying in 9 seconds
6c63937f7f0f: Retrying in 9 seconds
7cf58191b5f6: Retrying in 9 seconds
0b9f60fbcaf1: Retrying in 9 seconds
—
Reply to this email directly, view it on GitHub
https://github.com/pipalacademy/capstone/issues/44#issuecomment-1509878172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAB3EOYHVSKEDKHDSF7A2LXBLAMXANCNFSM6AAAAAAW7NLH6A
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Both doesn't show anything besides requests.
The registry is getting some HEAD and POST requests (both on blobs API). The nginx logs show that the responses are either 202 (POST) or 404 (HEAD).
Seems like the CLI is able to upload blobs but fetching them fails.

This might be the reason: https://github.com/docker/cli/issues/2270#issuecomment-575663411
@anandology what is the output of docker info for you?
docker push to registry.local.pipal.in is also not working with github actions (https://github.com/pipalacademy/capstone/actions/runs/4723661916/jobs/8379905886)

authors: anandology nikochiko

repo: pipalacademy/capstone


text:
Add support zip packing function code for Lambda deployment

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #2551
Does this PR introduce a user-facing change?:

Add ability to deploy Lambda zip packing function code which stored in AWS S3

Lets merge this to support S3 and make another support for deploying Zip directly.
/lgtm

/lgtm

/approve

authors: khanhtc1202 nakabonne nghialv

repo: pipe-cd/pipe


text:
Transaction dict key for data differs between getTransaction() and sendTransaction()

Version: 3.8.1
Python: 3.5
OS: Ubuntu 16.04.2 LTS

What seems wrong?
When getting a transaction that has data attached with tx = web3.eth.getTransaction(txhash), the data will be accessible via tx['input'].
When sending a transaction with data, the expected key for data is data.
So, to re-send the same transaction with an increased gas price, something like the following has to be done (in REPL):
tx = web3.eth.getTransaction(txhash)
tx['gasPrice'] = int(tx['gasPrice'] * 1.11)
tx['data'] = tx['input'] # <--------------- somewhat unexpected
web3.eth.sendTransaction(tx)

Otherwise, the transaction will have been re-created without data at all.
Many of the other keys are quite similar - is there a reason for this "mismatch"?
A solemn monkey
Source: /u/squamuglia @ /r/aww

Note that this same problem exists directly in geth attach, so this would be papering over geth's issue. I haven't tested if it also happens in parity, etc.

Ah!
@pipermerriam: If this should be taken upstream, perhaps you know where "upstream" is? go-ethereum? Both that and parity? The EIP community?..

Yes, I would consider this an upstream bug as both of these methods conform to the JSON-RPC spec.

It's not a trivial EIP to create, but having a formal agreed upon RPC spec that the clients could test against would be really powerful.  I know @flyswatter (Dan Finlay) was working on something like this at one point but I don't know what the progress was.

You refer to EipSignal, which proposes using a DAO to manage a public compatibility table whose test spec format is up for discussion in eip 217.
I largely passed off the creation of that DAO to the Boardroom team for the moment, because they had some of the required pieces in place, but will hopefully have some fresh time to get back on that soon, because I see a lot of these incompatibilities popping up.

authors: carver flyswatter pipermerriam veox


text:
Alpine doesn't work with kubernetes

You have moved to Alpine linux quite some time ago (https://github.com/pires/docker-jre/commit/00104da058777615fc015cae7b6079102afa6ffa), since that moment kubernetes elasticsearch doesn't work. The reason is simple - alpine doesn't support search parameter in resolve.conf.
The plugin for kubernetes node discovery has kubernetes.default.svc as desitnation name, but kubernetes DNS doesn't have this address completely, but domain name search instead... so as a result - this builds are useless since that commit.
I see 2 options:

change name in plugin to kubernetes.default.svc.cluster.local
move to debian or any other base image with normal glibc.

@onorua can you share logs that prove this is failing?

authors: onorua pires

repo: pires/docker-elasticsearch-kubernetes


text:
An example for a Dialer and Listener is required.

This is a really good library but it's missing examples for a Dialer and a Listener.
IE client and a server service.
I might write one and I was thinking about a simple "echo" client and server.
The server would accept a PROXY TCP protocol connection and will echo back(and log to stdout) if possible the request protocol(TCP4\TCP6 only), src and destination IP:PORT.
The client would open a connection to a PROXY enabled server(Listener) with a specific src and destination IP:PORT (TCP4\TCP6) and will receive the into the socket\connection a line of readable text containing the received IP:PORT.
I have seen an implementation of this but I forgot to save the links so I cannot copy and paste it and I will need to use some CPU to write it.
Any recommendations on where to start?
I have seen this implementation but it's still not sitting well for me

https://github.com/Freeaqingme/go-proxyproto/blob/master/protocol.go

Other examples:

https://github.com/armon/go-proxyproto
https://github.com/kennylevinsen/serve2d
https://github.com/nabeken/mikoi/blob/master/mikoi.go
https://github.com/ninchat/go-proxyprotocol
https://github.com/inkel/viaproxy/blob/master/conn.go
https://github.com/djmaze/proxy-responder/blob/master/main.go

I wrote a TPROXY Server and Library in golang at:

https://github.com/elico/go-linux-tproxy

Which has a basic TCP proxy server function that can eventually utilize the PROXY protocol in couple environments.

@pires couple examples and utilities at:

http://gogs.ngtech.co.il/elicro/proxy-protocol-examples

I will try to add there another example which uses TPROXY later on

Hi @pires ! I've published my listener here: https://github.com/anisse/proxylistener/blob/master/proxylistener.go ; I'd really like it to be used as an example in this library, so I was wondering how to proceed ?

should it need a full program that shows how to use it or is the README sufficient ?
should it go into the examples/ directory ? What if we want people to use it directly ? Maybe contrib/listener ?
should it be tested ? How ? With a server counterpart ?

What am I missing?

@anisse I have just written two proxies from TCP to SCTP and from SCTP to TCP at:

http://gogs.ngtech.co.il/NgTech-LTD/sctp-proxies

I believe that a GoLang programmer should have the fundamentals to understand what a listener and a dialer is but a good and practical example always helps these who doesn't fully grasp the subject.
In your usage example it's only a file server but a proxy server for both plain tcp and http might be a good idea.
I don't remember the project name but there is one which implements a TCP proxy like haproxy written in GoLang but without the PROXY protocol support.

@elico : I can't reach your website, and couldn't before either; edit: it took 4 minutes to load completely, 1m to load a source file with a hot cache.
I used an HTTP example because it was my usecase, and I think a likely one, and I agree the readme could use more examples, this is the type of feedback I was looking for.
Your examples are nice, but they don't appear in the list of public importers here: https://godoc.org/github.com/pires/go-proxyproto?importers ; I think it could be useful for anyone looking at usage examples.
Also, I think it's nice to understand net.Dialer and net.Listener, but should one have to write 70 lines of code before starting to use this package ?

@anisse first try the next link:

http://faster.gogs.ngtech.co.il/

my main link has slow uplink but this one has most of the time at-least 5Mbit upload while it depends on the whether and couple other factors such as the connection bandwidth plan consumption.
I have also verified that there was some setting which caused the traffic to move slower.
I hope it will work better for you.
Maybe I will upload the code to github later.
As for having to write 70 lines of code before starting to use this package...
From my perspective it's not a novice library and if the coder/programmer/researcher didn't wrote 70 lines yet then he or she should write basic programming to get familiar with the language and programming basics.
I believe  that your question is towards any reason examples should or shouldn't be out-there...
and I do agree that if presenting an example or a good example of usage can be provided without consuming too many resources then it should be provided but only as a good gesture.
I have seen more then once that providing a specific example or examples is the wrong thing to do while I am trying to give code examples.

I think examples are a great thing to have but I'm just unable to find the time to commit to it atm. PRs to add example tests are most welcome.

This was partially addressed in #8 but you can get more clarity by reading protocol_test.go.

Hey @igorwwwwwwwwwwwwwwwwwwww, maybe you'd like to contribute a snippet of your TLS listener use-case, which originated #21? That would be awesome!

authors: anisse elico pires

repo: pires/go-proxyproto


text:
Auto create folder , if the file's folder is not exit.

When use s3 opener , that AWS S3 will auto create file's folder.
So i add the mechanism  at smart_ope when use local file system

Thanks @texib , but I don't think that's a good idea. We try to follow the principle of least surprise = keep "local filesystem" functionality as close to the original behaviour as possible.
Also, I think that boto will try to get the AWS credentials from environment automatically. No need to pull them explicitly from smart_open -- or does that not work for you?

authors: piskvorky texib


text:
Prevent "bad gateway error?"

Can we redirect to the main page or the search interface rather than the "bad gateway" error?
e.g.
https://pqr.pitt.edu/mol/ULG

Closed with 9b3ec55352546ed23f73b77fe68512071db5cb2b

Nginx causes a redirect now

authors: RitwikGupta ghutchis

repo: pittquantum/PittQuantumRepository


text:
Update scala-library, scala-reflect to 2.13.13

About this PR
📦 Updates

org.scala-lang:scala-library
org.scala-lang:scala-reflect

from 2.13.10 to 2.13.13
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (2.13.10).
You might want to review and update them manually.
build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #579.

repo: pityka/saddle


text:
OM cli fails if --vsphere-password contains a slash

If vSphere password contains a slash, OM cli fails to parse the URL that it generates. I've not found a workaround other than changing the password.
$ om -t https://opsman.domain.com -u admin -p om_password --skip-ssl-validation vm-lifecycle export-opsman-config --config-file=pae_config/opsman.yml --state-file=pae_config/state.yml --vsphere-username="Pivotal_vSphere_SVC" --vsphere-password="test/password" --vsphere-url=https://vsphere.domain.com
2022/01/07 15:18:47 could not parse url: parse "https://Pivotal_vSphere_SVC:test/password@vsphere.domain.com/sdk": invalid port ":test" after host

This seems related to the way OM builds the request for vSphere, further investigation may be needed to device an issue but for now, the workaround would be to change the password to not use / or other special characters.

I've created #578 with preliminary changes to support this kind of special character on vSphere, waiting for someone to review.

I wonder if the vSphere username shouldn't also be escaped

authors: jaristiz ryanmichaelsmith sneal

repo: pivotal-cf/om


text:
Lager Data fails to render if struct contains channel

In go 1.5 the http.Request object now has a Cancel field of type <-chan struct {} which means a request can no longer be passed as lager.Data{myRequest} - it fails with: json: unsupported type: <-chan struct {}
It seems like we should ignore fields we cannot serialize, rather than failing? This feels like safer behavior

This is all core Go code. You would need to raise an issue with them. But it seems if you are blindly serializing objects, you will end in trouble. While it might be useful at times, there are many ways this won't work or might leak data you didn't expect.

Hi, @robdimsdale,
We don't plan to make lager's serialization of Data values that sophisticated. Would it at least be helpful to warn clients in the README that they shouldn't include values in lager.Data that can't be serialized as JSON?
Thanks,
Eric

@fraenkel @ematpl thanks for the explanation. I agree that blindly serializing objects is a bad idea, especially when those objects aren't under your control and may contain credentials (http.Request ticks both of those boxes).
If there was a quick fix to this codebase I would have been open to submitting a PR, but as you indicate the issue lies upstream, I don't think there is anything to be done here. I don't feel strongly about adding a warning to the documentation.

authors: ematpl fraenkel robdimsdale

repo: pivotal-golang/lager


text:
updated equal matcher to correctly behave with user defined objective-c classes

Calling a should equal(b); should call isEqual if both a and b are objects.

Pulled

authors: amilligan cppforlife

repo: pivotal/cedar


text:
Performance improvements for Table.batch_update()

batch_update() now runs a single ExecNode tree and all updates are covered by a single transaction,
resulting in a single new table version
new ExecNodes RowUpdateNode and SqlLookupNode

This change is

authors: aaron-siegel mkornacker

repo: pixeltable/pixeltable


text:
Capture partial frames for syscalls which exceed bpf LOOP/CHUNK limits

Problem Description
Pixie is unable to capture syscalls with an iovcnt >42 or a message size >120 KiB .
These variables are set conservatively to keep the instruction count below BPF's limit for version 4 kernels (4096 per probe). These limits, however, result in data loss and incomplete syscall tracing. For example, in a community-shared NodeJS application transferring just 10kB of data, the iovec array contained 257 entries, which is well beyond the current LOOP_LIMIT of 42. We've also seen the message size (CHUNK_LIMIT) exceeded in k8ssandra deployments. This is very likely an issue across all protocols.
Proposed Solutions

Dynamically increase the loop limit for newer kernels with higher instruction limits (1 million for kernels > 5.1). This could mitigate the issue, though it would likely persist for large messages/iovecs. (This approach could be combined with option 2. to increase both the amount of data and number of frames Pixie can trace)

Each PEM now tracks its kernel version due to changes introduced in #1685. We could pass this version in as a compile time flag / preprocessor directive.
Note that even if bpf were able to trace everything for large messages, Pixie would still truncate the data (e.g. based on FLAGS_max_body_bytes for HTTP). However, capturing complete metadata could still be invaluable, conveying headers, response codes, and other important information.

For each event where data loss occurs due to LOOP/CHUNK limits, pass metadata to the event parser, which attempts to process a partial frame. For this to work, protocol parsers must be modified to work lazily, parsing as far as possible and returning a new parseState kPartialFrame when they've processed enough bytes to capture essential metadata.

After our LOOP/CHUNK limit is reached, the event parser will eventually receive a contiguous head of the data stream buffer that ends with a gap representing the bytes we missed. Note that there could be any number of valid frames before the gap because Pixie's sampling frequency is greater than its push frequency (sampling is used loosely here, as Pixie receives every event and not a subset of them). Moreover, the application itself could be batching messages such that an incomplete chunk could contain a number of valid frames before the gap.

In BPF, we can determine the full message size and keep track of how many bytes were missed if the LOOP/CHUNK limit is reached. We can pass this information through the event to the datastream buffer, so that the event parser knows when to expect an incomplete chunk. A DCHECK would enforce that for a given call to ParseFramesLoop with a contiguous head, a partial frame is pushed at most once since we expect to only reach the gap once.

To avoid potential side effects from using the kPartialFrame state (i.e. prevent it from masking other errors), we could use a heuristic to determine if this partial frame was caused by a lack of bytes. We could store the max size of fields that we could possibly parse in the metadata of a frame. If this is greater than the number of bytes remaining, then we hit our gap, so it makes sense to push a partial frame. If however, we have sufficient bytes remaining to parse these fields, then a different error likely occurred and we don't want to push the partial frame.

One alternative option is to use tail calls to start a new bpf program where the other left off. This might be an invasive solution with some performance trade-offs (the upper nesting limit is 33 calls).

Great write-up @benkilimnik. Here are my initial thoughts.
Option 1: We should definitely do this. It is the main way to capture more data. We had avoided this in the past because we didn't want to create different behavior on different kernels (which becomes a headache when users report issues, a headache for testing, etc.). However, I think we're at the point where we should cross this bridge. We should stay principled and make the kernel level differences only a few key parameters like the LOOP_LIMIT. We should also measure any perf impacts, because it might be that these LIMITs are actually saving us from burning too much CPU in the high bandwith cases.
Option 2: This is a good idea, but will be complex. Note that in the case where we drop data, we still do track positions correctly for the DataStreamBuffer. That's because we take the total bytes from the syscall itself (see https://github.com/pixie-io/pixie/blob/b6cf0ac3e4723a409b41cc0b603f3b8ddc1001b3/src/stirling/source_connectors/socket_tracer/bcc_bpf/socket_trace.c#L819C5-L819C22). So we currently do create gaps where these losses occur. So the bulk of this work, in my mind, becomes letting the parsers know where missing data is located, and letting it try to parse regardless. It means we need a new data format (where gaps can be encoded), and an augmentation of all of the parsers (which we could of course do incrementally). So I think Option 2 is a worthy goal, but is complex.
Option 3: We've looked into this before. I'm not sure this works that easily, because tail calls can't return, and there is processing that we do after the loop is complete. There would be a lot of state that would have to be passed from one call to another so that it could complete the work. Won't be pretty.
In short, I would definitely do Option 1. It's easier than option 3 for capturing more data, and the older kernels are starting to become less prevalent, making it a good option. Then I would follow that up with Option 2, but treading very carefully.

Thanks for the comments @oazizi000. I've looked into this further:
Option 1: Raising chunk/loop limits
I have confirmed that the verifier would allow us to raise the LOOP_LIMIT and CHUNK_LIMIT by at most 21x (to 882 and 84 respectively) for kernels >= V5.1. I also ran the px-k8ssandra perf test to evaluate the impact of raising the limits (I verified that this is a workload in which the loop limit is actually reached). It is hard to tell if there is a difference in performance compared to the baseline. More fine-grained tests will likely be needed to accurately determine the CPU impact of such an increase, but this at least rules out a major degradation.
20min perf test for px-k8ssandra with current loop limit
Note that the only gap condition triggered in px-k8ssandra is kLoopLimitExceeded, so only increasing the loop limit should raise ingest. We currently lose around 18 MiB of HTTP data every 20min due to reaching the loop limit in this demo. More details about how these metrics were gathered can be found in the metrics section below.

incomplete_reason
lazy_parsing_enabled
protocol
total_bytes_lost_in_gaps

kExceededLoopLimit
false
kProtocolHTTP
~ 17.8 MiB lost

kFiller
false
kProtocolHTTP
~ 17.8 MiB in filler allocations

20min perf test tool for px-k8ssandra with 21x higher loop limit
With a higher loop limit, we lose significantly less HTTP data (1.2MiB instead of 17.8 MiB).

incomplete_reason
lazy_parsing_enabled
protocol
total_bytes_lost_in_gaps

kExceededLoopLimit
false
kProtocolHTTP
~ 1.2 MiB

kFiller
false
kProtocolHTTP
~1.2 MiB

Specific perf differences are hard to determine from the aggregate graphs, but this at least rules out a major degradation.

Metrics for gap size and bytes discarded before gap
I have added prometheus metrics to keep track of the number of bytes we miss (the size of the gap) in the socket tracer for several gap conditions. This metric shows us the prevalence of gaps across protocols as well as the ingest impact of raising chunk/loop limits. Additionally, I am keeping track of the number of bytes rendered unparseable due to the presence of a gap (i.e. the bytes we discard because we can't process the incomplete chunk).
With the prometheus metrics deployed in production we should see how frequently these cases arise in the wild and how much more data ingest we could get by implementing lazy parsing on a per protocol basis, or raising the loop/chunk limits.
Gap Conditions
I have identified several conditions under which we'd see a gap in the data stream buffer due to the behavior of our bpf code.
process_syscall_sendfile
Commit c61cbbe added support for tracing sendfile calls used by some servers to write data to a socket. We can't trace the data itself, but instead fill the missing data with null bytes up to 1MB. If the data is larger than 1MB, we create a gap in the data stream buffer (the associated incomplete chunk is most probably dropped in the event parser i.e. ParseFramesLoop returns kInvalid once the parser reaches the gap, dropping the contiguous head).
Note that the metadata (e.g. HTTP headers) preceding the file will have been sent and captured before the sendfile syscall and should therefore have been placed before the file in the data stream buffer.

perf_submit_wrapper
On the last iteration of the chunk loop (which chops large messages into CHUNK_LIMIT-1 parts), we submit all of the remaining bytes of the msg and truncate if it is larger than MAX_MSG_SIZE (32 KiB).  ExtractFillerEvent then attempts to fill the truncated data up to kMaxFilledSizeBytes (1MB). If it is larger than this, we end up with a gap.

perf_submit_iovecs
There are two cases I've identified in which we end up with an incomplete chunk in perf_submit_iovecs. The first is when we exceed the LOOP_LIMIT (i.e. the msg is chopped up into more iovecs than we can process) and the second is when the iov_size exceeds the maximum filler event size (i.e. the msg is divided into individually large iovecs). I have confirmed that both of these conditions actually occur in practice in the CQL and NodeJS bpf tests (more details in the BPF tests section below).

Note that we don't know anything about the number or size of frames contained within these bytes - we could have one very big frame stretched across multiple iovecs, or many smaller frames in a single iovec. Either way, having gaps (with or without filler bytes) will most likely cause parsing to fail.
Frequency of these gap conditions
I have verified that the following gap conditions are triggered in our demo apps / bpf tests:
BPF tests:

cql_trace_bpf_test: iovExceedsMaxMsgSize
nodejs_trace_bpf_test (new bpf test adapted from a community submitted app, see #1794): iovExceedsLooplimit where iov_len = 257

Demos
px-k8ssandra (run for 1 hour):
Turning off filler and parsing lazily (as far as possible up to the gap) could save us 56 MB of null byte allocations per hour.

incomplete_reason
lazy_parsing_enabled
protocol
total_bytes_lost_in_gaps

kExceededLoopLimit
false
kProtocolHTTP
55890830.0 ~ 53.3MiB lost

kFiller
false
kProtocolHTTP
55890830.0  ~ 53.3 MiB in filler allocations

Note that in this particular case the traffic doesn't seem to reach our parser (it gets purged from the data stream buffer due to a connection resolution error printed below), which is why the unparseable_bytes_before_gap metric is 0.
W20231120 18:51:18.174887 1391373 conn_tracker.cc:421] Resetting DataStream buffers. Disabling connection dest=10.98.4.126:9966 reason=No client-side tracing: Remote endpoint is inside the cluster.
W20231120 18:51:18.175134 1391373 conn_tracker.cc:421] Resetting DataStream buffers. Disabling connection dest=-:-1 reason=Could not determine role for traffic because connection resolution failed.

incomplete_reason
lazy_parsing_enabled
protocol
unparseable_bytes_before_gap

kFullyFormed
false
kProtocolHTTP
0.0

px-kafka (run for 30min)
The kafka demo features a significant number of sendfile events, which we currently pad with filler. Turning off filler events and parsing lazily could save us ~175MB every 30min.

incomplete_reason
lazy_parsing_enabled
protocol
total_bytes_lost_in_gaps

kHeaderEvent
false
kProtocolKafka
0.0

kFiller
false
kProtocolKafka
174503644.0 ~ 166.4 MiB in filler allocations

kSendFile
false
kProtocolKafka
174503644.0 ~ 166.4 MiB lost

Note that sendfile events contain no data (the metadata is transferred previously) so our unparseable_bytes_before_gap is zero as well. With lazy parsing, we could part with filler events and just process the metadata.
Option 2: lazy parsing
Instead of relying on filler events with large null byte allocations, we could modify the protocol parsers to run lazily, parsing as far as possible. Lazy parsing would let us capture partial frames if we know from bpf that a gap is coming. To avoid masking unrelated errors, we should push a partial frame only if we know there is a gap coming. In the sendfile case, we only know at the start of the file (after the metadata is captured) that there is a gap coming up, so a lazy parser would need to return a ParseState akin to kMetadataComplete, where metadata is the minimum amount of information we need to successfully stitch a frame.
I've been putting together a prototype lazy implementation of the HTTP parser on #1789. Any feedback is much appreciated.
Originally, I considered only pushing a partial frame if the protocol parser got past the incomplete event start. This turned out to be difficult to implement as events can be very small. For instance, a community submitted sample NodeJS application has an iovec 257 elements each of which contains only ~16 bytes. With a loop limit of 42, we merge 41 events into the data stream buffer, getting us to 878 bytes. Then on 42nd iov we reach the loop limit, so our incomplete event begins at 878th byte. When the protocol parser receives the head with this incomplete event, it is able to parse up to the 157th byte (kMetdataComplete). If we only pushed partial frame after the incomplete event start (i.e. after position 878), we would miss the partial frame at the start. So instead, the lazy parser treats a kMetadataComplete in a contiguous head with an incomplete chunk as a valid partial frame. It also adds a DCHECK to ensure that a contiguous head that ends in a gap should contain at most one partial frame.
Related PRs
#1786, #1787, #1788, #1789, #1790, #1791, #1792, #1793, #1794, #1795

repo: pixie-io/pixie


text:
Doesn't run

AnalyserNode doesn't have init method.

pixi-sound 2.0.0
pixi.js 4.6.1

Hmm, that doesn't make sense. this.media should be a WebAudioMedia element. Do you have something I can reproduce this error?

Doesn't make sense yeah, can't really reproduce it outside my project though, will let you know

Did you ever track this down or create something where I can reproduce the issue?

Closing due to inactivity.

authors: bigtimebuddy hendrysadrak

repo: pixijs/pixi-sound


text:
Canvas Renderer does not respect texture's frame x and y when tinted

Description
When using the canvas renderer with a tinted Sprite, if you assign a new Rectangle to its texture's frame then the new values for width and height are drawn as expected but the new values for x and y seem to be ignored.
To demonstrate the problem, I merged the spritesheet and tinting demos together.
Minimal example of problem: https://jsfiddle.net/5u8sqzwc/1/
Working behavior in canvas without tinting: https://jsfiddle.net/0wv49ack/
Working behavior in WebGL with tinting: https://jsfiddle.net/3a6rotk4/
PIXI.js version: 4.5.1 (also seen on 4.4.1)
Seen on both Chrome and Firefox, on Window 10 and on Mac.
Background
What I really want is to emulate mipmap for the canvas renderer. To do this, I took an existing spritesheet and appended copies of it scaled down just like the GPU does for the WebGL renderer. I used the same .json file for the spritesheet so that the loader knows nothing about the additional pixels off to the right.
When I change the scale of my stage to zoom out, I calculate the new x, y, width and height for each texture's frame based on where it would be in the mipmap area. This works well for any textures that aren't used by tinted sprites. However, if the sprites have a non-white tint, the canvas renderer seems to only take into account the new width and height.

thanks for sharing @nathantalewis , will take a look and get back to ya 👍

Merged fix! Closing.

Thank you guys!


text:
fix import @pixi/math/src to @pixi/math

Description of change

fix import @pixi/math/src to @pixi/math
Pre-Merge Checklist

[x] Lint process passed (npm run lint)
[x] Tests passed (npm run test)

Codecov Report

Merging #6483 into dev will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #6483   +/-   ##
=======================================
  Coverage   80.14%   80.14%
=======================================
  Files          57       57
  Lines        2825     2825
=======================================
  Hits         2264     2264
  Misses        561      561

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 dbff69b...0518a54. Read the comment docs.

Thank you!

authors: bigtimebuddy codecov-io zxc122333


text:
Tiles are reset to original, after x amount of changes

Description
I'm working on a game, where players will change the tiles frequently. However, after calling tilemap.tile enough times, it starts to reset previous tiles to initial tile.
I've recreated an exaggeratee example, that shows my issue:
import * as PIXI from "pixi.js";
import * as TileMap from "@pixi/tilemap";

const app = new PIXI.Application();
document.body.appendChild(app.view);

const loader = PIXI.Loader.shared;

loader
  .add([
    {
      name: "tilesheet",
      url: "https://pixijs.io/examples/examples/assets/tilemaps/atlas.json"
    }
  ])
  .load();

// New tilemap:
const tilemap = new TileMap.CompositeTilemap();

// Set all tiles to grass.png
for (let x = 0; x < 64; x += 1) {
  for (let y = 0; y < 64; y += 1) {
    tilemap.tile("grass.png", x * 32, y * 32);
  }
}

app.stage.addChild(tilemap);

// Run continously, every 500ms
setInterval(() => {
  // Set all tiles to brick.png
  for (let x = 0; x < 64; x += 1) {
    for (let y = 0; y < 64; y += 1) {
      tilemap.tile("brick.png", x * 32, y * 32);
    }
  }
}, 500);

Expected behavoiur:
I would expect the whole map to start as grass, and then change to bricks after 500ms, and then stay as bricks (because continuously overwriting with same brick tile every 500ms).
Actual behaviour:
Whole map starts as grass, becomes bricks after 500ms, but then changes back to grass.
I've read about textures per tilemap in documentation, but setting it, doesn't change anything for me:
TileMap.settings.TEXTURES_PER_TILEMAP = 32 * 32

Live example:
https://codesandbox.io/s/upbeat-vaughan-6rhjx?file=/src/index.js:0-709

You dont overwrite things. To overwrite, you have to access internal array, change it, and also set the modified flag.
Here you add stuff, and there's a limit on how much tyou can do before you hit 16-bit limit, as explained inreadme (readme is a bit botched at the moment). You can set 32-bit limt, but, you'll still have performance problem, because all previous tile will be done each frame
So, either you overwrite the plugin method tile() so they actually override previous tiles, either you do as the plugin is supposed tow work: clear() and tile() all from start when you have chnage in this particular tilemap. Your map might consists of many of them/
There are many algos that you can use on high-level, but hivh-level is your problem. pixi-tilemap is low-level problem. If your high-level requires to override existing tiles and cant keep up tile list itself - well, you can use pixi containers + sprites.

Oh, right. So tilemap.tile("brick.png", 0, 0) basically keeps adding draw calls, instead of changing the tile data?
I've done previously implementation in different engines before, and usually consists a shader that draws a bunch of tiles from an array each frame. So if the array is changed, it's just drawning the new tile instead.
But in this implementation, you basically add a draw call when calling tilemap.tile(), and then on each frame all the draw calls are executed? So this actually enables me to create multiple layered tiles.
I guess my confusing came from how I usually implemented tiles, but this actually makes more sense.
You're right, I've misused this as a high-level, but it's actually low-level. Thanks for elaborating.
Thanks!

authors: Deenis ivanpopelyshev

repo: pixijs/tilemap


text:
[BUG] Custom font does not work in game

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
It doesnt work in some areas im not sure why (first image is the font and second image is showing the font not working)

Not all font files will be fully compatible with Roblox. Try using another one and find one that works.

repo: pizzaboxer/bloxstrap


text:
Installer failed with exit code: 3762504530 While trying to download with winget.

Im sorry for opening a new issue, i accidently closed the other one. This time i tried installing with winget
The error is in the title. (this still didnt create any logs)

Just checked online and the value for this error in hex is 0xe0434352, which seems to indicate a problem with the runtime. You've installed it for the first time just now, right? Can I see the runtime listed in Apps & Features?

sorry for the language but im polish, here you go.

Can you try uninstalling the first and the second one, and then install this one?

Alright, give me some minutes and ill try.

Alright, it works. Thanks for support.

Oh, it does? Okay, great!


text:
error code 403

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
System.UnauthorizedAccessException: Access to the path 'C:\Users\user\AppData\Local\Bloxstrap\Bloxstrap.exe' is denied.

I'm pretty sure if this is what I think it is, you would either restart your pc or delete the file "%localappdata%\Bloxstrap" manually.
It's the 3rd line in the "Known Issues" section on the wiki.
But take my word for a grain of salt, I'm just assuming.

Read the preliminary instructions. https://github.com/pizzaboxer/bloxstrap/wiki/"Access-to-the-path-is-denied"-error-when-trying-to-reinstall-Bloxstrap


text:
[BUG] Guys I'm using bloxstrap and bloxshade and my fps is stuck on 60 fps and i turned of max frame rate

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

What problem did you encounter?
When I just got Bloxshade I noticed that my fps was stuck at 60 when it used to be more without it with Bloxstrap.
Bloxstrap Log
N/A

no wonder

you think your fps will be like the exact same with some shaders?

you think your fps will be like the exact same with some shaders?

Do u have a fix? I used to run over 100+ fps

check roblox settings.

This is clearly not our problem then.


text:
Release a v1.0.0

If there's no objections, I'm going to tag a v1.0.0 next week?
I'll also move a v1 tag there and update all the @main references to @v1.
I intend to just use npm version for the time being to bump versions, and a small workflow to automatically move the major tag forward whenever there's a new tag on HEAD (main).

How many things are using this so far? it seems like usage should be somewhat extensive before we’re sure it’s ready for v1.

At the same time, people don't want to use it, because it's @main :)

We could release a v0.1.0 tag, at least?

So from a perspective of someone using it, they'd start a @v0 and have to expect breaking changes (or start at @v0.1 and fiddle with updates) and on any release - which is not much different than @main.

v0.1.0 to v0.1.1 has no breaking changes, only v0.2 or higher would have breaking changes.

Semver does not prescribe that (i.e. neither does it prescribe that you must bump minor when there's breaking changes, nor that you shouldn't bump minor when there aren't any) - anything goes in pre-v1.
Updated #39 to set a vX.Y when a vX.Y.Z is pushed.
Will poke around what people think about using this at @v0.1

semver v1 does, as does npm’s semver module which is really the arbiter here given the intended market
In vX.Y.Z, and v0.X.Y, and v0.0.X, X is the major, Y the minor, and Z the patch.

Released a v0.1.0. The v0 and v0.1 tags got created automatically.
Opened a https://github.com/pkgjs/action/pull/40 until there's better automation - we don't want to keep the @main as it could potentially break things for people importing the action at an older tag.

It looks like this has not happened yet? I was wondering if before we did this would you be open to me making a few changes to expand the feature set of this package a bit more?  I have been working on a few workflows which support more and I would love to make those OSS. Just been a while since I have engaged in here and want to make sure we would be aligned on the direction before committing to the work.

Sure, I'm all for it!

authors: dominykas ljharb wesleytodd

repo: pkgjs/action


text:
[FIX]: GitHook Linting 적용 에러 및 린팅 룰 재 설정

작업 사항
문제 상황

Git Hook으로 정한 pre-commit이 실행이 되지 않음 -> 권한 문제로 추정
컨벤션상 맞는 문법임에도, 린팅오류로 인식함.

1 해결안 : GitHook을 수정 or 다른 방법 Task 실행 시 같이 실행되도록
2 해결안 : editor Rule을 설정
Todo

[ ] 린팅룰 수정
[x] Git Action 임시 수정
[ ] 전체 모듈 단위에서 린팅 포매팅이 작동 되도록 수정
[ ] pre-commit script 수정

기타사항
No response

https://pinterest.github.io/ktlint/0.49.1/rules/configuration-ktlint/

repo: pknu-wap/WAPP


text:
RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR

when I run the python file, there is a error
I think this error about the sentence "loss, _ = model(dBatch[0], dBatch[1], dBatch[2], dBatch[3], dBatch[4], dBatch[6], dBatch[7], dBatch[8], dBatch[9], tmpf, tmpc, tmpindex, tmpchar, tmpindex2, rulead, antimask2, dBatch[5])"
Can you help me with this questions：
Traceback (most recent call last):
File "run.py", line 1208, in
train()
File "run.py", line 189, in train
loss, _ = model(dBatch[0], dBatch[1], dBatch[2], dBatch[3], dBatch[4], dBatch[6], dBatch[7], dBatch[8], dBatch[9], tmpf, tmpc, tmpindex, tmpchar, tmpindex2, rulead, antimask2, dBatch[5])
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 85, in parallel_apply
output.reraise()
File "/opt/conda/lib/python3.6/site-packages/torch/_utils.py", line 385, in reraise
raise self.exc_type(msg)
RuntimeError: Caught RuntimeError in replica 0 on device 0.
Original Traceback (most recent call last):
File "/opt/conda/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 60, in _worker
output = module(*input, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/root/Repair/Model.py", line 128, in forward
charEm = self.conv(charEm.permute(0, 3, 1, 2))
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 345, in forward
return self.conv2d_forward(input, self.weight)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 342, in conv2d_forward
self.padding, self.dilation, self.groups)
RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR

Maybe "cuda out of memory"

请问您解决了这个问题吗？我在使用CUDA_VISIBLE_DEVICES=0 python3 testDefect4j1.py Chart-1时同样出现了以上报错，在更换到空闲的1卡之后仍然不起作用，怀疑不是cuda oom导致的。

@HanJin996 @pkuzqh   When I run "CUDA_VISIBLE_DEVICES=0 python3 testDefect4j.py Chart-1", Terminal tell me "RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR".Y Have you solved this issue? Can you help me solve this problem:
root@dfc61105838c:~/Repair# CUDA_VISIBLE_DEVICES=0 python3 testDefect4j.py Chart-1
else_statement -> BlockStatement
using GPU
p
Checking out 2266 to /root/Repair/buggy.................................... OK
Init local repository...................................................... OK
Tag post-fix revision...................................................... OK
Apply patch................................................................ OK
Run post-checkout hook..................................................... OK
Excluding broken/flaky tests............................................... OK
Excluding broken/flaky tests............................................... OK
Initialize fixed program version........................................... OK
Apply patch................................................................ OK
Initialize buggy program version........................................... OK
Diff 2266:2264............................................................. OK
Apply patch................................................................ OK
Tag pre-fix revision....................................................... OK
Check out program version: Chart-1b........................................ OK
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=1G; support was removed in 8.0
Running ant (export.dir.src.classes)....................................... OK
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.plot.CategoryPlot
path org.jfree.chart.renderer.category.LineAndShapeRenderer
path org.jfree.chart.renderer.category.LineAndShapeRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
path org.jfree.chart.plot.CategoryPlot
path org.jfree.data.category.DefaultCategoryDataset
path org.jfree.data.category.DefaultCategoryDataset
0%|                                                     | 0/2 [01:22<?, ?it/s]
Traceback (most recent call last):
File "testDefect4j.py", line 645, in
solveone(data, model)
File "/root/Repair/run.py", line 1078, in solveone
ans = BeamSearch((x[0], x[1], None, None, None, None, None, None, x[2], x[3]), dev_set, model, 150, args.batch_size, indexs)
File "/root/Repair/run.py", line 538, in BeamSearch
result = model(gVar(tmpnl), gVar(tmpnlad), gVar(tmprule), gVar(tmpruleparent), gVar(tmprulechild), gVar(tmpAd), gVar(tmptreepath), gVar(tmpnl8), gVar(tmpnl9), tmpf, tmpc, tmpindex, tmpchar, tmpindex2, rulead, antimasks, None, "test")
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/root/Repair/Model.py", line 128, in forward
charEm = self.conv(charEm.permute(0, 3, 1, 2))
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 345, in forward
return self.conv2d_forward(input, self.weight)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 342, in conv2d_forward
self.padding, self.dilation, self.groups)
RuntimeError: cuDNN error: CUDNN_STATUS_MAPPING_ERROR

repo: pkuzqh/Recoder


text:
Suggestion: Permission to only allow players to hide/show themselves

We would like to give every player the ability to hide himself on the map, but currently, any player with the show/hide permission can use the command on all players.

Was about to suggest the same thing. It's the only thing preventing me from using it right now :/

May I bring this back to people's attention with a comment?
I'm assuming it's not that complicated to add and I'd really love to see this already 😐
Big thanks in advance ❤


text:
Add seperate permission for '/pl3xmap hide' without player variable

Hey,
I think it would be really useful to be able to allow players to hide themselves from the map but not others.
Same goes for show, of course.
Thanks!

duplicate of #21

authors: Til-Weimann granny


text:
Prompt option to always show a dialog when giving permissions to Spotify

The show_dialog field is added as an option to util.prompt_for_user_token().
This is necessary if you want to authenticate multiple users in a row

Thanks for that @JohannesPertl, looks good!

authors: JohannesPertl stephanebruckert

repo: plamere/spotipy


text:
Error setting up entry SHC Classic for livisi

System Health details
a new Error in SHC1
Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
after update to 2.4 it will not setting up
downgrade to 2.3.2 work (buggy but load partially)
Reproduction steps

have just livisi unofficial update to 2.4
reboot

...
fyi: after HA 9.0 livisi official will stop working.
Debug logs
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: homeassistant.config_entries
Source: custom_components/livisi/livisi_connector.py:167
Integration: Livisi Unofficial
First occurred: 21:18:16 (2 occurrences)
Last logged: 21:25:09

Error setting up entry SHC Classic for livisi
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 388, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/livisi/__init__.py", line 33, in async_setup_entry
    await coordinator.async_setup()
  File "/config/custom_components/livisi/coordinator.py", line 69, in async_setup
    self.aiolivisi = await livisi_connect(
                     ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/livisi/livisi_connector.py", line 38, in connect
    await connection.connect(host, password)
  File "/config/custom_components/livisi/livisi_connector.py", line 66, in connect
    self.controller = await self._async_get_controller()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/livisi/livisi_connector.py", line 180, in _async_get_controller
    shc_info = await self.async_send_authorized_request("get", path="status")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/livisi/livisi_connector.py", line 101, in async_send_authorized_request
    return await self._async_send_request(method, url, payload, auth_headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/livisi/livisi_connector.py", line 167, in _async_send_request
    async with self._web_session.request(
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1141, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 899, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/streams.py", line 616, in read
    await self._waiter
aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected

Diagnostics dump
No response

I think I found and fixed the problem. After the 1.4.0 rewrite it was obvious. The stupid workaround with just trying again could also be removed by simply telling the connector to close the connection after every request.
So it wasn't a parallel requests but consecutive requests on the same connection that SHV v1 couldn't handle.

yes, its fixed.... it seems, the other Problems are now gone too i think. I will test it in the next days

authors: metaiiica planbnet


text:
Better AJAX Login (and logout) support

With newer technologies, AJAX is becoming really popular. I've built some webapps where javascript is required, but I spent all night trying to make an AJAX login works (and logout to). I couldn't find the solution for this even after digging all the source code (what is that :recall parameter in warden.authenticate! method?) and reading posts on google.
Hope for an improvement, also support for AJAX registration would be nice toghether with the other actions.

They all support ajax requests, since version 1.4 or 1.5. Try pinging the mailing list and see if someone has an example application you can borrow from. Cheers.

authors: Fire-Dragon-DoL josevalim

repo: plataformatec/devise


text:
Add basic CLI

This is a very basic argparse CLI. It requires a torrent-like filename and the optional --raw argument controls whether the output is standardised. The output is indented JSON.
This is the help output:
$ python cli.py --help
usage: cli.py [-h] [--raw] torrent

Extract media information from torrent-like filename.

positional arguments:
  torrent     a torrent-like filename

optional arguments:
  -h, --help  show this help message and exit
  --raw       whether to standardise the output

This is an example the output:
$ python cli.py "Some.Show.S01.2160p.WEB-DL.DDP5.1.Atmos.HEVC-GROUP.mkv"
{
  "season": 1,
  "resolution": "2160p",
  "quality": "WEB-DL",
  "codec": "H.265",
  "audio": "Dolby Atmos",
  "filetype": "MKV",
  "title": "Some Show",
  "encoder": "GROUP"
}

$ python cli.py --raw "Some.Show.S01.2160p.WEB-DL.DDP5.1.Atmos.HEVC-GROUP.mkv"
{
  "season": 1,
  "resolution": "2160p",
  "quality": "WEB-DL",
  "codec": "HEVC",
  "audio": "Atmos",
  "filetype": "mkv",
  "title": "Some Show",
  "encoder": "GROUP"
}

Feel free to close this PR and use the code as a basis for a less basic CLI like the one described in https://github.com/platelminto/parse-torrent-title/issues/27.

My account got flagged and got shadow banned for a couple of days, which hid my PRs, too. Everything is back to normal and this PR is ready for review.

repo: platelminto/parse-torrent-title


text:
Zephyr already supports raspberry pico. Add corresponding support.

I have a feeling that zephyr support would be an awesome addition to this board. Particularly since there are so many devices available in zephyr. And it seems to me that the pico being more of a raw power device would greatly benefit from those devices.
Plus I've seen claims that zephyr, resembles linux development.

What would it take to add this support? Could anyone explain what might be involved? I might have the desire to try to implement support if its pretty simple.

repo: platformio/platform-raspberrypi


text:
Make pc.SceneRegistry public

Fixes #1948
PR contains the following changes:

Rename undocumented pc.Application property _sceneRegistry to scenes
(just like pc.Application#assets which references pc.AssetRegistry).
Make pc.SceneRegistry and pc.SceneRegistryItem public.
Add documentation for pc.Application#scenes.
Add documentation  for pc.RegistryItem properties.

I confirm I have signed the Contributor License Agreement.

Updated PR based on feedback from issue thread:

Mark old scene functions (in pc.Application) as private and deprecated (to discourage new devs).
Add console warning (if debug build) in deprecated scene functions (to encourage switch).

Hey @vkalpias - I think your review is probably the most authoritative here. The one thing I'm thinking is that we'd have to update and deploy the Editor at the same time as this PR. Because we would want exported apps to use the functions on the pc.SceneRegistry instead of pc.Application. That said, exported apps use the release engine so no console warnings will appear.

Hey @vkalpias - I think your review is probably the most authoritative here. The one thing I'm thinking is that we'd have to update and deploy the Editor at the same time as this PR. Because we would want exported apps to use the functions on the pc.SceneRegistry instead of pc.Application. That said, exported apps use the release engine so no console warnings will appear.

Well this only seems to change the internal _sceneRegistry to scenes. Don't see any other changes that would affect the Editor.

Oh I see what you mean - all the new Deprecated messages. Yeah not sure we need those can't we just keep the old functions without deprecating them?

No, because they're duplicates and it makes for an ugly API. 😁  Like I say, I don't actually think it's a big deal because you can't publish with the debug engine. But we should, for correctness, update the generated app to use the new API.

authors: aidinabedi vkalpias willeastcott

repo: playcanvas/engine


text:
Run scenes with corrupted data

Related to https://github.com/playcanvas/editor/issues/758
We have existing scenes that could be corrupted by this issue and at the moment, they fail to launch leaving users confused.
This PR allows these scenes to launch with a warning
I confirm I have read the contributing guidelines and signed the Contributor License Agreement.
Tested against:
https://playcanvas.com/project/923035/overview/double-graphnode-parent
Current

With this PR

What can users do when they see this message? Can they fix their scenes?

@slimbuck Currently, the only way they can fix the issue is to do one of the methods here (the version control method is the easiest) https://forum.playcanvas.com/t/cannot-find-child-entity-of-parent-root-editor-error-cant-delete-entities/23048

We should really be fixing these automatically in the editor at load time since we now know what the issue is.

Should it be like the pop up that we had before around the template issue so that it's a user action to fix?

Should it be like the pop up
I think we can just fix it at load time and perhaps show a message saying we have. The reason we don't need user input is we won't be modifying the scene in any way, just getting rid of invalid entities (right?).

In theory, yes. From a user perspective, I would prefer to have the opt-in so I can have the assurance of making a checkpoint, or being able to examine the scene before making changes

I thought these problem scenes don't load correctly in the editor?

They do but will have Entities that you can't delete (eg https://playcanvas.com/project/1011865/overview/example-broken-project try deleting New Entity). However, you can still edit, add new entities etc.

authors: slimbuck yaustar


text:
Show a confirm dialog after pressing "Reset Scene"

I accidentally pressed the "Reset Scene" after lots of edits...
A confirm dialog with "Are you sure you want to reset scene?" with YES/NO options would be great.

May be you can rename it to "Undo all changes". I was expecting that Reset Scene can move the camera to the default position

We've added undo/redo - should be enough?

We've added undo/redo - should be enough?

I think so, yes.

Not sure if it is clear to users that you can undo this reset

authors: alexeyda inxomnyaa liorazi slimbuck

repo: playcanvas/super-splat


text:
🛑 Treatmentbank is down

In 3fb3f77, Treatmentbank (https://tb.plazi.org/GgServer/search?fullText.ftQuery=lepus&fullText.matchMode=prefix&taxonomicName.taxonomicName=&taxonomicName.isNomenclature=true&taxonomicName.exactMatch=true&taxonomicName.order=&taxonomicName.family=&taxonomicName.genus=&taxonomicName.species=&BibMetaData.docAuthor=&BibMetaData.docDate=&BibMetaData.docTitle=&BibMetaData.docOrigin=&BibMetaData.part=&BibMetaData.pageNumber=&BibMetaData.extId=&materialsCitation.location=&materialsCitation.country=&materialsCitation.stateProvince=&materialsCitation.typeStatus=All+Types&materialsCitation.collectionCode=&materialsCitation.specimenCode=&materialsCitation.LSID=&materialsCitation.longitude=&materialsCitation.latitude=&materialsCitation.degreeCircle=1&materialsCitation.elevation=&materialsCitation.elevationCircle=100&indexName=0&subIndexName=0&minSubResultSize=0) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Treatmentbank is back up in 161ff04 after 21 days, 23 hours, 11 minutes.

repo: plazi/monitoring


text:
[CLOSED] GADT compilation failure with Hoopl example

 Issue by bollu
Sunday Apr 29, 2018 at 08:29 GMT
Originally opened as https://github.com/antalsz/hs-to-coq/issues/87

Experiment
Consider the piece of haskell code (which is extracted from Hoopl):
{-# LANGUAGE GADTs #-}
data O
data C
data MaybeO ex t where
  JustO    :: t -> MaybeO O t
  NothingO ::      MaybeO C t

main :: IO ()
main = undefined

This generates the coq code from hs-to-coq:
(* Main *)

(* Default settings (from HsToCoq.Coq.Preamble) *)

Generalizable All Variables.

Unset Implicit Arguments.
Set Maximal Implicit Insertion.
Unset Strict Implicit.
Unset Printing Implicit Defensive.

Require Coq.Program.Tactics.
Require Coq.Program.Wf.

(* Converted imports: *)

Require GHC.Err.
Require GHC.Types.

(* Converted type declarations: *)

Inductive O : Type :=.

Inductive C : Type :=.

Inductive MaybeO ex t : Type
  := JustO : forall {t}, t -> MaybeO O t
  |  NothingO : forall {t}, MaybeO C t.
(* Converted value declarations: *)

Definition main : GHC.Types.IO unit :=
  GHC.Err.undefined.

(* External variables:
     unit GHC.Err.undefined GHC.Types.IO
*)

Error
╰─$ coqc fail.v
File "./fail.v", line 27, characters 21-22:
Error:
t is already used as name of a parameter of the inductive type; bound
variables in the type of a constructor shall use a different name.

On changing the declaration of MaybeO to:
(* === edited declaration to fix t=== *)
Inductive MaybeO ex t : Type
  := JustO :  t -> MaybeO O t
  |  NothingO :  MaybeO C t.

It fails with the error:
Press ENTER or type command to continue%                                                                                ╰─$ coqc fail.v
File "./fail.v", line 26, characters 0-87:
Error: Last occurrence of "MaybeO" must have "ex" as 1st argument in
 "t -> MaybeO O t".

Expected
The version of MaybeO produced is weird. In particular, I would have expected something like this to be generated:
(* ===Expected code=== *)
Inductive MaybeO: Type -> Type -> Type
  := JustO : forall {t}, t -> MaybeO O t
  |  NothingO : forall {t}, MaybeO C t.

In the version that is compiled by hs-to-coq, there are two problems:

The t variable is already bound by the Inductive MaybeO ex t, thus it should not be reused at the forall {t}.

the hs-to-coq declaration does not capture what the haskell code is trying to say? (Note: I do not understand Coq very well, so I could be wrong here)

The hs-to-coq version is creating a type Maybe :: (ex: *) -> (o : *) -> *, whose inhabitants have types Maybe ex o for all ex, o :: *.
The version I wrote creates a type MaybeO :: * -> * -> *, whose inhabitants are MaybeO O t and MaybeO C t.
Is there something I am missing (am I compiling my code wrong?) Or does hs-to-coq not support this as of now?
Thanks!

 Comment by sweirich
Sunday Apr 29, 2018 at 11:35 GMT

Hi Siddarth,
Thanks for your report.  We haven't tried hs-to-coq on many GADTs yet and don't consider them a supported feature.  However, I found that adding the edits
data type arguments GADT.MaybeO  (indices: ex t)
data kinds GADT.MaybeO Type, Type

with your original file  (after adding  module GADT where at the beginning)
produces the following Coq output (after the usual preamble).
 Inductive O : Type :=.

Inductive C : Type :=.

Inductive MaybeO : forall (ex t : Type), Type
  := JustO : forall {ex t : Type}, forall {t}, t -> MaybeO O t
  |  NothingO : forall {ex t : Type}, forall {t}, MaybeO C t.

The reason that the edits are necessary is that Coq makes a distinction between datatype parameters and indices but Haskell does not.  By default, hs-to-coq outputs definitions only using parameters, because they are more commonly used. However, GADTs require the use of indices instead. Perhaps we could make hs-to-coq smarter in this respect, but for now the user must specify.  The second edit provides kind information for the type variables: Coq cannot infer them in this situation.

 Comment by bollu
Monday Apr 30, 2018 at 09:30 GMT

Thank you! Much appreciated :) I did not know the terminology regarding "indeces" and "datatype parameter", but now I do.
If GADTs are not considered supported, is it still okay to send issues regarding GADTs?

 Comment by bollu
Monday Apr 30, 2018 at 09:38 GMT

I am unable to get the example working. You mentioned "... adding the edits" - Adding the edits where? To an edits file? (This does not seem to be the case, since the syntax does not seem like that of an edits file). I am not sure which file I must edit.

 Comment by sweirich
Monday Apr 30, 2018 at 11:53 GMT

Sorry for being unclear --- yes, to an edits file.
We don't mind issues about GADTs (they help us understand what the tool does and does not currently support.) However, GADTs are not our current priority so we may not fix them.

 Comment by bollu
Monday Apr 30, 2018 at 13:07 GMT

Ah, thanks! I now understood what you meant :)
You meant:

edit the .hs file to add a module GADT where ... <haskell definitions>.

add the definitions

data type arguments GADT.MaybeO  (indices: ex t)
data kinds GADT.MaybeO Type, Type

to the edits file, and the invoke hs-to-coq --edits <edits-file> <haskell-file.hs>
Much appreciated.

repo: plclub/hs-to-coq