text:
Frequently asked questions for youtube-search-python

BEFORE OPENING NEW ISSUE
Please make sure you have latest release of youtube-search-python from Git:
pip install git+https://github.com/alexmercerind/youtube-search-python

1. JSON is a proper format
JSON is used by everyone. It is one of best and simplest ways to store data.
2. Don't always trust JSON validators
JSON validators aren't always 100% accurate. Things such as \n and non-ASCII characters might disrupt them, so they might show errors...
3. How to traverse JSON
To get a specific key or piece of information from our methods, you have to traverse a dictionary. For example, if you want to get ID from first search result, you use this:
1>> from youtubesearchpython import VideosSearch
2>> videosSearch = VideosSearch('NoCopyrightSounds', limit = 1)
3>> result = videosSearch.result()
4>> result1 = result["result"]
5>> resultdict = result1[0]
6>> id = result["id"]

(ignore numbers at beginning of line and >>, they are just kept here, because we made this tutorial using Python console)
Let me explain what this does. First 3 lines, just retrieve result from YouTube. Our result is currently like this:
{
    "result": [
        {
            "type": "video",
            "id": "K4DyBUG242c",
            "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release]",
            "publishedTime": "5 years ago",
            "duration": "3:28",
            "viewCount": {
                "text": "389,673,774 views",
                "short": "389M views"
            },
            "thumbnails": [
                {
                    "url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBkTusCwcZQlmVAaRQ5rH-mvBuA1g",
                    "width": 480,
                    "height": 270
                }
            ],
            "richThumbnail": {
                "url": "https://i.ytimg.com/an_webp/K4DyBUG242c/mqdefault_6s.webp?du=3000&sqp=COCn64IG&rs=AOn4CLBeYxeJ_5lME4jXbFQlv7kIN37kmw",
                "width": 320,
                "height": 180
            },
            "descriptionSnippet": [
                {
                    "text": "NCS: Music Without Limitations NCS Spotify: http://spoti.fi/NCS Free Download / Stream: http://ncs.io/onandon \u25bd Connect with\u00a0..."
                }
            ],
            "channel": {
                "name": "NoCopyrightSounds",
                "id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
                "thumbnails": [
                    {
                        "url": "https://yt3.ggpht.com/a-/AOh14GhS0G5FwV8rMhVCUWSDp36vWEvnNs5Vl97Zww=s68-c-k-c0x00ffffff-no-rj-mo",
                        "width": 68,
                        "height": 68
                    }
                ],
                "link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
            },
            "accessibility": {
                "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release] by NoCopyrightSounds 5 years ago 3 minutes, 28 seconds 389,673,774 views",
                "duration": "3 minutes, 28 seconds"
            },
            "link": "https://www.youtube.com/watch?v=K4DyBUG242c",
            "shelfTitle": null
        }
    ]
}

What we do with 4th line, we move deeper into this structure, more specifically, the "result" key, so what we get out is:
[
    {
        "type": "video",
        "id": "K4DyBUG242c",
        "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release]",
        "publishedTime": "5 years ago",
        "duration": "3:28",
        "viewCount": {
            "text": "389,673,774 views",
            "short": "389M views"
        },
        "thumbnails": [
            {
                "url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBkTusCwcZQlmVAaRQ5rH-mvBuA1g",
                "width": 480,
                "height": 270
            }
        ],
        "richThumbnail": {
            "url": "https://i.ytimg.com/an_webp/K4DyBUG242c/mqdefault_6s.webp?du=3000&sqp=COCn64IG&rs=AOn4CLBeYxeJ_5lME4jXbFQlv7kIN37kmw",
            "width": 320,
            "height": 180
        },
        "descriptionSnippet": [
            {
                "text": "NCS: Music Without Limitations NCS Spotify: http://spoti.fi/NCS Free Download / Stream: http://ncs.io/onandon \u25bd Connect with\u00a0..."
            }
        ],
        "channel": {
            "name": "NoCopyrightSounds",
            "id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
            "thumbnails": [
                {
                    "url": "https://yt3.ggpht.com/a-/AOh14GhS0G5FwV8rMhVCUWSDp36vWEvnNs5Vl97Zww=s68-c-k-c0x00ffffff-no-rj-mo",
                    "width": 68,
                    "height": 68
                }
            ],
            "link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
        },
        "accessibility": {
            "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release] by NoCopyrightSounds 5 years ago 3 minutes, 28 seconds 389,673,774 views",
            "duration": "3 minutes, 28 seconds"
        },
        "link": "https://www.youtube.com/watch?v=K4DyBUG242c",
        "shelfTitle": null
    }
]

See, "result" key is gone, we moved inside it.
We basically get a Python list, which is a structure that can hold many other structures in specific order or without a specific order. In Python, we start counting on list with 0 integer, so 0 means, first item in this list, 1 means, second item in list, 2 means third item in list, and so on.
Fifth line does just that, it retrieves first item from this list.
Now we get this:
{
    "type": "video",
    "id": "K4DyBUG242c",
    "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release]",
    "publishedTime": "5 years ago",
    "duration": "3:28",
    "viewCount": {
        "text": "389,673,774 views",
        "short": "389M views"
    },
    "thumbnails": [
        {
            "url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBkTusCwcZQlmVAaRQ5rH-mvBuA1g",
            "width": 480,
            "height": 270
        }
    ],
    "richThumbnail": {
        "url": "https://i.ytimg.com/an_webp/K4DyBUG242c/mqdefault_6s.webp?du=3000&sqp=COCn64IG&rs=AOn4CLBeYxeJ_5lME4jXbFQlv7kIN37kmw",
        "width": 320,
        "height": 180
    },
    "descriptionSnippet": [
        {
            "text": "NCS: Music Without Limitations NCS Spotify: http://spoti.fi/NCS Free Download / Stream: http://ncs.io/onandon \u25bd Connect with\u00a0..."
        }
    ],
    "channel": {
        "name": "NoCopyrightSounds",
        "id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
        "thumbnails": [
            {
                "url": "https://yt3.ggpht.com/a-/AOh14GhS0G5FwV8rMhVCUWSDp36vWEvnNs5Vl97Zww=s68-c-k-c0x00ffffff-no-rj-mo",
                "width": 68,
                "height": 68
            }
        ],
        "link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
    },
    "accessibility": {
        "title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release] by NoCopyrightSounds 5 years ago 3 minutes, 28 seconds 389,673,774 views",
        "duration": "3 minutes, 28 seconds"
    },
    "link": "https://www.youtube.com/watch?v=K4DyBUG242c",
    "shelfTitle": null
}

Now we can retrieve ID, using sixth line. If you would print it out, you would get this:
K4DyBUG242c

The fourth, fifth and sixth line can be merged into one line, but were kept that way, because it is simpler to explain that way. If you would merge it, here is what you get:
id = result["result"][0]["id"]

4. OK, now I understand how dictionaries are cool, but I really want CSV instead of dictionary. Is there any way?
I recommend you to Google it, or if you are more privacy oriented, DuckDuckGo it.
5. OK, I understand this. But, what is the difference between JSON and dictionary.
Ah, good question.
JSON is basically a dictionary, that is not stored as dictionary, but as string. This means, you can't traverse JSON, but if you use Python's json module, you can convert this JSON to dictionary and other way round.
Dictionary is basically traversable (modifiable) JSON, but if you are building a web server in Python, you can't return dictionary directly from endpoint, but you have to dump it to string, and then return it.
6. Great, thanks for explaining. I want to access your scripts through my JavaScript/HTML based website. Is there any chance to do it?
Yes, there is. You can't integrate Python code directly into JavaScript code, but you can create so called, Python backend, using FastAPI, or even a full blown frontend and backend in Flask or Django
7. I always get this error: SyntaxError: 'await' outside function. How can I fix it.
You are importing asynchronous package. Make sure to import synchronous package, if you don't know anything about Asynchronous Python and asyncio.
Import this
from youtubesearchpython import *

Instead of
from youtubesearchpython.__future__ import *

8. Why are you using PyTube instead of youtube-dl?

youtube-dl is kinda bloated. It comes with many sites, from which we need only one.
PyTube is much faster in many of our tests

We are migrating to yt-dlp, as it's much faster and more importantly - more stable
9. You have an API key in your code. That is not safe.
This library is not using YouTube Data v3 API and thus is not using API keys. The so called searchKey is a random key present in all of YouTube's requests from frontend to backend (website to server). This key is public and same for everyone and you can see it for yourself, if you open Network tab in your browser
This is it. If you want even more questions answered, leave a comment here, and I will add more questions as time goes on.
10. Does this library have any limit?
Have a look at this comment

does that have limit for call search api? wait you reply

This library itself does not contain any limits of API calls. Note that YouTube itself might detect your IP as a bot and will probably IP ban you, but that only lasts approximately 6 hours (at least in most of my cases), afterwards they will unban you.

ok i see.thanks for you reply

Does this library parse all the YT videos with particular <my_tag> ? I mean, can I get all videos data from "https://www.youtube.com/hashtag/<my_tag>" page (~1800 items in my particular case)?
Currently thanks to "Hashtag" from the library I can get data of around 473-478 videos only (I use it in sync mode with while hashtag.next() to get all the available videos ).
Thank you!

Hello,
sorry it took me a while to respond.
So, YouTube shows there are ~1800 items in UI, but you can never retrieve more than 500 (at least in my cases). We retrieve as many videos as in UI, because YouTube backend doesn't allow us more. That's because why we cannot fix it.
Thank you so much

about video information retrieved, miss "how many likes/dislike" property

authors: Al-Iverson IaroslavShchevych cosimopp mytja

repo: alexmercerind/youtube-search-python


text:
Current approach to attach shared middleware

Say I want to protect multiple routes using an auth module or handle errors on multiple routes using a common middleware, but try to avoid repeating them in routes. Do I need to use koa-resource-router? Or should I go with koa-mount to achieve filter/group like routing.
There were talks and PR related to matching multiple routes pre koa-resource-router split, not sure about the status quo now.

You can use either per-route middleware or koa-compose with the router middleware:
router.get('/protected', function *() { ... });
app.use(compose([authMiddleware, router.middleware()]);

or
router.get('/protected', authMiddleware, function *() { ... });

I should clarify, I meant matching multiple routes like https://github.com/alexmingoia/koa-router/issues/29
so everything under /protected/ path will go through authMiddleware, and similarly for error handling. Writing per-route is fine but quite tedious.

Use koa-mount and koa-compose with multiple routers.
var protectedRouter = new Router();
var publicRouter = new Router();

protectedRouter.get('/foo', function *() { ... });
protectedRouter.get('/bar', function *() { ... });

app.use(mount('/protected', compose([authMiddleware, protected.middleware()])));
app.use(public.middleware());

got it, so multiple router is the right way 2015.

source: gharchive/issue

authors: alexmingoia bitinn

repo: alexmingoia/koa-router

license: mit

license_type: permissive

license_source: bigquery


text:
Goal Queue

the current MPC mostly works. So now we need a way of queueing multiple sequential goals for the mpc to reach. In general the controller is best for close goals (something something, terminal set problem), so we need to :

create a high level (HL) controller which can generate a trajectory of goals for the mpc to match
the HL controller should be able to decide which goal in the trajectory the MPC follows, and select when to move from tracking one goal to another
it may be worth looking in to frenet frames for this, I am not entirely sure how this would work, but it may be easier if we simplify the controlling of the car down to a linear MPC, along a frenet frame which is decided by the HL controller.

I found this paper, which may be of interest:
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9294754

so I've implemented a goal queue. It is a little shoddy, and has some magic numbers baked in. Namely, the items in the queue are popped based on an arbitrary Euclidian distance to the current goal.
Some things I would be interested in doing to extend this are:

update the trajectory generation, so that rather than simply trying to move the car towards the current goal, it tries to move it along a trajectory. Namely, I would like to generate a spline between the current position and the goal position, and each timestep will have a goal location along this spline.
potentially update the state space representation of the car such that inputs are acceleration, and turn rate.

repo: alexoelkers/TMOLI

license: MIT

license_source: github-api


text:
PympleBuild keeps trying to install sed even though it's already installed

When running PympleBuild I encountered these errors with sed even though it's installed:
Here's the logs:
[INFO  Mon Oct  7 09:10:24 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:33: --------------------------------------------------------------
[INFO  Mon Oct  7 09:10:24 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:34: ---                   NEW PYMPLE SESSION                   ---
[INFO  Mon Oct  7 09:10:24 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:35: --------------------------------------------------------------
[INFO  Mon Oct  7 09:10:24 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:86: Found nvim-tree installation, hooking up events
[INFO  Mon Oct  7 09:10:24 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:92: Found oil installation, hooking up events
[INFO  Mon Oct  7 09:10:24 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:104: Found mini.files installation, hooking up events
[INFO  Mon Oct  7 09:10:24 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:61: Pymple setup complete
[INFO  Mon Oct  7 09:10:32 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: Installing gg...
[INFO  Mon Oct  7 09:10:33 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: gg installed successfully
[INFO  Mon Oct  7 09:10:33 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: Installing sed/gsed...
[ERROR Mon Oct  7 09:10:33 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:320: Failed to install sed. Try installing it manually.
[INFO  Mon Oct  7 09:11:14 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:33: --------------------------------------------------------------
[INFO  Mon Oct  7 09:11:14 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:34: ---                   NEW PYMPLE SESSION                   ---
[INFO  Mon Oct  7 09:11:14 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:35: --------------------------------------------------------------
[INFO  Mon Oct  7 09:11:14 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:86: Found nvim-tree installation, hooking up events
[INFO  Mon Oct  7 09:11:14 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:92: Found oil installation, hooking up events
[INFO  Mon Oct  7 09:11:14 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:104: Found mini.files installation, hooking up events
[INFO  Mon Oct  7 09:11:14 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:61: Pymple setup complete
[INFO  Mon Oct  7 09:11:21 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: Installing gg...
[INFO  Mon Oct  7 09:11:21 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: gg installed successfully
[INFO  Mon Oct  7 09:11:21 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:328: Installing sed/gsed...
[ERROR Mon Oct  7 09:11:21 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/utils.lua:320: Failed to install sed. Try installing it manually.
[INFO  Mon Oct  7 09:12:28 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:33: --------------------------------------------------------------
[INFO  Mon Oct  7 09:12:28 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:34: ---                   NEW PYMPLE SESSION                   ---
[INFO  Mon Oct  7 09:12:28 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:35: --------------------------------------------------------------
[INFO  Mon Oct  7 09:12:28 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:86: Found nvim-tree installation, hooking up events
[INFO  Mon Oct  7 09:12:28 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:92: Found oil installation, hooking up events
[INFO  Mon Oct  7 09:12:28 2024] .../.local/share/nvim/lazy/pymple.nvim/lua/pymple/hooks.lua:104: Found mini.files installation, hooking up events
[INFO  Mon Oct  7 09:12:28 2024] ...r/.local/share/nvim/lazy/pymple.nvim/lua/pymple/init.lua:61: Pymple setup complete

and the checkhealth report:

==============================================================================
pymple: require("pymple.health").check()

Checking for required plugins ~
- OK plenary installed.
- OK nui.object installed.
- OK nvim-web-devicons installed.
- OK dressing installed.
- OK telescope installed.

Checking external dependencies ~
- OK gg: found 0.5.4
- OK fd: found 10.2.0
- OK sed: found 4.8

It seems to have installed the hooks now. Any idea what is going on? BTW Thanks for this amazing idea. Exactly what was missing with python nvim integration

Hi, thanks for the feedback.
Could you try setting the log level to debug, running that again and pasting the logs here?
Will try looking into this asap.

Hi, thanks for the feedback. Could you try setting the log level to debug, running that again and pasting the logs here? Will try looking into this asap.

Unfortunately, any attempt to add anything to the setup option leads to this error:
   Error  10:00:57 notify.error lazy.nvim Failed to run `config` for pymple.nvim

...br/.local/share/nvim/lazy/pymple.nvim/lua/pymple/log.lua:140: attempt to index local 'fp' (a nil value)

# stacktrace:
  - /pymple.nvim/lua/pymple/log.lua:140 _in_ **info**
  - /pymple.nvim/lua/pymple/init.lua:33 _in_ **setup**
  - /pymple.nvim/lua/pymple/init.lua:60 _in_ **setup**
  - lua/custom/plugins/python/pymple-nvim.lua:13 _in_ **config**

I only get to the sed error if I disable setup options:
return {
	"alexpasmantier/pymple.nvim",
	ft = { "python", "markdown" },
	dependencies = {
		"nvim-lua/plenary.nvim",
		"MunifTanjim/nui.nvim",
		-- optional (nicer ui)
		"stevearc/dressing.nvim",
		"nvim-tree/nvim-web-devicons",
	},
	build = ":PympleBuild",
	config = function()
		require("pymple").setup({
			-- keymaps = {
			-- 	-- Resolves import for symbol under cursor.
			-- 	-- This will automatically find and add the corresponding import to
			-- 	-- the top of the file (below any existing doctsring)
			-- 	resolve_import_under_cursor = {
			-- 		desc = "Resolve import under cursor",
			-- 		keys = "<leader>li", -- feel free to change this to whatever you like
			-- 	},
			-- },
			-- update_imports = {
			-- 	-- the filetypes on which to run the update imports command
			-- 	-- NOTE: this should at least include "python" for the plugin to
			-- 	-- actually do anything useful
			-- 	filetypes = { "python", "markdown" },
			-- },
			-- -- options for the add import for symbol under cursor feature
			-- add_import_to_buf = {
			-- 	-- whether to autosave the buffer after adding the import (which will
			-- 	-- automatically format/sort the imports if you have on-save autocommands)
			-- 	autosave = true,
			-- },
			-- -- python options
			-- python = {
			-- 	-- the names of root markers to look out for when discovering a project
			-- 	root_markers = { "pyproject.toml", "setup.py", ".git", "manage.py" },
			-- 	-- the names of virtual environment folders to look out for when
			-- 	-- discovering a project
			-- 	virtual_env_names = { ".venv" },
			-- },
			-- -- logging options
			-- logging = {
			-- 	-- whether to log to the neovim console (only use this for debugging
			-- 	-- as it might quickly ruin your neovim experience)
			-- 	console = {
			-- 		enabled = false,
			-- 	},
			-- 	-- whether or not to log to a file (default location is nvim's
			-- 	-- stdpath("data")/pymple.vlog which will typically be at
			-- 	-- `~/.local/share/nvim/pymple.vlog` on unix systems)
			-- 	file = {
			-- 		enabled = true,
			-- 		-- the maximum number of lines to keep in the log file (pymple will
			-- 		-- automatically manage this for you so you don't have to worry about
			-- 		-- the log file getting too big)
			-- 		max_lines = 1000,
			-- 		path = "~/.local/share/nvim/pymple.vlog",
			-- 	},
			-- 	-- the log level to use
			-- 	-- (one of "trace", "debug", "info", "warn", "error", "fatal")
			-- 	level = "debug",
			-- },
		})
	end,
}

I'm guessing you're on a windows machine, and pymple currently only supports MacOS and Linux.
You can check https://github.com/alexpasmantier/pymple.nvim/issues/48 if you want to give it a try. Otherwise I might take the subject in the following week if I find the time to do so.

I'm guessing you're on a windows machine, and pymple currently only supports MacOS and Linux.
You can check #48 if you want to give it a try. Otherwise I might take the subject in the following week if I find the time to do so.

I am using WSL on Windows so it's running on Ubuntu 22.04. So shouldn't be an issue. sed is even installed already

I'm running Debian Sid and have the same issue.

I believe the problem comes from here which obviously needs to change in order to take into account various distributions and corresponding package managers.
In the meantime, I believe installing sed manually should work?

I believe the problem comes from here which obviously needs to change in order to take into account various distributions and corresponding package managers.
In the meantime, I believe installing sed manually should work?

Package works fine with the sed installed already so just the build error inconvenience.

authors: PyDataBlog alexpasmantier mickalpine


text:
Action attach: uploadfields check falsch

In der attach.php müsste es glaube ich so sein, oder?:
if (count($fields)) {
            if ($override) {
                $email_attachments = [];
            }
            foreach ($fields as $field) {
                $email_attachments[] = $uploaded_files[$field];
            }

        } else {
            if ($override) {
                $email_attachments = [];
            }
            foreach ($uploaded_files as $file) {
                $email_attachments[] = $file;
            }
        }

statt:
if (count($fields)) {
            if ($override) {
                $email_attachments = [];
            }
            foreach ($uploaded_files as $file) {
                $email_attachments[] = $file;
            }
        } else {
            if ($override) {
                $email_attachments = [];
            }
            foreach ($fields as $field) {
                $email_attachments[] = $uploaded_files[$field];
            }
        }

Danke für den Hinweis! Du kannst direkt die Datei hier auf Github bearbeiten und einen PR einreichen, dann schau ich es mir genauer an.
Was passiert denn / passiert nicht?

Ich habe mir erst mal nur deinen Code angeschaut um zu verstehen, wie die Action genau funktioniert :)
DAbei ist mir das aufgefallen, hatte diese noch garnicht getestet...

Ich bin mir nicht sicher, ob du die neuste Version im Einsatz hattest, denn hier auf GitHub und damit eig. auch in Version 2.0 sieht der Code ja auch ganz anders aus.
https://github.com/alexplusde/yform_field/blob/main/lib/yform/action/attach/attach.php

authors: alxndr-w godsdog


text:
Set spellcheck property in Electron webPreferences instead of attribute

Electron natively can disable or enable the spellcheck property so you don't need to set the attribute of the element node.
Example inside index.ts
let mainWindow: BrowserWindow = {} as BrowserWindow;

  //check if platform is darwin
  if(process.platform === 'darwin') {
      //log
      console.log("Platform is darwin (macOS)");

      mainWindow = new BrowserWindow({
          width: 1200,
          height: 750,
          show: false,
          autoHideMenuBar: true,
          titleBarStyle: 'hiddenInset',
          webPreferences: {
          preload: join(_dirname, '../preload/index.js'),
          sandbox: false,
          spellcheck: false //set spellcheck property
        }
    });
  }

See f9f5824 for the commit.

Fixed commit message in 62f35af

repo: alexwkleung/Iris


text:
Is whalesong whatsapp can detect when someone new want to send message to you?

Is whalesong whatsapp can detect when someone new want to send message to you, whalesong able to send message to that person right away?
Is there any indication for this? Thanks. @alfred82santa

I don't understand, sorry. Do you mean when someone is typing message?

Like when you added someone who is your new friend, you want to send a whatsapp message to him.
You will search his name on whatsapp and click on it in order to message him.
So I wondering, when you click the chat box of him, I want whalesong auto send him a message such as 'Welcome to ABC group. Our society is doing bla bla bla.' before any of our conversation starts. Can we do that?

Well, it is not a whalesong issue. It is how whatsapp works. User chats (not groups) are created on receiver with first message, not before.

Yeah it is not whalesong issue. So we not able to do that as this is how whatsapp works?

exactly


text:
TS7016

Hi,
I have faced with next error:
TS7016: Could not find a declaration file for module 'angular5-csv/Angular5-csv'.
Could you add declaration in d.ts file ?
Thank you!

Hi @skuzmin
Can you please update your tsconfig.json with  "noImplicitAny": false

FYI, there's no need to import Angular5-csv in your module, just import it in your component
import { Angular5Csv } from 'angular5-csv/Angular5-csv';

@skuzmin
import { Angular5Csv } from 'angular5-csv/dist/Angular5-csv';
Solved it for me!

Please update the import statement in https://www.npmjs.com/package/angular5-csv


text:
Doc: mention to create database

I try to follow above four steps, but turn out the database is not find, updated readme to provide tips to other if they also facing same issue.

Thanks for updating the readme file

source: gharchive/pull-request


text:
[bug] Format of csproj files is modified when updating packages

I'm kind of excited because we finally have a fast gui for updates .. :)
But I'm saddened to find out that the format of the csproj files are rewritten entirely, when changes occur. So this means my (intentional) empty lines disappear, indentation is changed to some other style and so on.
So in the end, the resulting change is a lot more than just version numbers, which sucks :/
An alternative way is to use regexes to modify the file in place, or if the msbuild system is used to edit the csproj files using the API, it is possible to trick it to keep the format as it was. I'm not sure how this project does it.

Thank you! :)
I find a way to avoid change indentation.

I fixed the issue, only unit tests remain( too many states should be tested)

@LordMike
It's fixed on version 2.0.4

authors: LordMike aliasadidev

repo: aliasadidev/vscode-npm-gui


text:
[BUG] Connection failed: Failed to connect to vineyardd

Describe the bug
[error] Check failed: Connection failed: Failed to connect to vineyardd: Failed to connect to IPC socket: /tmp/vineyard_workspace/vineyard.sock in "client->Connect(vineyard_socket)", in function void gs::EnsureClient(std::shared_ptrvineyard::Client&, const string&), file /home/graphscope/GraphScope/analytical_engine/core/launcher.cc, line 126
log detail file :
log.txt
To Reproduce

k8s集群新增2节点，将graphscope部署到新增2台节点
2.利用session = graphscope.session(
k8s_coordinator_cpu=1,
k8s_coordinator_mem="1Gi",
k8s_vineyard_cpu=4,
k8s_vineyard_mem="5Gi",
vineyard_shared_mem="5Gi",
k8s_engine_cpu=2,
k8s_namespace='***********',
k8s_engine_mem="5Gi",
num_workers=1,
k8s_image_tag="0.26.0a20240115-x86_64",
k8s_client_config='**********')
的方式在k8s上面部署服务，部署不成功。
3.从coordinator的日志看，报错如上。

Expected behavior
曾尝试coordinator，ping engine节点，多次尝试无效。希望能帮助排查coordinator 无法访问engine的根因
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

GraphScope version: 0.26.0a20240115-x86_64
OS: linux
Version [e.g. 10.15]
Kubernetes Version ：1.23.6

Additional context
Add any other context about the problem here.

Wechat : gaoyuan5251
thank u very much~

Ok, I'll add u on wechat

already communicated on wechat

repo: alibaba/GraphScope


text:
[no ci]add DingTalk QR code

Why
Add DingTalk discussion group.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.chufeng.qy seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant qicosmos


text:
DruidDataSourceFactory.createDataSource 不能读取配置文件name属性

prop:
name=test
url=jdbc:mysql://localhost:3306/test
username=root
password=123456
DruidDataSource dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(prop);
通过DruidDataSourceFactory.createDataSource创建的DruidDataSource，在DruidStatView看到是没有生效的

已经支持，请等待新版本

authors: Kumhy wenshao

repo: alibaba/druid


text:
abandon connection, owner thread 和 connection holder is null

版本：1.0.22
使用Spring和Hibernate ，注解事务管理。
为了实验我把removeAbandonedTimeout 设为 30 。
30秒过后，就马上报了这个错误。
之后如果再进行操作任何操作，都是connection holder is null
配置
    <!-- 配置数据源 -->
    <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <property name="driverClassName" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>

        <!-- 初始化连接大小 -->
        <property name="initialSize" value="3"/>
        <!-- 连接池最大使用连接数量 -->
        <property name="maxActive" value="100"/>
        <!-- 连接池最小空闲 -->
        <property name="minIdle" value="3"/>
        <!-- 获取连接最大等待时间 -->
        <property name="maxWait" value="60000"/>

        <property name="validationQuery" value="${druid.validationQuery}"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>
        <property name="testWhileIdle" value="true"/>

        <!-- 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <!-- 配置一个连接在池中最小生存的时间，单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000"/>

        <!-- 打开removeAbandoned功能 -->
        <property name="removeAbandoned" value="true"/>
        <!-- 这边故意设置30秒，然后结果就是报错-->
        <property name="removeAbandonedTimeout" value="30"/>
        <!-- 关闭abanded连接时输出错误日志 -->
        <property name="logAbandoned" value="${druid.logAbandoned}"/>
        <!-- 监控数据库 -->
        <property name="filters" value="mergeStat" />

    </bean>

异常
2016-07-15 21:01:54,727 [Druid-ConnectionPool-Destroy-505072145] ERROR [com.alibaba.druid.pool.DruidDataSource:2190] - abandon connection, owner thread: http-bio-8083-exec-9, connected at : 1468587675489, open stackTrace
    at java.lang.Thread.getStackTrace(Thread.java:1552)
    at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1071)
    at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4544)
    at com.alibaba.druid.filter.stat.StatFilter.dataSource_getConnection(StatFilter.java:662)
    at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4540)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:995)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:987)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:103)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
    at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:171)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:63)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
    at org.hibernate.loader.Loader.doQuery(Loader.java:909)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
    at org.hibernate.loader.Loader.doList(Loader.java:2553)
    at org.hibernate.loader.Loader.doList(Loader.java:2539)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369)
    at org.hibernate.loader.Loader.list(Loader.java:2364)
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:353)
    at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1873)
    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:311)
    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:141)
    at com.github.cnlinjie.infrastructure.dao.nativesql.NativeSqlDaoImpl.sqlListBeans(NativeSqlDaoImpl.java:206)
    at com.github.cnlinjie.infrastructure.dao.DaoImpl.sqlListBeans(DaoImpl.java:198)
    at pscode.dao.MakeLogDao.groupByAll(MakeLogDao.java:21)
    at pscode.service.MakeLogService.groupByAll(MakeLogService.java:35)
    at pscode.service.MakeLogService$$FastClassBySpringCGLIB$$a4bf1d16.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at pscode.service.MakeLogService$$EnhancerBySpringCGLIB$$64af6406.groupByAll(<generated>)
    at pscode.controller.MakeLogController.log(MakeLogController.java:36)
    at pscode.controller.MakeLogController$$FastClassBySpringCGLIB$$8384d37e.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:139)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at pscode.controller.MakeLogController$$EnhancerBySpringCGLIB$$5b574df8.log(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:832)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:743)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:123)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:168)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
ownerThread current state is WAITING, current stackTrace
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

应该是哪里连接泄露了。

抱歉，不是druid的问题。
找到问题了，用的那个数据访问框架用hql的时候是
 this.sessionFactory.getCurrentSession();

而用sql的时候，用：
 this.sessionFactory.openSession();

这个需要自己手动关闭，没关闭就会一直连接。

getCurrentSession

what problem

authors: cnlinjie jiaqiang-coder


text:
master分支的log4j版本还原为1.2.17

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

log4j版本1.2.18-SNAPSHOT是不存在的一个版本

已经修复

authors: CLAassistant wenshao winjaychan


text:
去重冗余的put调用 #4510

去重冗余的put调用 #4510

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (554012e) 58.68% compared to head (8438c1a) 58.68%.

:exclamation: Current head 8438c1a differs from pull request most recent head 6d948c6. Consider uploading reports for the commit 6d948c6 to get more accurate results

Additional details and impacted files

@@            Coverage Diff            @@
##             master    #5640   +/-   ##
=========================================
  Coverage     58.68%   58.68%
- Complexity    27700    27701    +1
=========================================
  Files          1331     1331
  Lines        127434   127433    -1
  Branches      23988    23988
=========================================
  Hits          74786    74786
+ Misses        43336    43335    -1
  Partials       9312     9312

Files
Coverage Δ

...a/druid/support/http/stat/WebSessionStatValue.java
48.75% <ø> (-0.64%)
:arrow_down:

... and 2 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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

authors: codecov-commenter lizongbo


text:
FastJsonHttpMessageConverter配置失败

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter#0' defined in class path resource [spring-mvc.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.NoSuchFieldError: UTF8

@VictorZeng 你帮看看

@ITHTT spring 和 fastjson 版本各多少

java.lang.NoSuchFieldError: UTF8？我觉得是配置的问题，不是fastjson的问题

spring 4.3.4 fastjson是最新的1.2.21

@ITHTT 试试 FastJsonHttpMessageConverter4

authors: CharkeyQK ITHTT VictorZeng wenshao

repo: alibaba/fastjson


text:
Fix Issue #4050

Fix Issue #4050
修复了\后接字母为非转义字符时，JSON.parseObject 报错但是validator返回true的问题。
增加了validator对转义符 \t \n \r \b \f \v ' 的检测。

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Huaiwu Li seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant lhwzds


text:
Fix Testcases import issue

What this PR does / why we need it?
Fix Testcases import issue.
Summary of your change
Change from import other classes to referencing itself.
Please indicate you've done the following:

[x] Made sure tests are passing and test coverage is added if needed.
[x] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

Codecov Report

Merging #211 (bd54164) into main (9651a56) will decrease coverage by 1.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #211      +/-   ##
============================================
- Coverage     70.63%   69.47%   -1.16%
+ Complexity     9106     8985     -121
============================================
  Files           417      417
  Lines         45696    45575     -121
  Branches       9244     9214      -30
============================================
- Hits          32277    31663     -614
- Misses         9665    10178     +513
+ Partials       3754     3734      -20

Impacted Files
Coverage Δ

...n/java/com/alibaba/fastjson2/util/UnsafeUtils.java
30.18% <0.00%> (-49.06%)
:arrow_down:

...main/java/com/alibaba/fastjson2/util/JDKUtils.java
40.25% <0.00%> (-30.07%)
:arrow_down:

...in/java/com/alibaba/fastjson2/JSONReaderASCII.java
65.06% <0.00%> (-16.88%)
:arrow_down:

...va/com/alibaba/fastjson2/reader/ValueConsumer.java
16.66% <0.00%> (-16.67%)
:arrow_down:

...java/com/alibaba/fastjson2/JSONWriterUTF8JDK9.java
73.41% <0.00%> (-8.87%)
:arrow_down:

...in/java/com/alibaba/fastjson2/JSONWriterJSONB.java
51.95% <0.00%> (-6.32%)
:arrow_down:

.../main/java/com/alibaba/fastjson2/util/IOUtils.java
55.06% <0.00%> (-5.07%)
:arrow_down:

...in/java/com/alibaba/fastjson2/JSONWriterUTF16.java
73.55% <0.00%> (-4.56%)
:arrow_down:

...baba/fastjson2/reader/FieldReaderObjectMethod.java
76.08% <0.00%> (-4.35%)
:arrow_down:

...in/java/com/alibaba/fastjson2/JSONReaderJSONB.java
68.20% <0.00%> (-3.36%)
:arrow_down:

... and 43 more

Continue to review full report at Codecov.

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

authors: VictorZeng codecov-commenter


text:
e2e test中的envoy config校验可以支持定位判断，例如listener里name为xxx的config里是否match/exist/notexist

          加个TODO吧，可以支持定位判断，例如listener里name为xxx的config里是否match/exist/notexist，这样这个配置检查功能会更通用。可以用于一般的e2e test，而非只是envoyfilter的场景。

Originally posted by @johnlanni in https://github.com/alibaba/higress/pull/710#discussion_r1433384546

我可以预定一下这个issue

PR  https://github.com/alibaba/higress/pull/710 已经支持 Existed, NotExisted, Match 这三种操作。

repo: alibaba/higress


text:
Feature: create cluster-info configmap by yurtctl for adapting cert-mode=hubself of yurthub

Ⅰ. Describe what this PR does
create a cluster-info configmap in the cluster before converting a k8s cluster to openyurt cluster, because yurthub will use this configmap to bootstrap the edge node.  and when k8s cluster was set up by kubeadm tool, the cluster-info configmap is created by default.
Ⅱ. Does this pull request fix one issue?

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

LGTM

LGTM

authors: rambohe-ch zyjhtangtang

repo: alibaba/openyurt


text:
bugfix: evaluate finish time of container in CRI correctly

Signed-off-by: YaoZengzeng yaozengzeng@zju.edu.cn

Ⅰ. Describe what this PR did
fixes problem mentioned in #1144
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1183 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1183      +/-   ##
==========================================
- Coverage   15.96%   15.95%   -0.01%
==========================================
  Files         176      176
  Lines       10135    10138       +3
==========================================
  Hits         1618     1618
- Misses       8399     8402       +3
  Partials      118      118

Impacted Files
Coverage Δ

daemon/mgr/cri.go
0% <0%> (ø)
:arrow_up:

LGTM

authors: YaoZengzeng allencloud codecov-io

repo: alibaba/pouch


text:
求助：xquic通信错误

Question

按照文档一这个build并配置
文档一：https://github.com/alibaba/tengine/blob/master/modules/ngx_http_xquic_module/README.md
具体配置如下：
worker_processes  1;
user root;
error_log  logs/error.log debug;
events {
    worker_connections  1024;
}
xquic_log   "pipe:rollback /home/guopeisheng/workbench/QuicBBR/tengine-xquic.log baknum=10 maxsize=1G interval=1d adjust=600" debug;

http {
    include       mime.types;
    default_type  application/octet-stream;
    xquic_ssl_certificate        /home/guopeisheng/workbench/QuicBBR/cert/cacert.pem;
    xquic_ssl_certificate_key    /home/guopeisheng/workbench/QuicBBR/cert/privkey.pem;
    xquic_congestion_control bbr;
    xquic_socket_rcvbuf 5242880;
    xquic_socket_sndbuf 5242880;
    xquic_anti_amplification_limit 5;
    xquic_log_level debug;
    server {
        listen 8000 ssl http2;
        listen 8000 xquic reuseport;
        server_name guopeisheng;

        add_header Alt-Svc 'h3=":8000"; ma=2592000,h3-29=":8000"; ma=2592000;' always;

        ssl_protocols       TLSv1.3;
        ssl_certificate        /home/guopeisheng/workbench/QuicBBR/cert/cacert.pem;
        ssl_certificate_key    /home/guopeisheng/workbench/QuicBBR/cert/privkey.pem;

        location / {
            root   html;
            index  index.html index.htm;

            # autoindex on;
            # autoindex_exact_size   on;
        }
        # location /video/ {
        #     mp4;
        #     mp4_buffer_size       1m;
        #     mp4_max_buffer_size   5m;
        #     mp4_limit_rate        on;
        #     mp4_limit_rate_after  30s;
        # }
    }
}

证书生成参考文档二
文档二：https://blog.csdn.net/who7708/article/details/104565369
自用测试证书的国家是CN，服务器名字是guopeisheng

第一种命令及输出
启动tengine后，用xquic自带的测试客户端进行测试，输入如下命令
sudo ./test_client -a 127.0.0.1 -p 8000 -s 1024000 -E -u guopeisheng.com
输出如下：

option addr :127.0.0.1
option port :8000
option send_body_size :1024000
option echo check :on
option url :guopeisheng.com
congestion control flags: 0
read token error No such file or directory
sessoin data read error or use_1rtt
conn type: 0
/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/tests/test_client.c:1771 (xqc_client_h3_conn_create_notify)
xqc_h3_conn_is_ready_to_send_early_data:0
[h3-dgram]|prepare_dgram_user_data|
Segmentation fault

client的日志内容为：
[2024/11/09 16:24:24 824463] [info] |xqc_tls_ctx_create|set cipher suites suc|ciphers:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
[2024/11/09 16:24:24 824517] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:h3|alpn_list:h3
[2024/11/09 16:24:24 824523] [info] |xqc_engine_add_alpn|alpn registered|alpn:h3|
[2024/11/09 16:24:24 824526] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:h3-29|alpn_list:h3h3-29
[2024/11/09 16:24:24 824528] [info] |xqc_engine_add_alpn|alpn registered|alpn:h3-29|
[2024/11/09 16:24:24 824532] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:transport|alpn_list:h3h3-29	transport
[2024/11/09 16:24:24 824534] [info] |xqc_engine_add_alpn|alpn registered|alpn:transport|
[2024/11/09 16:24:24 824537] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:transport-test|alpn_list:h3h3-29	transporttransport-test
[2024/11/09 16:24:24 824539] [info] |xqc_engine_add_alpn|alpn registered|alpn:transport-test|
[2024/11/09 16:24:24 824660] [debug] |scid:25b8a6b77426bb3e|xqc_timer_set|type:CONN_IDLE|expire:1731140784824651|now:1731140664824651|interv:120000000|
[2024/11/09 16:24:24 824671] [loss_timer_updated] |scid:25b8a6b77426bb3e|xqc_timer_set|set|type:CONN_IDLE|expire:1731140784824651|interv:120000000|
[2024/11/09 16:24:24 824701] [debug] |scid:25b8a6b77426bb3e|xqc_timer_set|type:PATH_IDLE|expire:1731140784824701|now:1731140664824701|interv:120000000|
[2024/11/09 16:24:24 824706] [loss_timer_updated] |scid:25b8a6b77426bb3e|xqc_timer_set|set|type:PATH_IDLE|expire:1731140784824701|interv:120000000|
[2024/11/09 16:24:24 824713] [rec_parameters_set] |scid:25b8a6b77426bb3e|xqc_send_ctl_create|reordering_packet_threshold:3|reordering_time_threshold_shift:3|
[2024/11/09 16:24:24 824718] [debug] |xqc_path_create|path:0|dcid:19e7dc83ca802796|scid:25b8a6b77426bb3e|create_path_count:1|
[2024/11/09 16:24:24 824723] [debug] |xqc_path_init|path:0|dcid:19e7dc83ca802796|scid:25b8a6b77426bb3e|state:2|
[2024/11/09 16:24:24 824728] [debug] |scid:25b8a6b77426bb3e|xqc_conn_create|success|scid:25b8a6b77426bb3e|dcid:19e7dc83ca802796|conn:0000555B39742D90|
[2024/11/09 16:24:24 824733] [tra_parameters_set] |scid:25b8a6b77426bb3e|xqc_conn_create|local|migration:1|max_idle_timeout:120000|max_udp_payload_size:1500|active_connection_id_limit:8|max_data:0|
[2024/11/09 16:24:24 824739] [debug] |scid:25b8a6b77426bb3e|xqc_create_crypto_stream|encrypt_level:0|cur_state:C_INIT|
[2024/11/09 16:24:24 824910] [debug] |xqc_client_connect|xqc_connect|
[2024/11/09 16:24:24 824926] [connection_started] |scid:25b8a6b77426bb3e|xqc_client_connect|remote|dst_ip:127.0.0.1|dst_port:8000|scid:25b8a6b77426bb3e|dcid:19e7dc83ca802796|
[2024/11/09 16:24:24 824974] [http_stream_type_set] |scid:25b8a6b77426bb3e|xqc_h3_stream_create|local|stream_id:2|stream_type:0|
[2024/11/09 16:24:24 824983] [debug] |scid:25b8a6b77426bb3e|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:24:24 824990] [info] |scid:25b8a6b77426bb3e|xqc_stream_send|ret:-610|stream_id:2|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:0000555B39742D90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:24:24 824994] [debug] |scid:25b8a6b77426bb3e|xqc_h3_conn_create_uni_stream|success|stream_id:2|stream_type:0|
[2024/11/09 16:24:24 825000] [http_stream_type_set] |scid:25b8a6b77426bb3e|xqc_h3_stream_create|local|stream_id:6|stream_type:2|
[2024/11/09 16:24:24 825002] [debug] |scid:25b8a6b77426bb3e|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:24:24 825005] [info] |scid:25b8a6b77426bb3e|xqc_stream_send|ret:-610|stream_id:6|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:0000555B39742D90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:24:24 825008] [debug] |scid:25b8a6b77426bb3e|xqc_h3_conn_create_uni_stream|success|stream_id:6|stream_type:2|
[2024/11/09 16:24:24 825013] [http_stream_type_set] |scid:25b8a6b77426bb3e|xqc_h3_stream_create|local|stream_id:10|stream_type:3|
[2024/11/09 16:24:24 825016] [debug] |scid:25b8a6b77426bb3e|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:24:24 825025] [info] |scid:25b8a6b77426bb3e|xqc_stream_send|ret:-610|stream_id:10|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:0000555B39742D90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:24:24 825028] [debug] |scid:25b8a6b77426bb3e|xqc_h3_conn_create_uni_stream|success|stream_id:10|stream_type:3|
[2024/11/09 16:24:24 825032] [http_frame_created] |scid:25b8a6b77426bb3e|xqc_h3_stream_write_setting_to_buffer|stream_id:2|type:4|max_field_section_size:32768|max_pushes:0||qpack_max_table_capacity:16384|qpack_blocked_streams:64|
[2024/11/09 16:24:24 825035] [debug] |scid:25b8a6b77426bb3e|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:24:24 825038] [info] |scid:25b8a6b77426bb3e|xqc_stream_send|ret:-610|stream_id:2|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:0000555B39742D90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:24:24 825051] [debug] |scid:25b8a6b77426bb3e|xqc_h3_conn_send_settings|write settings success|qpack_blocked_streams:64|qpack_max_table_capacity:16384|max_field_section_size:32768|max_pushes:0|
[2024/11/09 16:24:24 825054] [debug] |scid:25b8a6b77426bb3e|xqc_h3_conn_create_notify|create h3 conn success|
[2024/11/09 16:24:24 825057] [debug] |xqc_engine_main_logic|BEGIN|
[2024/11/09 16:24:24 825061] [debug] |scid:25b8a6b77426bb3e|xqc_engine_process_conn|conn:0000555B39742D90|state:C_INIT|flag:TICKING UPPER_CONN_EXIST |now:1731140664825061|
[2024/11/09 16:24:24 825068] [debug] |scid:25b8a6b77426bb3e|xqc_process_crypto_write_streams|
[2024/11/09 16:24:24 825081] [info] |scid:25b8a6b77426bb3e|xqc_crypto_stream_send|crypto send data|pkt_num:0|size:342|sent:312|pkt_type:INIT|frame:CRYPTO |now:1731140664825080|
[2024/11/09 16:24:24 825085] [debug] |scid:25b8a6b77426bb3e|xqc_crypto_stream_on_write|encrypt_level:0|cur_state:C_INIT|next_state:C_INITIAL_SENT|
[2024/11/09 16:24:24 825093] [debug] |scid:25b8a6b77426bb3e|xqc_check_acked_or_dropped_pkt|conn:0000555B39742D90|pkt_num:0|size:342|pkt_type:INIT|frame:CRYPTO |
[2024/11/09 16:24:24 825132] [datagrams_sent] |scid:25b8a6b77426bb3e|xqc_send|size:1216|
[2024/11/09 16:24:24 825137] [info] |scid:25b8a6b77426bb3e|xqc_send_packet_with_pn|<==|conn:0000555B39742D90|path:0|pkt_num:0|size:1200|sent:1216|pkt_type:INIT|frame:PADDING CRYPTO |inflight:0|now:1731140664825104|stream_id:0|stream_offset:0|
[2024/11/09 16:24:24 825140] [packet_sent] |scid:25b8a6b77426bb3e|xqc_send_packet_with_pn|pkt_pns:0|pkt_type:0|pkt_num:0|size:1200|frame_flag:PADDING CRYPTO |
[2024/11/09 16:24:24 825144] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_on_packet_sent|conn:0000555B39742D90|path:0|pkt_num:0|origin_pktnum:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |conn_state:C_INITIAL_SENT|po_in_flight:0|
[2024/11/09 16:24:24 825148] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_on_packet_sent|path:0|inflight:0|applimit:0|
[2024/11/09 16:24:24 825151] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_get_pto_time_and_space|srtt:250000|rtt_var:125000|pto_duration:750000|backoff_factor:2.00|backoff:1.00|pto_cnt:0|max_ack_delay:25|
[2024/11/09 16:24:24 825155] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_get_pto_time_and_space|conn:0000555B39742D90|path:0|PNS: 0, unacked: 1200|
[2024/11/09 16:24:24 825158] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_get_pto_time_and_space|conn:0000555B39742D90|path:0|PNS: 1, unacked: 0|
[2024/11/09 16:24:24 825160] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_get_pto_time_and_space|conn:0000555B39742D90|path:0|PNS: 2, unacked: 0|
[2024/11/09 16:24:24 825163] [debug] |scid:25b8a6b77426bb3e|xqc_timer_set|type:LOSS_DETECTION|expire:1731140665575104|now:1731140664825151|interv:749953|
[2024/11/09 16:24:24 825165] [loss_timer_updated] |scid:25b8a6b77426bb3e|xqc_timer_set|set|type:LOSS_DETECTION|expire:1731140665575104|interv:749953|
[2024/11/09 16:24:24 825168] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_set_loss_detection_timer|xqc_timer_set|update|PTO|XQC_TIMER_LOSS_DETECTION|conn:0000555B39742D90|path:0|pns:0|expire:1731140665575104|now:1731140664825151|interval:749953|pto_count:0|srtt:250000
[2024/11/09 16:24:24 825177] [debug] |scid:25b8a6b77426bb3e|xqc_send_ctl_update_cwnd_limited|path:0|cwnd:45952|inflight:1200|
[2024/11/09 16:24:24 825181] [debug] |scid:25b8a6b77426bb3e|xqc_conn_next_wakeup_time|wakeup_time:1731140665575104|
[2024/11/09 16:24:24 825185] [debug] |xqc_engine_main_logic|END|
[2024/11/09 16:24:24 825201] [http_stream_type_set] |scid:25b8a6b77426bb3e|xqc_h3_stream_create|local|stream_id:0|stream_type:16|
[2024/11/09 16:24:24 825208] [debug] |xqc_h3_request_create|success|stream_id:0|conn:0000555B39742D90|conn_state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |

第二种命令及输出：
client侧的运行命令为：
sudo ./test_client -a 127.0.0.1 -p 8000 -s 1024000 -E -u https://guopeisheng.com
控制台输出如下：

option addr :127.0.0.1
option port :8000
option send_body_size :1024000
option echo check :on
option url :https://guopeisheng.com
congestion control flags: 0
read token error No such file or directory
sessoin data read error or use_1rtt
conn type: 0
/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/tests/test_client.c:1771 (xqc_client_h3_conn_create_notify)
xqc_h3_conn_is_ready_to_send_early_data:0
[h3-dgram]|prepare_dgram_user_data|
xqc_h3_request_send_headers success size=40
xqc_h3_request_send_body eagain -610
recvfrom: recvmsg = -1(Connection refused)
xqc_client_write_socket_ex path:0 err -1 Connection refused 1216
/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/tests/test_client.c:2909 (xqc_client_request_close_notify)
send_body_size:0, recv_body_size:0, send_header_size:104, recv_header_size:0, recv_fin:0, err:0, mp_state:0, cellular_send_weight:0.00, cellular_recv_weight:0.00, stream_info:
>>>>>>>> pass:0
/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/tests/test_client.c:1817 (xqc_client_h3_conn_close_notify)
conn errno:256
should_clear_0rtt_ticket, conn_err:256, clear_0rtt_ticket:0
send_count:2, lost_count:0, tlp_count:1, recv_count:0, srtt:250000 early_data_flag:0, conn_err:0, mp_state:0, ack_info:#0-0#0-0#0-0#v0429,  conn_info:1,0,0,0,0,0,0-2,0-0,0-0,0-250000,0-2400,0-0,0-2,0-0,0-0,0-1,0-0,0-0,0-0,0-0
[h3-dgram]|recv_dgram_bytes:0|sent_dgram_bytes:0|lost_dgram_bytes:0|lost_cnt:0|

client日志输出如下：
[2024/11/09 16:29:43 377479] [info] |xqc_tls_ctx_create|set cipher suites suc|ciphers:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
[2024/11/09 16:29:43 377536] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:h3|alpn_list:h3
[2024/11/09 16:29:43 377541] [info] |xqc_engine_add_alpn|alpn registered|alpn:h3|
[2024/11/09 16:29:43 377544] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:h3-29|alpn_list:h3h3-29
[2024/11/09 16:29:43 377547] [info] |xqc_engine_add_alpn|alpn registered|alpn:h3-29|
[2024/11/09 16:29:43 377550] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:transport|alpn_list:h3h3-29	transport
[2024/11/09 16:29:43 377552] [info] |xqc_engine_add_alpn|alpn registered|alpn:transport|
[2024/11/09 16:29:43 377555] [info] |xqc_tls_ctx_register_alpn|alpn registered|alpn:transport-test|alpn_list:h3h3-29	transporttransport-test
[2024/11/09 16:29:43 377558] [info] |xqc_engine_add_alpn|alpn registered|alpn:transport-test|
[2024/11/09 16:29:43 377675] [debug] |scid:c39de8619bf69953|xqc_timer_set|type:CONN_IDLE|expire:1731141103377669|now:1731140983377669|interv:120000000|
[2024/11/09 16:29:43 377686] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_set|set|type:CONN_IDLE|expire:1731141103377669|interv:120000000|
[2024/11/09 16:29:43 377714] [debug] |scid:c39de8619bf69953|xqc_timer_set|type:PATH_IDLE|expire:1731141103377714|now:1731140983377714|interv:120000000|
[2024/11/09 16:29:43 377720] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_set|set|type:PATH_IDLE|expire:1731141103377714|interv:120000000|
[2024/11/09 16:29:43 377727] [rec_parameters_set] |scid:c39de8619bf69953|xqc_send_ctl_create|reordering_packet_threshold:3|reordering_time_threshold_shift:3|
[2024/11/09 16:29:43 377734] [debug] |xqc_path_create|path:0|dcid:3f39619c47b3c817|scid:c39de8619bf69953|create_path_count:1|
[2024/11/09 16:29:43 377737] [debug] |xqc_path_init|path:0|dcid:3f39619c47b3c817|scid:c39de8619bf69953|state:2|
[2024/11/09 16:29:43 377743] [debug] |scid:c39de8619bf69953|xqc_conn_create|success|scid:c39de8619bf69953|dcid:3f39619c47b3c817|conn:000055C8D1CBCD90|
[2024/11/09 16:29:43 377748] [tra_parameters_set] |scid:c39de8619bf69953|xqc_conn_create|local|migration:1|max_idle_timeout:120000|max_udp_payload_size:1500|active_connection_id_limit:8|max_data:0|
[2024/11/09 16:29:43 377754] [debug] |scid:c39de8619bf69953|xqc_create_crypto_stream|encrypt_level:0|cur_state:C_INIT|
[2024/11/09 16:29:43 377931] [debug] |xqc_client_connect|xqc_connect|
[2024/11/09 16:29:43 377948] [connection_started] |scid:c39de8619bf69953|xqc_client_connect|remote|dst_ip:127.0.0.1|dst_port:8000|scid:c39de8619bf69953|dcid:3f39619c47b3c817|
[2024/11/09 16:29:43 377997] [http_stream_type_set] |scid:c39de8619bf69953|xqc_h3_stream_create|local|stream_id:2|stream_type:0|
[2024/11/09 16:29:43 378010] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 378016] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:2|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:29:43 378021] [debug] |scid:c39de8619bf69953|xqc_h3_conn_create_uni_stream|success|stream_id:2|stream_type:0|
[2024/11/09 16:29:43 378036] [http_stream_type_set] |scid:c39de8619bf69953|xqc_h3_stream_create|local|stream_id:6|stream_type:2|
[2024/11/09 16:29:43 378052] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 378057] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:6|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:29:43 378063] [debug] |scid:c39de8619bf69953|xqc_h3_conn_create_uni_stream|success|stream_id:6|stream_type:2|
[2024/11/09 16:29:43 378071] [http_stream_type_set] |scid:c39de8619bf69953|xqc_h3_stream_create|local|stream_id:10|stream_type:3|
[2024/11/09 16:29:43 378076] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 378087] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:10|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:29:43 378092] [debug] |scid:c39de8619bf69953|xqc_h3_conn_create_uni_stream|success|stream_id:10|stream_type:3|
[2024/11/09 16:29:43 378097] [http_frame_created] |scid:c39de8619bf69953|xqc_h3_stream_write_setting_to_buffer|stream_id:2|type:4|max_field_section_size:32768|max_pushes:0||qpack_max_table_capacity:16384|qpack_blocked_streams:64|
[2024/11/09 16:29:43 378103] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 378107] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:2|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INIT|flag:TICKING |
[2024/11/09 16:29:43 378112] [debug] |scid:c39de8619bf69953|xqc_h3_conn_send_settings|write settings success|qpack_blocked_streams:64|qpack_max_table_capacity:16384|max_field_section_size:32768|max_pushes:0|
[2024/11/09 16:29:43 378117] [debug] |scid:c39de8619bf69953|xqc_h3_conn_create_notify|create h3 conn success|
[2024/11/09 16:29:43 378123] [debug] |xqc_engine_main_logic|BEGIN|
[2024/11/09 16:29:43 378126] [debug] |scid:c39de8619bf69953|xqc_engine_process_conn|conn:000055C8D1CBCD90|state:C_INIT|flag:TICKING UPPER_CONN_EXIST |now:1731140983378126|
[2024/11/09 16:29:43 378134] [debug] |scid:c39de8619bf69953|xqc_process_crypto_write_streams|
[2024/11/09 16:29:43 378146] [info] |scid:c39de8619bf69953|xqc_crypto_stream_send|crypto send data|pkt_num:0|size:343|sent:313|pkt_type:INIT|frame:CRYPTO |now:1731140983378145|
[2024/11/09 16:29:43 378150] [debug] |scid:c39de8619bf69953|xqc_crypto_stream_on_write|encrypt_level:0|cur_state:C_INIT|next_state:C_INITIAL_SENT|
[2024/11/09 16:29:43 378159] [debug] |scid:c39de8619bf69953|xqc_check_acked_or_dropped_pkt|conn:000055C8D1CBCD90|pkt_num:0|size:343|pkt_type:INIT|frame:CRYPTO |
[2024/11/09 16:29:43 378200] [datagrams_sent] |scid:c39de8619bf69953|xqc_send|size:1216|
[2024/11/09 16:29:43 378209] [info] |scid:c39de8619bf69953|xqc_send_packet_with_pn|<==|conn:000055C8D1CBCD90|path:0|pkt_num:0|size:1200|sent:1216|pkt_type:INIT|frame:PADDING CRYPTO |inflight:0|now:1731140983378171|stream_id:0|stream_offset:0|
[2024/11/09 16:29:43 378213] [packet_sent] |scid:c39de8619bf69953|xqc_send_packet_with_pn|pkt_pns:0|pkt_type:0|pkt_num:0|size:1200|frame_flag:PADDING CRYPTO |
[2024/11/09 16:29:43 378217] [debug] |scid:c39de8619bf69953|xqc_send_ctl_on_packet_sent|conn:000055C8D1CBCD90|path:0|pkt_num:0|origin_pktnum:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |conn_state:C_INITIAL_SENT|po_in_flight:0|
[2024/11/09 16:29:43 378221] [debug] |scid:c39de8619bf69953|xqc_send_ctl_on_packet_sent|path:0|inflight:0|applimit:0|
[2024/11/09 16:29:43 378225] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|srtt:250000|rtt_var:125000|pto_duration:750000|backoff_factor:2.00|backoff:1.00|pto_cnt:0|max_ack_delay:25|
[2024/11/09 16:29:43 378228] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 0, unacked: 1200|
[2024/11/09 16:29:43 378231] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 1, unacked: 0|
[2024/11/09 16:29:43 378234] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 2, unacked: 0|
[2024/11/09 16:29:43 378237] [debug] |scid:c39de8619bf69953|xqc_timer_set|type:LOSS_DETECTION|expire:1731140984128171|now:1731140983378224|interv:749947|
[2024/11/09 16:29:43 378240] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_set|set|type:LOSS_DETECTION|expire:1731140984128171|interv:749947|
[2024/11/09 16:29:43 378243] [debug] |scid:c39de8619bf69953|xqc_send_ctl_set_loss_detection_timer|xqc_timer_set|update|PTO|XQC_TIMER_LOSS_DETECTION|conn:000055C8D1CBCD90|path:0|pns:0|expire:1731140984128171|now:1731140983378224|interval:749947|pto_count:0|srtt:250000
[2024/11/09 16:29:43 378251] [debug] |scid:c39de8619bf69953|xqc_send_ctl_update_cwnd_limited|path:0|cwnd:45952|inflight:1200|
[2024/11/09 16:29:43 378256] [debug] |scid:c39de8619bf69953|xqc_conn_next_wakeup_time|wakeup_time:1731140984128171|
[2024/11/09 16:29:43 378260] [debug] |xqc_engine_main_logic|END|
[2024/11/09 16:29:43 378278] [http_stream_type_set] |scid:c39de8619bf69953|xqc_h3_stream_create|local|stream_id:0|stream_type:16|
[2024/11/09 16:29:43 378283] [debug] |xqc_h3_request_create|success|stream_id:0|conn:000055C8D1CBCD90|conn_state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |
[2024/11/09 16:29:43 387237] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write field section prefix|ricnt:0|base:0|
[2024/11/09 16:29:43 387262] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|prefix|ricnt:0|base:0|
[2024/11/09 16:29:43 387266] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write indexed|index:20|
[2024/11/09 16:29:43 387269] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|indexed field line|stable|post base|index:20|
[2024/11/09 16:29:43 387272] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write indexed|index:23|
[2024/11/09 16:29:43 387274] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|indexed field line|stable|post base|index:23|
[2024/11/09 16:29:43 387278] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write literal_with_name_ref|index:1|
[2024/11/09 16:29:43 387281] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|literal with name reference|stable|post base|index:1|value:/path/resource|
[2024/11/09 16:29:43 387284] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write literal_name_value|
[2024/11/09 16:29:43 387287] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|literal|name:host|value:guopeisheng.com|
[2024/11/09 16:29:43 387290] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write indexed|index:53|
[2024/11/09 16:29:43 387292] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|indexed field line|stable|post base|index:53|
[2024/11/09 16:29:43 387295] [debug] |scid:c39de8619bf69953|xqc_encoder_write_efs|write literal_with_name_ref|index:4|
[2024/11/09 16:29:43 387297] [headers_encoded] |scid:c39de8619bf69953|xqc_encoder_write_efs|header|literal with name reference|stable|post base|index:4|value:1024000|
[2024/11/09 16:29:43 387301] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 387305] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:6|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |
[2024/11/09 16:29:43 387309] [headers_encoded] |scid:c39de8619bf69953|xqc_h3_stream_write_headers|frame|stream_id:0|length:40|
[2024/11/09 16:29:43 387314] [http_frame_created] |scid:c39de8619bf69953|xqc_h3_stream_write_headers|stream_id:0|type:1|{name::method} {value:POST}|{name::scheme} {value:https}|{name::path} {value:/path/resource}|{name:host} {value:guopeisheng.com}|{name:content-type} {value:text/plain}|{name:content-length} {value:1024000}|
[2024/11/09 16:29:43 387317] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 387320] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:0|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:2|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |
[2024/11/09 16:29:43 387323] [debug] |scid:c39de8619bf69953|xqc_h3_stream_write_headers|send HEADERS frame eagain|stream_id:0|fin:0|
[2024/11/09 16:29:43 387327] [debug] |scid:c39de8619bf69953|xqc_h3_stream_send_headers|write:40|stream_id:0|fin:0|conn:000055C8D1CBCD90|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |
[2024/11/09 16:29:43 387337] [debug] |xqc_engine_main_logic|BEGIN|
[2024/11/09 16:29:43 387340] [debug] |scid:c39de8619bf69953|xqc_engine_process_conn|conn:000055C8D1CBCD90|state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |now:1731140983387340|
[2024/11/09 16:29:43 387347] [debug] |scid:c39de8619bf69953|xqc_conn_next_wakeup_time|wakeup_time:1731140984128171|
[2024/11/09 16:29:43 387351] [debug] |xqc_engine_main_logic|END|
[2024/11/09 16:29:43 387366] [debug] |scid:c39de8619bf69953|xqc_stream_send|blocked by no 0RTT support|
[2024/11/09 16:29:43 387370] [info] |scid:c39de8619bf69953|xqc_stream_send|ret:-610|stream_id:0|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:2|offset:0|fin:0|stream_flag:17|conn:000055C8D1CBCD90|conn_state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |
[2024/11/09 16:29:43 387374] [debug] |scid:c39de8619bf69953|xqc_h3_request_send_body|xqc_h3_stream_send_data eagain|stream_id:0|data_size:1024000|fin:1|
[2024/11/09 16:29:43 387405] [debug] |xqc_engine_main_logic|BEGIN|
[2024/11/09 16:29:43 387412] [debug] |scid:c39de8619bf69953|xqc_engine_process_conn|conn:000055C8D1CBCD90|state:C_INITIAL_SENT|flag:WAIT_WAKEUP TICKING UPPER_CONN_EXIST |now:1731140983387412|
[2024/11/09 16:29:43 387415] [debug] |scid:c39de8619bf69953|xqc_conn_next_wakeup_time|wakeup_time:1731140984128171|
[2024/11/09 16:29:43 387419] [debug] |xqc_engine_main_logic|END|
[2024/11/09 16:29:44 129200] [debug] |xqc_engine_main_logic|BEGIN|
[2024/11/09 16:29:44 129246] [debug] |scid:c39de8619bf69953|xqc_engine_process_conn|conn:000055C8D1CBCD90|state:C_INITIAL_SENT|flag:TICKING UPPER_CONN_EXIST |now:1731140984129244|
[2024/11/09 16:29:44 129252] [debug] |scid:c39de8619bf69953|xqc_timer_expire|timer expired|type:LOSS_DETECTION|expire_time:1731140984128171|now:1731140984129244|
[2024/11/09 16:29:44 129256] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_expire|expired|type:LOSS_DETECTION|expire_time:1731140984128171|
[2024/11/09 16:29:44 129259] [debug] |scid:c39de8619bf69953|xqc_timer_loss_detection_timeout|path:0|loss_detection_timeout|
[2024/11/09 16:29:44 129262] [debug] |scid:c39de8619bf69953|xqc_timer_loss_detection_timeout|send Probe pkts|conn:000055C8D1CBCD90|path:0|bytes_in_flight:1200|
[2024/11/09 16:29:44 129265] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|srtt:250000|rtt_var:125000|pto_duration:750000|backoff_factor:2.00|backoff:1.00|pto_cnt:0|max_ack_delay:25|
[2024/11/09 16:29:44 129269] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 0, unacked: 1200|
[2024/11/09 16:29:44 129272] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 1, unacked: 0|
[2024/11/09 16:29:44 129275] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 2, unacked: 0|
[2024/11/09 16:29:44 129278] [debug] |scid:c39de8619bf69953|xqc_path_send_one_or_two_ack_elicit_pkts|send two ack-eliciting pkts|path:0|pns:0|
[2024/11/09 16:29:44 129283] [debug] |scid:c39de8619bf69953|xqc_path_send_one_or_two_ack_elicit_pkts|conn:000055C8D1CBCD90|path:0|pkt_num:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |conn_state:C_INITIAL_SENT|
[2024/11/09 16:29:44 129290] [debug] |scid:c39de8619bf69953|xqc_path_send_one_or_two_ack_elicit_pkts|conn:000055C8D1CBCD90|path:0|pkt_num:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |conn_state:C_INITIAL_SENT|
[2024/11/09 16:29:44 129294] [debug] |scid:c39de8619bf69953|xqc_timer_loss_detection_timeout|xqc_send_ctl_set_loss_detection_timer|PTO|conn:000055C8D1CBCD90|pto_count:1
[2024/11/09 16:29:44 129297] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|srtt:250000|rtt_var:125000|pto_duration:1500000|backoff_factor:2.00|backoff:2.00|pto_cnt:1|max_ack_delay:25|
[2024/11/09 16:29:44 129301] [debug] |scid:c39de8619bf69953|xqc_timer_set|type:LOSS_DETECTION|expire:1731140985629300|now:1731140984129297|interv:1500003|
[2024/11/09 16:29:44 129304] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_set|set|type:LOSS_DETECTION|expire:1731140985629300|interv:1500003|
[2024/11/09 16:29:44 129318] [debug] |scid:c39de8619bf69953|xqc_send_ctl_set_loss_detection_timer|xqc_timer_set|update|PTO|XQC_TIMER_LOSS_DETECTION|conn:000055C8D1CBCD90|path:0|pns:0|expire:1731140985629300|now:1731140984129297|interval:1500003|pto_count:1|srtt:250000
[2024/11/09 16:29:44 129326] [debug] |scid:c39de8619bf69953|xqc_check_acked_or_dropped_pkt|conn:000055C8D1CBCD90|pkt_num:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |
[2024/11/09 16:29:44 129382] [datagrams_sent] |scid:c39de8619bf69953|xqc_send|size:1216|
[2024/11/09 16:29:44 129391] [info] |scid:c39de8619bf69953|xqc_send_packet_with_pn|<==|conn:000055C8D1CBCD90|path:0|pkt_num:1|size:1200|sent:1216|pkt_type:INIT|frame:PADDING CRYPTO |inflight:0|now:1731140984129339|stream_id:0|stream_offset:0|
[2024/11/09 16:29:44 129395] [packet_sent] |scid:c39de8619bf69953|xqc_send_packet_with_pn|pkt_pns:0|pkt_type:0|pkt_num:1|size:1200|frame_flag:PADDING CRYPTO |
[2024/11/09 16:29:44 129399] [debug] |scid:c39de8619bf69953|xqc_send_ctl_on_packet_sent|conn:000055C8D1CBCD90|path:0|pkt_num:1|origin_pktnum:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |conn_state:C_INITIAL_SENT|po_in_flight:0|
[2024/11/09 16:29:44 129403] [debug] |scid:c39de8619bf69953|xqc_send_ctl_on_packet_sent|path:0|inflight:0|applimit:0|
[2024/11/09 16:29:44 129406] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|srtt:250000|rtt_var:125000|pto_duration:1500000|backoff_factor:2.00|backoff:2.00|pto_cnt:1|max_ack_delay:25|
[2024/11/09 16:29:44 129410] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 0, unacked: 1200|
[2024/11/09 16:29:44 129412] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 1, unacked: 0|
[2024/11/09 16:29:44 129414] [debug] |scid:c39de8619bf69953|xqc_send_ctl_get_pto_time_and_space|conn:000055C8D1CBCD90|path:0|PNS: 2, unacked: 0|
[2024/11/09 16:29:44 129417] [debug] |scid:c39de8619bf69953|xqc_timer_set|type:LOSS_DETECTION|expire:1731140985629339|now:1731140984129406|interv:1499933|
[2024/11/09 16:29:44 129419] [loss_timer_updated] |scid:c39de8619bf69953|xqc_timer_set|set|type:LOSS_DETECTION|expire:1731140985629339|interv:1499933|
[2024/11/09 16:29:44 129423] [debug] |scid:c39de8619bf69953|xqc_send_ctl_set_loss_detection_timer|xqc_timer_set|update|PTO|XQC_TIMER_LOSS_DETECTION|conn:000055C8D1CBCD90|path:0|pns:0|expire:1731140985629339|now:1731140984129406|interval:1499933|pto_count:1|srtt:250000
[2024/11/09 16:29:44 129427] [debug] |scid:c39de8619bf69953|xqc_send_ctl_update_cwnd_limited|path:0|cwnd:45952|inflight:1200|
[2024/11/09 16:29:44 129431] [debug] |scid:c39de8619bf69953|xqc_check_acked_or_dropped_pkt|conn:000055C8D1CBCD90|pkt_num:0|size:1200|pkt_type:INIT|frame:PADDING CRYPTO |
[2024/11/09 16:29:44 129455] [error] |scid:c39de8619bf69953|xqc_send|write_socket error|conn:000055C8D1CBCD90|size:1216|sent:-1|
[2024/11/09 16:29:44 129461] [error] |scid:c39de8619bf69953|xqc_send|conn:000055C8D1CBCD90|socket exception, close connection|
[2024/11/09 16:29:44 129464] [error] |scid:c39de8619bf69953|xqc_send_packet_with_pn|write_socket error|conn:000055C8D1CBCD90|path:0|pkt_num:2|size:1200|sent:-615|pkt_type:INIT|frame:PADDING CRYPTO |now:1731140984129435|
[2024/11/09 16:29:44 129468] [info] |xqc_engine_main_logic|destroy conn from conns_active_pq after sending|conn:000055C8D1CBCD90|addr or cid not avail
[2024/11/09 16:29:44 129475] [report] |scid:c39de8619bf69953|xqc_conn_destroy|000055C8D1CBCD90|has_0rtt:0|0rtt_accept:0|token_ok:-1|handshake_time:0|first_send_delay:9653|conn_persist:751809|keyupdate_cnt:0|err:0x0|close_msg:|addr or cid not avail|hsk_recv:0|close_recv:0|close_send:0|last_recv:0|last_send:751673|mp_enable:0|create:1|validated:1|active:1|path_info:1,0,0,0,0,0,0-2,0-0,0-0,0-250000,0-2400,0-0,0-2,0-0,0-0,0-1,0-0,0-0,0-0,0-0|alpn:
[2024/11/09 16:29:44 129481] [connection_closed] |scid:c39de8619bf69953|xqc_conn_destroy|err_code:0|
[2024/11/09 16:29:44 129484] [debug] |scid:c39de8619bf69953|xqc_destroy_stream|send_state:0|recv_state:0|stream_id:2|stream_type:2|
[2024/11/09 16:29:44 129492] [debug] |scid:c39de8619bf69953|xqc_h3_stream_close_notify|destroy h3 stream success|h3_stream_type:0|stream_id:2|blocked:0
[2024/11/09 16:29:44 129498] [debug] |scid:c39de8619bf69953|xqc_h3_stream_destroy|stream_id:2|h3_stream_type:0|
[2024/11/09 16:29:44 129504] [stats] |scid:c39de8619bf69953|xqc_destroy_stream|err:0x0|close_msg:conn closed|enable_multipath:0|send_state:0|recv_state:0|stream_id:2|stream_type:2|send_bytes:0|read_bytes:0|recv_bytes:0|stream_len:0|create_time:1731140983377993|wrt_delay:0|snd_delay:0|finwrt_delay:0|finsnd_delay:0|finrcv_delay:0|finread_delay:0|all_acked_delay:0|firstfinack_dely:0|close_delay:0|apprst_delay:0|rstsnd_delay:0|rstrcv_delay:0|addr or cid not avail|path_info:mp is not supported in connection scid:c39de8619bf69953|
[2024/11/09 16:29:44 129509] [debug] |scid:c39de8619bf69953|xqc_destroy_stream|send_state:0|recv_state:0|stream_id:6|stream_type:2|
[2024/11/09 16:29:44 129512] [debug] |scid:c39de8619bf69953|xqc_h3_stream_close_notify|destroy h3 stream success|h3_stream_type:2|stream_id:6|blocked:0
[2024/11/09 16:29:44 129515] [debug] |scid:c39de8619bf69953|xqc_h3_stream_destroy|stream_id:6|h3_stream_type:2|
[2024/11/09 16:29:44 129519] [stats] |scid:c39de8619bf69953|xqc_destroy_stream|err:0x0|close_msg:conn closed|enable_multipath:0|send_state:0|recv_state:0|stream_id:6|stream_type:2|send_bytes:0|read_bytes:0|recv_bytes:0|stream_len:0|create_time:1731140983378035|wrt_delay:0|snd_delay:0|finwrt_delay:0|finsnd_delay:0|finrcv_delay:0|finread_delay:0|all_acked_delay:0|firstfinack_dely:0|close_delay:0|apprst_delay:0|rstsnd_delay:0|rstrcv_delay:0|addr or cid not avail|path_info:mp is not supported in connection scid:c39de8619bf69953|
[2024/11/09 16:29:44 129523] [debug] |scid:c39de8619bf69953|xqc_destroy_stream|send_state:0|recv_state:0|stream_id:10|stream_type:2|
[2024/11/09 16:29:44 129526] [debug] |scid:c39de8619bf69953|xqc_h3_stream_close_notify|destroy h3 stream success|h3_stream_type:3|stream_id:10|blocked:0
[2024/11/09 16:29:44 129529] [debug] |scid:c39de8619bf69953|xqc_h3_stream_destroy|stream_id:10|h3_stream_type:3|
[2024/11/09 16:29:44 129532] [stats] |scid:c39de8619bf69953|xqc_destroy_stream|err:0x0|close_msg:conn closed|enable_multipath:0|send_state:0|recv_state:0|stream_id:10|stream_type:2|send_bytes:0|read_bytes:0|recv_bytes:0|stream_len:0|create_time:1731140983378067|wrt_delay:0|snd_delay:0|finwrt_delay:0|finsnd_delay:0|finrcv_delay:0|finread_delay:0|all_acked_delay:0|firstfinack_dely:0|close_delay:0|apprst_delay:0|rstsnd_delay:0|rstrcv_delay:0|addr or cid not avail|path_info:mp is not supported in connection scid:c39de8619bf69953|
[2024/11/09 16:29:44 129536] [debug] |scid:c39de8619bf69953|xqc_destroy_stream|send_state:0|recv_state:0|stream_id:0|stream_type:0|
[2024/11/09 16:29:44 129540] [debug] |scid:c39de8619bf69953|xqc_h3_stream_close_notify|destroy h3 stream success|h3_stream_type:16|stream_id:0|blocked:0
[2024/11/09 16:29:44 129545] [report] |scid:c39de8619bf69953|xqc_h3_request_destroy|stream_id:0|close_msg:conn closed|err:0|rcvd_bdy_sz:0|snd_bdy_sz:0|rcvd_hdr_sz:0|snd_hdr_sz:104|create:1731140983378282|blkd:0|nblkd:0|hdr_b:0|hdr_e:0|bdy_b:0|fin:0|recv_end:0|hrd_send:9072|bdy_send:0|fin_send:0|fin_ack:0|last_send:751057|last_recv:0|mp_state:0|path_info:|
[2024/11/09 16:29:44 129633] [debug] |scid:c39de8619bf69953|xqc_h3_stream_destroy|stream_id:0|h3_stream_type:16|
[2024/11/09 16:29:44 129642] [stats] |scid:c39de8619bf69953|xqc_destroy_stream|err:0x0|close_msg:conn closed|enable_multipath:0|send_state:0|recv_state:0|stream_id:0|stream_type:0|send_bytes:0|read_bytes:0|recv_bytes:0|stream_len:0|create_time:1731140983378275|wrt_delay:0|snd_delay:0|finwrt_delay:0|finsnd_delay:0|finrcv_delay:0|finread_delay:0|all_acked_delay:0|firstfinack_dely:0|close_delay:0|apprst_delay:0|rstsnd_delay:0|rstrcv_delay:0|addr or cid not avail|path_info:mp is not supported in connection scid:c39de8619bf69953|
[2024/11/09 16:29:44 129679] [debug] |scid:c39de8619bf69953|xqc_h3_conn_destroy|success|
[2024/11/09 16:29:44 129688] [debug] |scid:c39de8619bf69953|xqc_h3_conn_close_notify|destroy h3 conn success|
[2024/11/09 16:29:44 129699] [debug] |scid:c39de8619bf69953|xqc_send_ctl_destroy|destroy|
[2024/11/09 16:29:44 129703] [debug] |scid:c39de8619bf69953|xqc_destroy_crypto_stream|destroy crypto stream|encrypt_level:0|cur_state:CLOSED|
[2024/11/09 16:29:44 129727] [debug] |xqc_engine_main_logic|END|
[2024/11/09 16:29:44 129737] [debug] |xqc_engine_destroy|begin|

tengine 没有日志输出。
usr/local/tengine/sbin/tengine -V  输出结果是
Tengine version: Tengine/3.1.0
nginx version: nginx/1.24.0
built by gcc 8.3.0 (Debian 8.3.0-6)
built with OpenSSL 1.1.1h  22 Sep 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/local/tengine --sbin-path=sbin/tengine --with-xquic-inc=/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/include --with-xquic-lib=/home/guopeisheng/workbench/QuicBBR/xquic-1.6.0/build --with-http_v2_module --without-http_rewrite_module --add-module=modules/ngx_http_xquic_module --with-openssl=/home/guopeisheng/workbench/QuicBBR/Tongsuo-8.3.2

usr/local/tengine/sbin/tengine -t  输出结果
nginx: the configuration file /usr/local/tengine/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/tengine/conf/nginx.conf test is successfu

令人疑惑的是 /usr/local/tengine/conf/nginx.conf 貌似并不是我最开始设置的nginx.conf

更正一下，TLS 1.3 Early Data 是后来Enabled，一开始只Enable QUIC，但两种情况下浏览器都无法访问tengine中对应quic的端口。
tengine服务器和浏览器程序处于同一局域网下。

已经解决，问题在于我改了git clone下载目录中的nginx.conf，而不是/usr/local/tengine/conf/nginx.conf ，配置压根没更新。

已解决

repo: alibaba/tengine


text:
weex-ui 怎么ｎｐｍ　ｐｕｂｌｉｓｈ发布的，当前代码需要改什么

Try to search for your issue, it may have already been answered or even fixed in the development branch.
在开 issue 前，可以先搜索以下以往的旧 issue，你遇到的问题可能已经有人提了，也可能已经在最新版本中被修正。
开源项目的用户和维护者之间并不是甲方和乙方的关系，issue 也不是客服。
在开 issue 的时候，请抱着一种『一起合作来解决这个问题』的心态，同时请尽可能描述清楚，这样效率才会高。
Remember to delete the above statement before committing.
同时建议使用英语进行描述，这样国外的开发者也可以看懂，提交之前，记得将上述说明删除!!。
1.Your development environment（weex、weex-toolkit、system and more).

2.Expected behavior and actual behavior.

3.Steps to reproduce the problem.

不需要改什么，npm publish 需要weex-ui 库的npm 权限就好

repo: alibaba/weex-ui


text:
extend backup&account&parameter

terraform-alicloud-polardb-postgresql supports the configuration of accounts, parameters, level-1 backup and level-2 backup

#example运行成功

#成功创建PolarDB-PG 实例

#新增一个RO

#开启ssl

#开启ssl


text:
Cannot apply inactive configuration

Tried deploying with the inactive configuration as described but get an error from AWS tools on verification:
[environment:production-a-0000000] 'MyApp-production-inactive.elasticbeanstalk.com' now points to 'awseb-some-elb-id.us-east-1.elb.amazonaws.com'.
[environment:production-a-0000000] Completed swapping CNAMEs for environments 'production-b-1111111' and 'production-a-0000000'.
[environment:production-a-0000000] applying inactive settings...
[environment:production-a-0000000] Environment status: Ready
rake aborted!
Aws::ElasticBeanstalk::Errors::ConfigurationValidationException: Configuration validation exception: Invalid option value: '0' (Namespace: 'aws:autoscaling:updatepolicy:rollingupdate', OptionName: 'MaxBatchSize'): Value is less than minimum allowed value: 1

Used the inactive settings as prescribed in my eb.yml:
inactive:
  aws:autoscaling:asg:
    MinSize: 0
    Cooldown: 900

Is there a configuration missing?  Should the inactive block also take a MaxSize setting?

You need to check eb deployer's docs on this,  we merely pass through the settings.

Thanks.  I read eb deployer's docs which mimics this here.   I'll play around with this and see if we can really get this down to no instances in the ELB.
Thanks for this component btw! Life saver.

If you figure this out, please feel free to add a wiki page.

Ok, finally got to working on this.  Turns out my default config for all env deployments had rolling updates enabled.  In that case, it is invalid to set MaxSize and MinSize to zero.  I explicit disable rolling updates and this works.
This should be updated in the main README since it is documented there.  Here's my inactive section that works for my deployment:
inactive:
  aws:autoscaling:asg:
    MinSize: 0
    MaxSize: 0
    Cooldown: 900
  aws:autoscaling:updatepolicy:rollingupdate:
    RollingUpdateEnabled: false

please PR any docs/example changes

See: #40

authors: onomated rosskevin

repo: alienfast/elastic-beanstalk


text:
Word Search Game

In this script, will create a Word Search Game,
In this game there will be no. of levels and for each level there will be given a board in form of matrix, in which each cell will have an English alphabet and a word will be given.
for each level the player need to select either YES (means word is present in that board) or NO (if not present),
Also in board, the word can be in ant order, like horizontally, vertically, or in any diagonal
That word can be present in reverse order also.

@aliya-rahmani can i work on this issue under hacktoberfest?

@akash435  Sure, I've assigned you this issue

repo: aliya-rahmani/Hacktoberfest-Projects


text:
关于php 回调例子 curl失效

https://help.aliyun.com/document_detail/31989.html?spm=5176.doc31989.6.879.lzgUq4
这里的php回调因为地址改为https

您好，多谢反馈。请详细描述一下问题？

repo: aliyun/aliyun-oss-php-sdk


text:
硬改版本，不建议合并，有短期需求的自取。

修复部分因为Postgres jsonb为空导致的segmentation fault
增加对于Postgres命令的配置文件和线程数的命令行参数支持
跳过copy_table_data复制报错，因为源库可以用权限来限制要同步的表
增加自动清理同步临时表，仅保留最近1000条
跳过因为未知原因导致的SQL为空的问题
跳过因为未知原因导致不该有的增量的INSERT报错

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 All committers have signed the CLA.

感谢你的贡献。

authors: CLAassistant claassistantio dlsimple wjzeng


text:
compile a 32-bit LSB executable on arm and Execution error-> panic: unaligned 64-bit atomic operation

What is the issue you are having?
panic: unaligned 64-bit atomic operation
goroutine 1 [running]:
runtime/internal/atomic.panicUnaligned()
        C:/GoSDK/src/runtime/internal/atomic/unaligned.go:8 +0x24
runtime/internal/atomic.Xadd64(0x13571684, 0x1)
        C:/GoSDK/src/runtime/internal/atomic/atomic_arm.s:258 +0x14
github.com/allegro/bigcache/v3.(*cacheShard).hit(0x13571600, 0x5819c5d75cbda787)
        C:/Users/Joker/go/pkg/mod/github.com/allegro/bigcache/v3@v3.1.0/shard.go:403 +0x34
github.com/allegro/bigcache/v3.(*cacheShard).get(0x13571600, {0x214747, 0x4}, 0x5819c5d75cbda787)
        C:/Users/Joker/go/pkg/mod/github.com/allegro/bigcache/v3@v3.1.0/shard.go:79 +0x3d0
github.com/allegro/bigcache/v3.(*BigCache).Get(0x2498980, {0x214747, 0x4})
        C:/Users/Joker/go/pkg/mod/github.com/allegro/bigcache/v3@v3.1.0/bigcache.go:136 +0x8c

On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange for 64-bit alignment of 64-bit words accessed atomically via the primitive atomic functions (types Int64 and Uint64 are automatically aligned). The first word in an allocated struct, array, or slice; in a global variable; or in a local variable (because the subject of all atomic operations will escape to the heap) can be relied upon to be 64-bit aligned.

https://pkg.go.dev/sync/atomic#pkg-notes
So maybe we should switch to atomic.Int64 from int64

I see 3 options:

move stats to the top of struct https://github.com/allegro/bigcache/blob/caa34156bfeab3aa547e18c21292736bbd2ae2c2/shard.go#L32
use atomic.Int64
instead of atomic use lock (that's already there) https://github.com/allegro/bigcache/blob/main/shard.go#L403-L406

@912929782 How to reproduce this issue? Does it happen with go test ./... we probably need to extend our CI with non x86 arch https://github.com/marketplace/actions/run-on-architecture

I expect this problem to occur on x86 systems as well

Forget to say, I am in the library: https://github.com/jpillora/overseer  to use bigcache operation, result in  this error. @janisz

We need to reproduce it, best in CI. Maybe we can use qemu for that :thinking:

repo: allegro/bigcache


text:
Get marker info on drag end.

Hi!
Is possible get the marker´s information when I finish drag?
My code:
Html
<map center="{{center.lat}},{{center.lon}}"
      zoom="15"
      disable-double-click-zoom="true">
        <marker ng-repeat="info in information"
        position="{{info.lat}}, {{info.lon}}"
        on-click="showInfoWindow(event, info)"
        animation="DROP" draggable="true"
        on-dragend="onDragEnd($event,info)"
        icon="./assets/svg/mark.svg"></marker>
</map>

Javascript
$scope.onDragEnd = function($event,info) {
       console.log($event); // Here I get the latLng
       console.log(info); // undefined
   };

Yes, try this with plunker, and provide me the plunker example if it does not work

$scope.onDragEnd = function($event) {
console.log($event); // event
console.log(this.info); // marker
};

this was helpful for me, thaks

This might be totally off to this issue but how do I access $scope variables inside callback functions. In this case onDragEnd. Is this because callbacks run outside the scope of angular?

authors: allenhwkim niyando rodzod shotoreaper

repo: allenhwkim/angularjs-google-maps


text:
'current-position' not working on windows firefox

I have a problem getting the current location of the user, simply open the following example on windows 7 firefox and allow the location lookup, it will take you to  geo-fallback-center="[40.74, -74.18]"
https://ngmap.github.io/#/map_with_current_position.html

This is probably related (only happens in firefox), i have a problem when loading the map with 'current-position' as the center. It fails if the user accepts location lookup and also if he denies it. The problem is I cant read the current position value.
replicate:
Initialize map:

2 functions to read the current location.
First one is if the map is ready and user denies access, when i try to read the map center location there is nothing.
NgMap.getMap().then(function(initializedMap) {
if(initializedMap.getCenter()){
scope.emitLocation();
}
});
Second one is if user accepts location access, when the location is complete the callback function is never called.
scope.initLocation = function(){
NgMap.getMap().then(function(initializedMap) {
focusMarker(initializedMap);
scope.emitLocation();
});
};

It looks like a browser and OS issue. I don't know I can do something about it.
I will leave it as it is, and investigate it later when I have windows machine.

I think it might be related to only the specific environment. I've tested with Firefox 43.0.2 on Windows 8.1 Pro and worked fine.

THANKS @david-lee closing. It will be reopened when the same issue happens by other.

I can confirm this is a problem for me too, but it is because Mozilla hasn't implemented Geolocation in a standards compliant way.
https://bugzilla.mozilla.org/show_bug.cgi?id=675533#c138
In Firefox, you must accept the geolocation request, or say "Never". Ignoring it or saying "Not Now" will cause an ngMap map to never load if relying on current-position for its center.

authors: allenhwkim danaronoff david-lee minipolis