Spark incorrectly decodes params from the url path

We have a controller that serves package files. Some rpms use + signs in their versions, e.g.: libgomp1-5.2.1+r226025-4.1.ppc64le.rpm.
Our router looks like this:
// Download endpoint
get("/manager/download/:channel/getPackage/:file",
    DownloadController::downloadPackage);
get("/manager/download/:channel/repodata/:file",
    DownloadController::downloadMetadata);

When doing  a request like:
GET /rhn/manager/download/sles12-sp1-pool-ppc64le/getPackage/libgomp1-5.2.1+r226025-4.1.ppc64le.rpm?eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0OTAxODA5NTgsImlhdCI6MTQ1ODY1Mzk1OCwibmJmIjoxNDU4NjUzODM4LCJvcmciOjExImp0aSI6InpqODd1RE1UTm5OUHNQUm5BQW5HTGcifQ.u42yvUR5r2tx4Pxy2EQpyzc5HX4sw78is1-H7H3e7xM

We realized Spark decodes the path, and they arrive to the parameter map incorrectly, with + replaced as   (spaces). so that:
String channel = request.params(":channel");
String filename = request.params(":file");

request.params(":file") has getPackage/libgomp1-5.2.1 r226025-4.1.ppc64le.rpm
The culprit line is:
https://github.com/perwendel/spark/blob/master/src/main/java/spark/servlet/FilterTools.java#L55
We can workaround it doing the parsing of params again ourselves in the controller, luckily, request.url() is fine.

Are you saying there's a bug in java.net.URLDecoder, or that Spark is using it wrong?
Does it work if you properly encode your GET, using %2B instead of +?

I am saying that Spark is using it wrong. + in the path should be treated literally. '+' is a special character in the query component.
The program doing the download is not encoding it. Nor does curl.

This is not a bug in Spark. Nor it is a problem with java.net.URLDecoder. According to RFC-3986 + is a sub delimiter and thus a reserved character. The character should be escaped in URL's. This is therefore a client side problem, and not related to Spark in any way.

@JWGmeligMeyling it's not that simple.
First some observations java.net.URLDecoder decodes + into space.
This is the + encoding defined for application/x-www-form-urlencoded  source. It's based on the URI percent encoding but adds modifications like the + to space one. Therefore its not meant for decoding a URI. The Java Doc of URLDecoder even says that its for HTML Form / application/x-www-form-urlencoded decoding.
Secondly URLDecoder seems to be inconsistently used anyway since Request#uri() gives the decoded result while Request#url() still has the undecoded result.
As for encoding + in a URL: (From linked RFC)
sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="

source
path          = path-abempty    ; begins with "/" or is empty
                    / path-absolute   ; begins with "/" but not "//"
                    / path-noscheme   ; begins with a non-colon segment
                    / path-rootless   ; begins with a segment
                    / path-empty      ; zero characters

path-abempty  = *( "/" segment )
path-absolute = "/" [ segment-nz *( "/" segment ) ]
path-noscheme = segment-nz-nc *( "/" segment )
path-rootless = segment-nz *( "/" segment )
path-empty    = 0<pchar>
segment       = *pchar
segment-nz    = 1*pchar
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
                    ; non-zero-length segment without any colon ":"

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

source
This shows that sub-delims (and therefore +) can be used unencoded inside the path component of the URI by using it with its special meaning as delimiter. Since URLDecoder changes all instances of + special meaning or not, this should already be enough to prove that URLDecoder does not do the right thing here.
Now the part that makes me believe that + can also be used unencoded as data in the path under certain conditions.

URIs include components and subcomponents that are delimited by
characters in the "reserved" set.  These characters are called
"reserved" because they may (or may not) be defined as delimiters by
the generic syntax, by each scheme-specific syntax, or by the
implementation-specific syntax of a URI's dereferencing algorithm.
source

So sub-delims do not have any special meaning unless specified by one of:

generic syntax
scheme-specific syntax
implementation-specific syntax of a URI's dereferencing algorithm (to be honest i don't understand this part so i will overlook this for now)

The generic syntax being the one defined in this RFC where we already saw that the path component does not specify special meaning to + but simply includes it as one of the allowed segment characters.
The scheme specific syntax in this case would be for http[s].

The definitions of "URI-reference", "absolute-URI", "relative-part",
"scheme", "authority", "port", "host", "path-abempty", "segment",
"query", and "fragment" are adopted from the URI generic syntax.  An
"absolute-path" rule is defined for protocol elements that can
contain a non-empty path component.  (This rule differs slightly from
the path-abempty rule of RFC 3986, which allows for an empty path to
be used in references, and path-absolute rule, which does not allow
paths that begin with "//".)  A "partial-URI" rule is defined for
protocol elements that can contain a relative URI but not a fragment
component.
source

So the http[s] scheme adopts largely the URI generic syntax and does not seem to assign + and special meaning in the context of the path component or as delimiter of components.
Lastly following three parts of the RFC suggest that only if a character is outside the allowed charset (which + is not see path grammar above) or if it has a reserved purpose as delimiter (which + is neither defined as component delimiter nor as subcomponent delimiter in the context of the path component). So since + does not have any special purpose in the path context is can safely be used as data without percent encoding.

If data for a URI component would conflict with a reserved
character's purpose as a delimiter, then the conflicting data must be
percent-encoded before the URI is formed.
source

A percent-encoding mechanism is used to represent a data octet in a
component when that octet's corresponding character is outside the
allowed set or is being used as a delimiter of, or within, the
component.
source

If a reserved character is found in a URI component and
no delimiting role is known for that character, then it must be
interpreted as representing the data octet corresponding to that
character's encoding in US-ASCII.
source

Additional resources supporting this observation.
https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
http://stackoverflow.com/a/2678602/166041
http://stackoverflow.com/a/1006074/166041

@dmacvicar Would you like to create a PR for this?

@tipsy https://github.com/perwendel/spark/issues/490


feat: Integrate design tokens into Tailwind configuration

Why need this change? / Root cause:
Integrate designer-provided design tokens into the project's Tailwind config for easier future development

close : https://github.com/thementorship-tw/thementorship.tw/issues/4
token from designer : Notion

Demo
Demo is on HomePage now
https://github.com/user-attachments/assets/d49971a2-db43-4cd3-b267-cb99b51471a5
Changes made:

token.json

I used the Token Studio Figma plugin to generate this JSON structure.
If you want to check it out, you can create a new Figma file and install the plugin there. This way, we won't mess with the designer's current work.

https://github.com/user-attachments/assets/22c29929-f593-44a3-8e25-91c5d504d681

transferTokenToTailwindStyles.ts & tailwind.config.ts

Transform JSON data into a Tailwind CSS configuration format
see  https://tailwindcss.com/docs/configuration

Test Scope / Change impact:
Tailwind Config Usage Guide

Breakpoints

Class Prefix
Min-Width
Description

--
0
phone

md:
600px
tablet

lg:
840px
desktop  (lg)

xl:
1280px
desktop (xl)

Typography

Use text-{class} for headings and body styles:

Headings: text-h1 to text-h6
Subtitles: text-subtitle-{lg|md}.
Body text: text-body-{lg|md|sm}.

Font Size

Use text-{size} for various font sizes:
ex: text-1 to text-9.

Font Weight

Use font-{weight} to apply different font weights:
ex: font-bold, font-medium, font-regular, font-light.

Line Height

Use leading-{number} for line height:
ex: leading-1 to leading-11.

Spacing

it is a number to define spacing:
ex: pl-{number} for horizontal padding.

Border Radius

Use rounded-{style} for border radius:
ex: rounded-1 to rounded-4.

Box Shadow

Use shadow-{type} for different shadow effects:
ex: shadow-action, shadow-fixed, shadow-raise, shadow-overlay.

TODO

iconSize : We need to confirm the source of our icon and the way to use it

For the folder name, I prefer design-system instead of  using camel case designSystem.
My thought is that I've seen more best practices using kebab-case in the past. Additionally, components are usually named in PascalCase (e.g., ProfileCard). I feel that using kebab-case might better distinguish it from components.
What are your opinions ?

I think using kebab-case for naming design system folder is a good choice.
I also tend to use PascalCase for naming components,
so this approach does make it easier to distinguish between them.
10d5f5f

I think the integration is very great, I learn a lot from it, thanks!
But I have an idea, from my perspective, the demo page is a very good material, but we might need to remove it when we start to develop the main page.
How about we can create a page under a folder call dev-only, and use the nextjs middleware to restrict that only in dev mode can we see that page, otherwise it will be redirect to main page. Here is the example code for the middleware
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'

export const config = {
  matcher: '/dev-only/:path*'
}

export function middleware(request: NextRequest) {
    // Block access if not in development
    if (process.env.NODE_ENV !== 'development') {
      return NextResponse.redirect(new URL('/', request.url))
    }

  return NextResponse.next()
}

Want to know your opinion or concern @ChengYiLin @gongtzuuuu

Indeed, the current Demo Page will be removed soon.
Creating a dev-only folder to preserve it seems like a good option for now 👍

Actually, I’ve been considering whether we should install Storybook into the project to assist us in development 🤔

On one hand, it’s truly dev-only and wouldn’t interfere with our Next.js architecture
On the other hand, in the future, we might start developing some foundational components like Button, Input, or Dialog to ensure consistency within the project. Even though we don’t have a complete Design System, I believe Storybook could be a great tool to help us review and develop these components.

If everyone thinks it’s a good idea, we can create an issue to discuss the installation of Storybook separately.
For now, I think setting up a dev-only folder would work well.
BTW, I found a Vercel Conf talk about “Building a Design System in Next.js with Tailwind”.
It might be a good reference for us~

Indeed, the current Demo Page will be removed soon. Creating a dev-only folder to preserve it seems like a good option for now 👍
Actually, I’ve been considering whether we should install Storybook into the project to assist us in development 🤔

On one hand, it’s truly dev-only and wouldn’t interfere with our Next.js architecture
On the other hand, in the future, we might start developing some foundational components like Button, Input, or Dialog to ensure consistency within the project. Even though we don’t have a complete Design System, I believe Storybook could be a great tool to help us review and develop these components.

If everyone thinks it’s a good idea, we can create an issue to discuss the installation of Storybook separately. For now, I think setting up a dev-only folder would work well. BTW, I found a Vercel Conf talk about “Building a Design System in Next.js with Tailwind”. It might be a good reference for us~

Thanks for the sharing, we could definitely consider integrate storybook because not only the 7th will maintain this website, we hope that the website can be passed to several following mentorship programs ! Maybe we can discuss it after the 1st stage, since if we integrate now, it might slow down our development process for 1st milestone.

f37306c
The middleware.ts has been added to handle redirection,
and the Tailwind demo page has been moved to /dev-only/tailwind-demo ~


RDP tunnel through ssh

Hi! based on this article i want to do something like this using python proxy (because plink is a disaster and i am looking for a neater way to accomplish this):
plink -v -N -T -C -noagent -ssh -R 31337:<IP_ADDRESS>:3389 -pw "[SSH_PASSWORD]" -2 -4 -D [PROXY_SERVER]:[PROXY_PORT] root@[SSH_SERVER]

basically I want to do a remote mapping of my RDP port to a random port (31337) on the SSH server but to bypass firewall I also have to use a proxy to achieve this matter (for the proxy I am already using a solution and it is not my case here), is it possible to replace plink with python proxy in this scenario?
Cheers!

It is possible with pproxy, but with multiple commands.
On the client:
pproxy -l tunnel+in://<IP_ADDRESS>:1234 -r tunnel://<IP_ADDRESS>:3389
pproxy -l tunnel://:1234 -r ssh://remote_ssh#user::ssh_key_file__tunnel://localhost:1234

On the SSH server:
pproxy -l tunnel://<IP_ADDRESS>:31337 -r tunnel+in://<IP_ADDRESS>:1234

The latest pproxy v2.6.3 can use following command:
On the client:
pproxy -l ssh://remote_ssh#user::key__tunnel://<IP_ADDRESS>:12345 -r tunnel://<IP_ADDRESS>:3389

@qwj working like a charm.. 🥇
Cheers!


[SUGGESTION] Crown of Chaos

The Crown of Chaos should not give a luck effect, but a luck attribute so that you can, for example, drink a luck potion, or otherwise get a luck effect and it's luck will add up.

That's a fair point, would require a lot of changes when it comes to how Withered Wabbajack handles dice rolls with luck though, but I suppose that code needs a rework either way.


ref(router): Run as a non-root user

Fixes #120
This wasn't easy.  Running router as a non-privileged user means router can't su to start Nginx as a second unprivileged user nginx.  The solution is to move everything-- all files and processes under a new router user.  This works great except for a limitation that unprivileged users cannot bind to low-numbered/privileged ports like 80 and 443.  That's where setcap comes in.

Nicely done--setcap FTW. :+1:

@arschles your feedback has been applied.


中文的文档打不来了

This isn't a Puppeteer bug; we don't control the CORS headers on GitHub so can't help I'm afraid.


Issue194 fixed

This PR fix the issue #194
For this I proposed a new plot option to control axis size called AxisEqual
code to test:
close all, clc
X = [1 3 0.5 2.5 2];
pie(X)
fig2plotly(gcf, 'offline', 0, 'AxisEqual', true);

Using before code results are as bellow

If 'AxisEqual' is not set or is set to false then the result is as bellow

Colors and proportions are good but not getting numbers of percents aside pie

Colors and proportions are good but not getting numbers of percents aside pie

@VolKa79 please make sure following changes are set in the plotlyfig.m file you use

Yes, done these updates.

Can be the reason that I am running in offline mode ?
close all, clc
X = [1 3 0.5 2.5 2];
pie(X)
fig2plotly(gcf, 'offline', true, 'AxisEqual', true);

Yes, done these updates.

Can be the reason that I am running in offline mode ?
close all, clc
X = [1 3 0.5 2.5 2];
pie(X)
fig2plotly(gcf, 'offline', true, 'AxisEqual', true);

Nou. Reason is you not update the line #684. Look at the screenshot I shared with you.
I imagen you had some conflict and when you solve it that line was missed

Yes, it works now
sorry for inattention

Yes, it works now
sorry for inattention

Don't worry my friend. Very glad that it works


terraform plugin requires wrong attribute for VPC based transfer server

Installation details
IntelliJ IDEA 2021.1.1 (Community Edition)
Build #IC-211.7142.45, built on April 30, 2021
Runtime version: 11.0.10+9-b1341.41 amd64
VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o.
Linux 5.11.19-200.fc33.x86_64
GC: ParNew, ConcurrentMarkSweep
Memory: 1927M
Cores: 16
Non-Bundled Plugins: com.carbonblack.intellij.rpmspec (1.2.0), org.intellij.plugins.hcl (0.7.10), org.jetbrains.kotlin (211-1.5.0-release-759-IJ6693.72), PythonCore (211.7142.45)
Kotlin: 211-1.5.0-release-759-IJ6693.72
Current Desktop: GNOME
Terraform v0.15.1
Terraform Configuration Files
resource "aws_transfer_server" "name" {
 endpoint_type = "VPC"
 identity_provider_type = "SERVICE_MANAGED"
 endpoint_details {}

Expected Behavior
The plugin should not require vpc_endpoint_id inside of endpoint_details
Actual Behavior
The plugin expects vpc_endpoint_id to be inside of endpoint_details{}, but that was used for the depricated VPC_ENDPOINT type.
https://docs.aws.amazon.com/transfer/latest/userguide/API_EndpointDetails.html

Fixed in 0.7.11


SIM-Improve logging messages during transaction execution workflow

Any chance I could have a little more details on this please?

This is a duplicate of #436


the font is Garbled.

System information:

Win10 2004
DBeaver 7.2.3

Describe your question:
No matter how I change the font and themes, the font in the dialog  is still garbled like this.

Please try to switch the view to classic mode.

Please try to switch the view to classic mode.

Thanks ,it works.
Another question,

close this issue as solved.
If you have any other questions - please create a new ticket.


[Bug] ERROR: value too long for type character varying(200) Call getNextException to see other errors in the batch.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache SkyWalking Component
OAP server (apache/skywalking)
What happened
java.sql.BatchUpdateException: Batch entry 2 INSERT INTO events_20240621(id,table_name,uuid,service,service_instance,endpoint,name,type,message,parameters,start_time,end_time,layer,time_bucket) VALUES (('83e1d795-db7c-4f6c-8bf8-28faa50d5ec2'),('events'),('83e1d795-db7c-4f6c-8bf8-28faa50d5ec2'),('test::m-operation-center|uat|'),(''),('cn.classtree.component.ai.api.service.AiService.text2text(String,Text2TextType)'),('Alarm'),('Error'),('Response time of endpoint relation cn.classtree.component.ai.api.service.AiService.text2text(String,Text2TextType) in test::m-operation-center|uat| to RocketMQ/TEXT_TO_TEXTINTERNAL/Consumer in test::m-operation-center|uat| is more than 1000ms in 2 minutes of last 10 minutes'),(NULL),('1718937382705'::int8),('1718937982705'::int8),('2'::int4),('202406211036'::int8)) was aborted: ERROR: value too long for type character varying(200) Call getNextException to see other errors in the batch.
at org.postgresql.jdbc.BatchResultHandler.handleCompletion(BatchResultHandler.java:186) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:571) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:893) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:916) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1684) ~[postgresql-42.4.4.jar:42.4.4]
at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128) ~[HikariCP-3.1.0.jar:?]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) ~[HikariCP-3.1.0.jar:?]
at org.apache.skywalking.oap.server.storage.plugin.jdbc.BatchSQLExecutor.executeBatch(BatchSQLExecutor.java:85) ~[storage-jdbc-hikaricp-plugin-10.0.1.jar:10.0.1]
at org.apache.skywalking.oap.server.storage.plugin.jdbc.BatchSQLExecutor.invoke(BatchSQLExecutor.java:74) ~[storage-jdbc-hikaricp-plugin-10.0.1.jar:10.0.1]
at org.apache.skywalking.oap.server.storage.plugin.jdbc.common.dao.JDBCBatchDAO.lambda$flush$1(JDBCBatchDAO.java:78) ~[storage-jdbc-hikaricp-plugin-10.0.1.jar:10.0.1]
at java.util.HashMap.forEach(HashMap.java:1421) ~[?:?]
at org.apache.skywalking.oap.server.storage.plugin.jdbc.common.dao.JDBCBatchDAO.flush(JDBCBatchDAO.java:75) ~[storage-jdbc-hikaricp-plugin-10.0.1.jar:10.0.1]
at org.apache.skywalking.oap.server.core.storage.PersistenceTimer.lambda$extractDataAndSave$3(PersistenceTimer.java:135) ~[server-core-10.0.1.jar:10.0.1]
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(200)
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366) ~[postgresql-42.4.4.jar:42.4.4]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:560) ~[postgresql-42.4.4.jar:42.4.4]
... 15 more
What you expected to happen
the column 'message' of table event_xxxx only varchar200
How to reproduce
when message insert into table event as below
Response time of endpoint relation POST:/databoard/sets/v2/save_config in test::x-big-data|uat| to cn.mashang.terminal.modules.vscreen.IVScreenOpenService.freshBigData(Long,String) in test::m-terminal-center|uat| is more than 1000ms in 2 minutes of last 10 minutes
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

As you have the data, could you verify which column length is not enough? And what are your data?

As you have the data, could you verify which column length is not enough? And what are your data?

org.apache.skywalking.oap.server.core.analysis.metrics.Event.message
modify as below
@Column(name = MESSAGE, length = 2000)

$ git push
ERROR: Permission to apache/skywalking.git denied to friendlytkyj.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
how to push code ?
I am the first to fix issue

You need to propose change by fork, change and through pull request.
We don't accept direct change from anyone, including maintainers.
Furthermore, I need your explanation about the data and why they are so long.

when i debug the source code, the @column field length is default 200, need change to 1000 or 2000.
you can read jvm args 、 system property or environment virable to set column length , perfect!

Your pull request is closed, as you didn't send it to the master branch.


./configure failure on linux x86_64

Similar to #55 but not the same. No warnings about not finding submodules, but looks like bin/rustpkg is missing with the upstream versions, or something.
 ➢$ ./configure
»»» Configuring Q³
»»» WARNING: This project is not actively under development
»»» WARNING: This script will build an old Rust version to run Q³
»»» Platform: Linux
»»» Build directory: /home/blake/src/q3/build
»»» Source directory: /home/blake/src/q3
»»» Updating submodules
Submodule 'lib/gl-rs' (https://github.com/bjz/gl-rs.git) registered for path 'lib/gl-rs'
Submodule 'lib/glfw' (git://github.com/glfw/glfw.git) registered for path 'lib/glfw'
Submodule 'lib/glfw-rs' (https://github.com/bjz/glfw-rs.git) registered for path 'lib/glfw-rs'
Submodule 'lib/ncurses-rs' (git://github.com/jeaye/ncurses-rs.git) registered for path 'lib/ncurses-rs'
Submodule 'lib/rust' (https://github.com/mozilla/rust.git) registered for path 'lib/rust'
Submodule 'lib/rust-opengles' (https://github.com/mozilla-servo/rust-opengles.git) registered for path 'lib/rust-opengles'
Submodule 'lib/stb-image' (https://github.com/mozilla-servo/rust-stb-image.git) registered for path 'lib/stb-image'
Cloning into '/home/blake/src/q3/lib/gl-rs'...
Cloning into '/home/blake/src/q3/lib/glfw'...
Cloning into '/home/blake/src/q3/lib/glfw-rs'...
Cloning into '/home/blake/src/q3/lib/ncurses-rs'...
Cloning into '/home/blake/src/q3/lib/rust'...
Cloning into '/home/blake/src/q3/lib/rust-opengles'...
Cloning into '/home/blake/src/q3/lib/stb-image'...
Submodule 'src/gyp' (https://github.com/brson/gyp.git) registered for path 'lib/rust/src/gyp'
Submodule 'src/libuv' (https://github.com/alexcrichton/libuv.git) registered for path 'lib/rust/src/libuv'
Submodule 'src/llvm' (https://github.com/alexcrichton/llvm.git) registered for path 'lib/rust/src/llvm'
Cloning into '/home/blake/src/q3/lib/rust/src/gyp'...
Cloning into '/home/blake/src/q3/lib/rust/src/libuv'...
Cloning into '/home/blake/src/q3/lib/rust/src/llvm'...
»»» Building rust (will be a while)
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   183  100   183    0     0   2489      0 --:--:-- --:--:-- --:--:--  2506
Traceback (most recent call last):
  File "/home/blake/src/q3/lib/rust/src/etc/get-snapshot.py", line 91, in <module>
    raise Exception("bad hash on download")
Exception: bad hash on download
make: *** [x86_64-unknown-linux-gnu/stage0/bin/rustc] Error 1
make: *** Waiting for unfinished jobs....
»»» Building glfw_static
»»» Building glfw_shared
CMake Warning (dev) in src/CMakeLists.txt:
  Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
  interface.  Run "cmake --help-policy CMP0022" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "glfw" has an INTERFACE_LINK_LIBRARIES property which differs from
  its LINK_INTERFACE_LIBRARIES properties.

  INTERFACE_LINK_LIBRARIES:

    /usr/lib/x86_64-linux-gnu/libX11.so;-lpthread;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-linux-gnu/libXrandr.so;/usr/lib/x86_64-linux-gnu/libXi.so;/usr/lib/x86_64-linux-gnu/libXxf86vm.so;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libGL.so

  LINK_INTERFACE_LIBRARIES:

This warning is for project developers.  Use -Wno-dev to suppress it.

»»» Building glfw-rs
./configure: line 157: /home/blake/src/q3/bin/rustpkg: No such file or directory

Yeah, q3 isn't gonna build at this point. The deps I hosted are gone, the deps others hosted have been rebased so the commits are different, and it requires some love which it won't likely see. We can leave this open, since it's a valid issue, but I don't have time for Rust tinkerings these days.
Thanks for the ticket!


Can -d parameter support dir list?

Can -d parameter support dir list?

No.
I created a script to select a destination based on file size. You can find it here:

mergerfs

I've found nothing better, and will be including logic to replot soon.
https://gist.github.com/wallentx/a462521b0c8ea0ebd64d19f0c1ed82f9

why in the world would you do that in code instead of using native linux/posix methods

why in the world would you do that in code instead of using native linux/posix methods
/etc/fstab
/mnt/sd* /mnt/chia fuse.mergerfs allow_other,use_ino,cache.files=off,dropcacheonclose=true,category.create=mfs,moveonenospc=true,threads=2 0 0
i think the default option is to fill emptiest drive first, but there are others.

Hm, I've never looked at mergerfs before. A quick glance seems that there is a hit on throughput and CPU usage. Does that increase per mount added? I currently have 93 drives.

No idea. Our compute servers is where we'd really notice, but they only have 6x16TBs on array. Once we swap them over into the cold storage, it's 60HDDs being managed by a Xeon Silver that doesn't do much else, so who cares?
I guess my final answer is that we're in the middle of plotting ~100TB/day onto 3 petabytes and the convenience of it outweighs any theoretical hit to throughput. Hotswaps "just work" - no complaining about destinations that don't exist anymore, no trying to write to directories that are root's now because there's nothing mounted on them - since both the farmer and the plotter are always looking at the same directory, we can hotswap with zero configuration.

tbh we went with mergerfs because of one thing: i wanted a filesystem that acted, at the posix level, like ceph/glusterfs, but i did -not- want any of the bells and whistles of those systems, like redundancy or striping. i wanted flat files on an xfs filesystem just to keep things simple.
so i asked myself, "why do ceph/gluster behave like single drives to posix apps?" because they're FUSE filesystems. then the problem becomes simple: what other fuse filesystems support union but don't require redundancy? and mergerfs is the one.
in the real world, i guess we're more used to taking performance hits on our workloads than in the hyper-optimization of cryptocurrency. if the devs came to me at work and said "your systems can't handle our throughput" i wouldn't say "let me hyperoptimize my systems for the workload you have right now," i'd say "i'll get the boss to buy a better server." :)


Ollie: Watch gmcouncil.weebly.com

Ollie requests the watch of the watch_keyword gmcouncil\.weebly\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

gmcouncil\.weebly\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

gmcouncil\.weebly\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by double-beep in Charcoal HQ

Approved by double-beep in Charcoal HQ


Connected database not showing

Describe the bug:
Connected database not showing
Steps to reproduce the behavior:
Click Add new connection
Click MySQL
Click TEST CONNECTION - says Successfully connected
Click SAVE CONNECTION - says:
capra was added to your settings!
Review JSON Syntax
{
  "database": "belgarath",
  "driver": "MySQL",
  "mysqlOptions": {
    "authProtocol": "default"
  },
  "name": "capra",
  "password": "root",
  "port": 3306,
  "previewLimit": 50,
  "server": "localhost",
  "username": "root"
}

Click CONNECT NOW - displays a new tab:

Expected behaviour:
Should see my connection in CONNECTIONS but it's not there:

Hitting refresh gets me:

in the bottom right hand corner.
Desktop (please complete the following information):
SQLTools Version 0.22.11
VSCode Version: 1.47.2
OS: [e.g. Windows, Linux, Mac]
Driver: MySQL
Database version: 8.0
Additional context Add any other context about the problem here.
I had successfully installed the SQLTools and SQLTools MySQL/MariaDB extensions and they were working fine. However, I had some issues elsewhere so I'd temporarily uninstalled them whilst trying to bug fix.
I've now added them back and reconnected my MySQL database - everything in the connection process, including testing the connection, looked fine. However, it says No connections found. I've tried a few times with different databases and always the same result - connection process looks fine but no end result.
Weirdly, whenever I click on the refresh button icon then a message pops up in the bottom right of the screen to say Element with id capra|MySQL|localhost|belgarath is already registered. It always says this and never refers to any other database. This is the first database I tried to connect to originally. It also appeared when on the very first reinstall so somewhere it had remembered those settings.

which VSCode version are you using? is it a remote development setup? are you connecting to docker database?
Can you provide more info? If possible, follow the template here: https://github.com/mtxr/vscode-sqltools/blob/master/.github/ISSUE_TEMPLATE/bug_report.md so I can try to reproduce it here.

Hi. Updated comment

Encountered the exact same behavior.
SQLTools Version 0.23.0
VSCode Version: 1.48.2
OS: Ubuntu 18.04
Driver: MSSQL
I have previously created a similar db connection and deleted SQLTools, after the new installation I'm getting this error too.

I've just run across the same. It seems "Add new connection" doesn't check for duplicate entries, allowing e.g.
    "sqltools.connections": [
        {
            "mysqlOptions": {
                "authProtocol": "default"
            },
            "previewLimit": 50,
            "server": "localhost",
            "port": 3306,
            "askForPassword": true,
            "driver": "MySQL",
            "name": "heretic",
            "database": "default",
            "username": "root"
        },
        {
            "mysqlOptions": {
                "authProtocol": "default"
            },
            "previewLimit": 50,
            "server": "localhost",
            "port": 3306,
            "askForPassword": true,
            "driver": "MySQL",
            "name": "heretic",
            "database": "default",
            "username": "root"
        }
    ]

and resulting in:
Element with id heretic|MySQL|localhost|default is already registered

Worked around it by editing settings.json

I was able to delete duplicated connection by Ctrl + Shift + P -> SQLTools Management: Delete connection. Then the rest of the connection shows up

Starting with today's 0.27.1 release it should no longer be possible to define connections with duplicate IDs using the UI.


Streamango is now dead

Describe the bug

Streamango is dead.  Need to remove it from code to prevent errors.
To reproduce

LOG

Looks like you did it


docs, easier deps

docs:

add missing types to plugin api
expand upon some of the fns in plugin api
expanding on  in babel plugin
extended html plugin example
add debug and logs docs
++ add full config
++ unify instance names in bundle
++ adding standards file for consistancy in doc
++ adding internal process doc
adding all examples to third party plugins doc
some minor grammar fixes

iteration ability:

add gulp command to gulpfile and package json to install devdep
add missing nodetypes for tsconfig to resolve not-real errors in linting

Power 🔥  Thanks!


Update reveal.js from v4.2.1 to 4.3.0

Please see changelog of reveal.js
Auto-generated by GitHub Actions

Workflow must update package.json too.


[Key Vault - Administration]Deploy test resources failing in nightly runs

Key Vault - Administration nightly test runs are failing with:

Error message:
--- End of stack trace from previous location ---
at Microsoft.Rest.RetryDelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Microsoft.Azure.Commands.KeyVault.SecurityDomain.Models.SecurityDomainClient.PollAsyncOperation(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.Azure.Commands.KeyVault.SecurityDomain.Models.SecurityDomainClient.DownloadSecurityDomain(String hsmName, IEnumerable1 certificates, Int32 quorum, CancellationToken cancellationToken)    --- End of inner exception stack trace ---    at Microsoft.Azure.Commands.KeyVault.SecurityDomain.Models.SecurityDomainClient.DownloadSecurityDomain(String hsmName, IEnumerable1 certificates, Int32 quorum, CancellationToken cancellationToken)
at Microsoft.Azure.Commands.KeyVault.SecurityDomain.Cmdlets.BackupSecurityDomain.DoExecuteCmdlet()
at Microsoft.Azure.Commands.KeyVault.SecurityDomain.Cmdlets.SecurityDomainCmdlet.ExecuteCmdlet()
at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.<>c__31.<ExecuteSynchronouslyOrAsJob>b__3_0(T c)    at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.ExecuteSynchronouslyOrAsJob[T](T cmdlet, Action1 executor)
at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.ExecuteSynchronouslyOrAsJob[T](T cmdlet)
at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
VERBOSE: Running registered exit actions
VERBOSE: Logging out of service principal ''
VERBOSE: Performing the operation "New-TestResources.ps1" on target "".
Write-Error: /mnt/vss/_work/1/s/eng/common/TestResources/New-TestResources.ps1:781
Line |
781 |              &$postDeploymentScript -ResourceGroupName $ResourceGroupN …
|              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Failed to export security domain data.
##[error]PowerShell exited with code '1'.

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2143835&view=results

Duplicate of #22599


emd install problem

Hey, I try to install "emd" as the instruction "python setup.py install", then it raises the cuda dismatch error as below:
File "/root/anaconda3/lib/python3.9/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/root/anaconda3/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 404, in build_extensions
self._check_cuda_version()
File "/root/anaconda3/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 781, in _check_cuda_version
raise RuntimeError(CUDA_MISMATCH_MESSAGE.format(cuda_str_version, torch.version.cuda))
RuntimeError:
The detected CUDA version (10.1) mismatches the version that was used to compile
PyTorch (11.3). Please make sure to use the same CUDA versions.
My install cuda version of torch is 11.3.  But my friend install with 11.3 version cuda's torch, he succeed. Is there higher cuda version emd codebase? Or how should I do. Thank you very much!

Thanks for your interest. I think you can refer to this issue


removed spack support

This spark will remove spack support from wave cli

PR :
https://github.com/seqeralabs/libseqera/pull/22

tested with the new libseqera PR
wave-cli % ./app/build/native/nativeCompile/wave --wave-endpoint http://localhost:9090 --platform linux/arm64 --conda-package salmon
wave.eu.ngrok.io/wt/5031358f057b/hrma017/dev:salmon--ab743bde24ef0467


Inquiry Regarding Ligand Preparation in Stage IV of Deep Docking Project

Dear jamesgleave,
I hope this email finds you well. Firstly, I would like to express my sincere gratitude to the Deep Docking team for their remarkable contributions to the field of accelerating molecular docking through deep learning. Your work in this domain has been invaluable, and it is greatly appreciated.
I am writing to seek clarification on a specific aspect of the project, particularly in Stage IV: ligand preparation (DD phase 2). In this context, my inquiry revolves around the use of the OMEGA module for ligand preparation in Glide docking. Obtaining academic licenses for OpenEye's software can be challenging, and I am exploring alternative options.
Specifically, I would like to know if it is mandatory to utilize the OMEGA module for ligand preparation in Glide docking during Stage IV. Given the potential challenges associated with obtaining academic licenses for OpenEye, I am curious whether the ligprep module in Maestro can be a viable alternative for this purpose. Could you please provide some insights into the compatibility and capabilities of the ligprep module in addressing the ligand preparation requirements for Glide docking in Stage IV?
Your guidance on this matter would be immensely helpful, and I appreciate your time and assistance. Thank you once again for your groundbreaking work in advancing the field of molecular docking, and I look forward to your response.
Best regards,
Shang Xinci
Soochow University School of Pharmacy

Hi Shang, you can use whatever you want to prepare the molecules - ligprep is fine as well


Can't change user visibility in gitea.com

Description
@lunny
I can not change my user visibility in gitea.com

but I can do this in try.gitea.io

Gitea Version
unknown
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
gitea.com
Database
None

I can change it on both website.

There is a configuration item that is conflicting with changing some information about this account. @yp05327 if you reach out to me in discord I can update the visibility of your account.


fix: updating dependabot yml to include prefix for PR rasied by it

Add Prefix to dependabot PRs
Updated dependabot yml file to include a prefix to commit message when it raise PR for updating swift packages and actions
Checklist
Before raising your pull request:

[ ] ~Ran the app locally ensuring it builds ~
[ ] ~Ran the tests locally ensuring they pass on Build~
[x] Pull request has a clear title with ticket ID and a short description about the feature or update
i.e. DCMAW-222: Added ReadID SDK to iOS app
[ ] ~Created a draft pull request if it is not yet ready for review~

Before your pull request can be reviewed:

[ ] ~Met all of the acceptance criteria specified in the user story on Jira~

[ ] ~Reviewed your own code to ensure you are following the style guidelines~

[ ] ~Ran the app and tested the feature on a range of device sizes~
~Please include iPod Touch, iPhone SE and iPhone 11 as a minimum.~

[ ] ~Written Unit and Integration tests if needed~

[ ] ~Met all accessibility requirements?~

[ ] ~Checked dynamic type sizes are applied~
[ ] ~Checked VoiceOver can navigate your new code~
[ ] ~Checked a user can navigate only using a keyboard around your new code~

Before merging your pull request:

[ ] Ensure that the code coverage and SonarCloud checks have passed
[ ] Actioned and resolved all comments, reaching out to reviewers for clarifications if necessary.
[ ] Ran the app to ensure that no regressions have been caused by changes during code review.
[ ] Targeted the correct branch; develop, release or main

Going to close this in preference of #70 if you don't mind


[BUG] Mage.AI file not accessible by child processes when using dynamic block execution

Mage version
0.9.65
Describe the bug
I run my processes using dynamic block, where the process spawn around 90 child processes and this error often occur. I believe this should be race condition issue.
To reproduce
No response
Expected behavior
No response
Screenshots

Operating system
Windows 10 Pro
Python version 3.11.5
Additional context
No response

we'll look into it and fix the issue


Pre-process the data before write into the localStorage

I would like the ability to pre process the data before write them into the localStorage.
The case such as the following.
My backend api might return me some date value in string format, and I would like convert them into js date object, then store them into the localStorage. so next time I get the data from the localStorage, then I don't need to convert them again.

Noted, thanks! This project is currently in maintenance mode, but we'll probably get some time soon to work on functionality again. I'll make sure we consider this one when we do :)


Can you upload *.pb file

Thank you for sharing pretrained models here: https://drive.google.com/drive/folders/1KGIdE8SmR-Af9zheuQ68EhD0ck4h4riH
I only see the *ckpt files. According to TF, the model also has the graph *pb file. Can you upload the graph?   I know you have a File architecture.py to definition of the graph.
But many users just want the *pb instead of the python source code.
Thank you.

bump


Perf Test - Data transfer Rate

We should have a perf test (ask Jukka) that measures how quickly we can move data over the "bulk" transport (Android === Bluetooth, iOS === MPCF). Make sure this runs reliably.

BTW, you have to have #272 or the iOS tests won't work at all.

11/4 - Failing on iOS even with 272. Ville needs to talk to Tobe about this. Android seems to be running fairly well locally.

11/6 - Ville is examining the code and understanding what is actually going on the wire and once that is understood then he can start to send out numbers.

11/9 - Filing bugs and found some areas where the perf calcs look wrong. Will review with Jukka tomorrow.

11/10 - We think we fixed the timing issues. We will wait for Jukka to do his check in and then we'll do a second PR with Jukka's changes.

11/13 - Now that he is back from the start up fest he will submit a PR on Monday. But not much progress on Thali today.

There is now a commit that fixes the accuracy of the data rate measure. The summary report must still be improved so that it is easy to see the data rates.
Closing this item also depends on some iOS fixes, because the data send test doesn't yet fully work on iOS. I believe @tobybrad is working with those (https://github.com/thaliproject/Thali_CordovaPlugin/issues/293 and https://github.com/thaliproject/Thali_CordovaPlugin/issues/275).

PR is out. But we can't close this yet because we can't run this on iOS yet.

iOS and Android both run in CI but in iOS we still have the crash assigned to @tobybrad

There are also some Android bugs that are blocking this as well.

Now that it was switched to use randomstring to generate the test string that is sent, the assumption that a character uses 2 bytes when encoded does not hold (it wasn't probably always accurate in the first place). Instead, one character should consume 1 byte when using UTF-8, because we only generate ASCII characters.
The assumption that UTF-8 encoding is used on Android is based on the fact that System.getProperty("file.encoding") returns UTF-8.
On the iOS code, I can see references to NSUTF8StringEncoding so based on that, UTF-8 ends up being used on iOS as well.


test PR with Github API

Please pull this in!

Docs Build status updates of commit 6af87c4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

node-azure-tools.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Like failed with: Failed to send a positive rating ...

I set ouath and token, and then i login in gtk-youtube-viewer, and press enter in termianl login prompt,
but can't like the video:
Failed to send a positive rating to <<YA0ugEZGPUQ>>! at /home/user/perl5/bin/gtk-youtube-viewer line 1239.

This is probably related to: https://github.com/trizen/youtube-viewer/commit/77ba84a0803a15482288920185009f34c4beacea

This is probably related to: 77ba84a (maybe not)
If possible, install the perl-lwp-consolelogger package and execute gtk-youtube-viewer as:
perl -MLWP::ConsoleLogger::Everywhere $(which gtk-youtube-viewer)

and then try liking a video and check what error message it outputs.

I reset app credential setting according to https://github.com/trizen/youtube-viewer/commit/77ba84a0803a15482288920185009f34c4beacea and now Like works, thanks.
Am i right, that i can't comments any more via gtk-youtube-viewer?


Table alignment pdflatex / pandoc

Hi, first of all thank for the great Grasshopper plugin, I have been working away on a document and ran into an issue with alignment of the tables when exporting to pdf using pdflatex / pandoc option in typora,
The contents of the table appears centred in typora and pdf export from Typora using pdf option produces a centered table but when using the pandoc pdflatex engine the contents of the table becomes left aligned. Not too sure how to fix, could you please help?
Typora view:

Pdf output (pandoc - pdflatex)

Hello @samp1888 :)
It's probably on the pandoc pdflatex side :) Is there a chance to report it to them?
I don't know if there can be some sort of a workaround. Maybe creating LaTeX table directly, or postprocess existing LaTeX table to align it properly?

thanks for the promt reply, I will try to modify the table, i am quite new to all this but think I can can mange something. Thank you.


[docs] Improve the table examples' accessibility

I don't think this is the whole story, but it's a small improvement.

@mbrookes Nice!


Fix read when enable FAP

What problem does this PR solve?
Issue Number: ref #6827
Problem Summary: There are some errors during read when FAP is enabled.
What is changed and how it works?

Fix the issue that the entry size of remote page is wrong.
Fix the issue that after compact remote page, its is_local_data_reclaimed field is wrong.
Add a metric type_ingest_checkpoint.

Check List
Tests

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

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-all-tests

/run-integration-test

/merge


Add guard for multiple node unmarshal

Fixes unmarshalling a node with multiple left and right children
Description
Add a check for unmarshalling a node when the input byte array with multiple left or right childs.
Mentioned in Here
Changes:

Add left and right flag to protect there only at most 1 left or right child when marshalling.
Add unit test for this part

Types of changes

Bugfix (non-breaking change which fixes an issue)

Testing
Requires testing: Yes
Did you write tests??: Yes
Documentation
If this requires a documentation update, did you add one? No,No

@omerfirmak  Sorry, this branh is mismerge by me, I create a new PR at #508 . Can you review again?


Multiple databases#89

It's not entirely finished but we can do the rest later.

Awesome changes you did here. Well done 👍


bad HTTP response code in Storefront

When I connect to the storefront and do inspection with the browser, I see the following errors:
A bad HTTP response code (404) was received when fetching the script.
account:1 Uncaught (in promise) TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.
I even refresh/restart the storefront but didn't help.

This is due to service worker being disabled in the default webpack dev mode. If you wish to turn this feature on in dev mode (it's auto-enabled on production builds) use npm run start:worker instead of npm run start. This should get rid off the service worker error but bear in mind that the service worker is doing some caching underneath and you might need to refresh the app a couple of times to see the changes made to the code. That's why we don't use it in default dev mode.


MNT: Update pinned versions.

Hi! This is the friendly conda-forge-admin automated user.
I've bumped some of the conda-forge pinned versions, and noticed that it impacts this feedstock.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/core please have a look at this. The system makes a mistake here. The dependency is cairocffi, not cairo... Maybe a startswith without whitespace in the code?

@johanneskoester there is a PR to fix that in the pin script. Just ignore this change for now.

Thanks!


Add JSON migrations

Review
📓  Please review commit by commit.
Helped-by: @ojh

[ ] Pre-review by @brunobord
[ ] Tests
[ ] Docs/comments
[ ] Migration(s)
[x] CHANGELOG.rst Updated
[ ] Delete your branch

You'll probably want to rebase from master, tests were failing because of the latest DRF version (3.7)

You'll probably want to rebase from master, tests were failing because of the latest DRF version (3.7)

Thanks @brunobord! I didn't understand why tests were failing with Django 1.8. 😉  Thanks for the fix.

@brunobord @alexdashkov Ready for review FYI.


Feat: add build step to Github actions

This is the same PR as https://github.com/storyblok/storyblok-cli/pull/79
Adding a build step to the CI process.

Close as superseded by #88


QoS and the MQTT specification

In ProtocolProcessor.java I  found this:
QOSType qos = publishingQos;
if(publishingQos.byteValue() > sub.getRequestedQos().byteValue()) {
    qos = sub.getRequestedQos();
}

This will always set the QoS to the lowest value of the published message and the subscription's QoS.
Following the mandatory normative specification found here in appendix B, section [MQTT-3.8.4-6]:
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
It should not take QoS 1 if for example the QoS of the publish message is 2 and the subscriber QoS is 1.
Is my understanding of the specification correct?

I think it's correct, it should be the lowest QoS according to the spec.

After re-reading the specification I must agree with you and it should choose the lowest QoS.
My apologies


Error while converting bart-large-mnli to ONNX format

System Info
Python 3.10.12
optimum[exporters]==1.13.2
Linux + Nvidia GPU with driver 525.85.12 (Although the issue seems independent from GPU)

Who can help?
@michaelbenayoun (Tagging you since the issue template suggests it for exports to ONNX)
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction (minimal, reproducible, runnable)
Install optimum:
$ pip install optimum[exporters]==1.13.2

Then try to convert facebook/bart-large-mnli to ONNX format:
$ optimum-cli export onnx --model facebook/bart-large-mnli onnx_output

I also tried the following commands which all fail in a similar way:
$ python3 -m transformers.onnx --model=facebook/bart-large-mnli --feature=sequence-classification ./onnx_output

Or,
$ optimum-cli export onnx \
    --model=facebook/bart-large-mnli \
    --task=text-classification \
    --device cuda \
    --opset 17 \
    --framework pt \
    ./onnx_output

I also tried to use opset 12, and remove the safetensor model to force conversion from torch tensors (not sure if that should make any difference).
The output is then:
Framework not specified. Using pt to export to ONNX.
Downloading (…)lve/main/config.json: 100%|████████████████████████████████████████████████████████████████████████████████| 1.15k/1.15k [00:00<00:00, 10.3MB/s]
Downloading model.safetensors: 100%|███████████████████████████████████████████████████████████████████████████████████████| 1.63G/1.63G [00:06<00:00, 248MB/s]
Automatic task detection to text-classification (possible synonyms are: sequence-classification, zero-shot-classification).
Downloading (…)okenizer_config.json: 100%|███████████████████████████████████████████████████████████████████████████████████| 26.0/26.0 [00:00<00:00, 234kB/s]
Downloading (…)olve/main/vocab.json: 100%|██████████████████████████████████████████████████████████████████████████████████| 899k/899k [00:00<00:00, 30.6MB/s]
Downloading (…)olve/main/merges.txt: 100%|██████████████████████████████████████████████████████████████████████████████████| 456k/456k [00:00<00:00, 33.9MB/s]
Downloading (…)/main/tokenizer.json: 100%|█████████████████████████████████████████████████████████████████████████████████| 1.36M/1.36M [00:00<00:00, 112MB/s]
Using the export variant default. Available variants are:
	- default: The default ONNX variant.
Using framework PyTorch: 2.1.0+cu121
Overriding 1 configuration item(s)
	- use_cache -> False
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:239: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len):
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:246: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if attention_mask.size() != (bsz, 1, tgt_len, src_len):
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:278: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim):
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:936: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if input_shape[-1] > 1:
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:1559: TracerWarning: Using len to get tensor shape might cause the trace to be incorrect. Recommended usage would be tensor.shape[0]. Passing a tensor of different shape might lead to errors or silently give incorrect results.
  if len(torch.unique_consecutive(eos_mask.sum(1))) > 1:
/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py:1686: UserWarning: The exported ONNX model failed ONNX shape inference. The model will not be executable by the ONNX Runtime. If this is unintended and you believe there is a bug, please report an issue at https://github.com/pytorch/pytorch/issues. Error reported by strict ONNX shape inference: [ShapeInferenceError] (op_type:Gather, node name: /model/decoder/embed_tokens/Gather): indices typestr: Tind, has unsupported type: tensor(float) (Triggered internally at ../torch/csrc/jit/serialization/export.cpp:1415.)
  _C._check_onnx_proto(proto)
Traceback (most recent call last):
  File "/usr/local/bin/optimum-cli", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/optimum/commands/optimum_cli.py", line 163, in main
    service.run()
  File "/usr/local/lib/python3.10/dist-packages/optimum/commands/export/onnx.py", line 232, in run
    main_export(
  File "/usr/local/lib/python3.10/dist-packages/optimum/exporters/onnx/__main__.py", line 486, in main_export
    _, onnx_outputs = export_models(
  File "/usr/local/lib/python3.10/dist-packages/optimum/exporters/onnx/convert.py", line 752, in export_models
    export(
  File "/usr/local/lib/python3.10/dist-packages/optimum/exporters/onnx/convert.py", line 883, in export
    config.fix_dynamic_axes(output, device=device, input_shapes=input_shapes, dtype=dtype)
  File "/usr/local/lib/python3.10/dist-packages/optimum/exporters/onnx/base.py", line 302, in fix_dynamic_axes
    session = InferenceSession(model_path.as_posix(), providers=providers, sess_options=session_options)
  File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in __init__
    self._create_inference_session(providers, provider_options, disabled_optimizers)
  File "/usr/local/lib/python3.10/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 452, in _create_inference_session
    sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model)
onnxruntime.capi.onnxruntime_pybind11_state.InvalidGraph: [ONNXRuntimeError] : 10 : INVALID_GRAPH : Load model from onnx_output2/model.onnx failed:This is an invalid model. Type Error: Type 'tensor(float)' of input parameter (/model/Where_4_output_0) of operator (Gather) in node (/model/decoder/embed_tokens/Gather) is invalid.

Expected behavior
The conversion should succeed and result in a valid ONNX model store in onnx_output folder. This used to work in older versions and as far as I can see the model hosted on the hub has not been updated for a long time, apart from the addition of safetensors (I have not tracked which version of torch/transformers/onnxruntime broke the conversion).

Thanks for the quick response @fxmarty; pinning PyTorch to 2.0.1 fixes the conversion.

@fxmarty  Should I close this issue or would you like to keep it open while the regression in PyTorch is addressed?

It's better to let it open I think. Instead of disabling the export like I did we should put a requirement on torch<2.1,>=2.2

Just stumbled upon this 😢 @fxmarty, are there any plans for a patch release that would include the merged fix?

Thank you @stekiri, we will do a release this week that includes https://github.com/huggingface/optimum/pull/1666 that fixes this issue for torch>=2.1.2. In the meantime you can use the dev version of optimum: pip uninstall optimum && pip install git+https://github.com/huggingface/optimum.git.

@remusao can you send inference script of converted model?

@akashAD98 You should be able to use: https://huggingface.co/docs/optimum/main/en/onnxruntime/package_reference/modeling_ort#optimum.onnxruntime.ORTModelForSequenceClassification
https://huggingface.co/docs/optimum/main/en/onnxruntime/usage_guides/models is a good reference.

im getting the error
i tried below code
@fxmarty
#!pip install torch==2.1.2
#!pip install --upgrade-strategy eager install optimum[onnxruntime]
!optimum-cli export onnx  --task zero-shot-classification --model facebook/bart-large-mnli bart-large-mnli_onnx_zs_model

log:
2024-03-01 07:33:03.428142: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-03-01 07:33:03.428217: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-03-01 07:33:03.434604: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-03-01 07:33:05.711962: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Framework not specified. Using pt to export the model.
Using the export variant default. Available variants are:
- default: The default ONNX variant.
Some non-default generation parameters are set in the model config. These should go into a GenerationConfig file (https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model) instead. This warning will be raised to an exception in v4.41.
Non-default generation parameters: {'forced_eos_token_id': 2}
Using framework PyTorch: 2.1.2+cu121
Overriding 1 configuration item(s)
- use_cache -> False
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:239: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len):
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:246: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if attention_mask.size() != (bsz, 1, tgt_len, src_len):
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:278: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim):
/usr/local/lib/python3.10/dist-packages/transformers/modeling_attn_mask_utils.py:86: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if input_shape[-1] > 1 or self.sliding_window is not None:
/usr/local/lib/python3.10/dist-packages/transformers/modeling_attn_mask_utils.py:162: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if past_key_values_length > 0:
/usr/local/lib/python3.10/dist-packages/transformers/models/bart/modeling_bart.py:1911: TracerWarning: Using len to get tensor shape might cause the trace to be incorrect. Recommended usage would be tensor.shape[0]. Passing a tensor of different shape might lead to errors or silently give incorrect results.
if len(torch.unique_consecutive(eos_mask.sum(1))) > 1:
Post-processing the exported models...
Weight deduplication check in the ONNX export requires accelerate. Please install accelerate to run it.
Validating ONNX model bart-large-mnli_onnx_zs_model/model.onnx...
-[✓] ONNX model output names match reference model (logits)
- Validating ONNX Model output "logits":
-[✓] (2, 3) matches (2, 3)
-[x] values not close enough, max diff: 4.228949546813965e-05 (atol: 1e-05)
The ONNX export succeeded with the warning: The maximum absolute difference between the output of the reference model and the ONNX exported model is not within the set tolerance 1e-05:

logits: max diff = 4.228949546813965e-05.
The exported model was saved at: bart-large-mnli_onnx_zs_model

from transformers import AutoTokenizer,pipeline
from optimum.onnxruntime import ORTModelForQuestionAnswering

tokenizer = AutoTokenizer.from_pretrained("bart-large-mnli_onnx_zs_model")
model = ORTModelForQuestionAnswering.from_pretrained("bart-large-mnli_onnx_zs_model")
inputs = tokenizer("What am I using?", "Using DistilBERT with ONNX Runtime!", return_tensors="pt")
outputs = model(**inputs)

error:

KeyError                                  Traceback (most recent call last)
 in <cell line: 18>()
16 sequence_to_classify = "Who are you voting for in 2020?"
17 candidate_labels = ["Europe", "public health", "politics", "elections"]
---> 18 pred = onnx_z0(sequence_to_classify, candidate_labels)
19 pred
7 frames
/usr/local/lib/python3.10/dist-packages/optimum/onnxruntime/modeling_ort.py in forward(self, input_ids, attention_mask, token_type_ids, **kwargs)
1258             outputs = self.model.run(None, onnx_inputs)
1259
-> 1260             start_logits = outputs[self.output_names["start_logits"]]
1261             end_logits = outputs[self.output_names["end_logits"]]
1262             if use_torch:
KeyError: 'start_logits'

@akashAD98 Answered on https://github.com/huggingface/optimum/issues/1739


Publish the secret updated events only when they are updated

Problem Statement
The secret updated events are published every time reconciliation is completed, but they should be published only when secrets are truly updated.
Related Issue
Closes https://github.com/external-secrets/external-secrets/issues/3265 and https://github.com/external-secrets/external-secrets/issues/3149
Proposed Changes
Publish the events only when secrets are truly updated.
Checklist

[x] I have read the contribution guidelines
[x] All commits are signed with git commit --signoff
[x] My changes have reasonable test coverage
[x] All tests pass with make test
[x] I ensured my PR is ready for review with make reviewable

Hi @rogertuma would you have an update on when this can be merged as this is still an issue.


[Win] Configure p2p service to start after crash

sc failure "Subutai Social P2P"  actions= restart/10000/restart/15000/restart/18000 reset= 86400

in some cases p2p service does not start after installation because was not properly uninstalled (for example if service was stopped and p2p daemon was started from cli, in this case p2p process did not stop. Fixed


Print warning when remote object doesn't exist

Refs #4733.
Instead of throwing exception we just print warning when an unexist remote object is requested, in case it is just a rare situation.

After thinking more about it, I think this makes things worse since we would even lose the stack trace.


Updated Readme with New Shortcut Description

PR Type
What kind of change does this PR introduce?

Documentation content changes

Other information

I don't want to add these kind of shortcut in the readme because they are well known and used by other text editor or code editor as well. Same for "Ctrl+D" to replicate selections etc.


Presence channels subscribe fails with int userID

Hi, is there a way we could process integer as userId on channel subscribe here?
If u'll point me in right direction i can submit PR
My current problem is that my vendor (laravel) provides this key as int, and i can only affect userInfo field inside my project source files, so i'm hitting this err
8 channel.go:174] json: cannot unmarshal number into Go struct field .user_id of type string

Please take a look when u'll have time @dimiro1


Access to sample data sets

@koide3 Thank you so much for releasing this package.
I want to test it with your sample data sets. However, I have trouble downloading them.
Maybe this problem only occurs to me. So may I ask whether it is possible for you to put those data sets on a second server (google drive, dropbox, etc.)?
Thank you so much for your help!

For unknown reason, I was able to download those data sets :) Thank you :)


group/addrenv: Fix the removal of address environments when a process exits

Summary
Highlights are in commit messages, but as a summary this fixes several issues with group and address environment handling when a process exits or is being killed:

Group becomes NULL, when nxtask_exithook is called the first time. This is not done in a critical section and a context change or IRQ can happen afterwards -> the address environment selector does not know what to do any more when restoring the (new?) context
Address environment is released before the system is done using it. The kernel mappings exist inside each process's address environment, and if these are destroyed, the kernel is left without mappings. This might not cause an immediate crash as the physical memory might not be re-used, but if it is, the system crashes at once because of a corrupt page directory

This commit fixes both issues by:

Adding a safe copy reference to the group into TCB, which is used to determine the group structure whose mappings are in use.
Adding a reference counter to protect the mappings from removal, if someone is using them

Kernel processes continue to "lend" the address environment from the user processes, but this time they inform the user process (group) that the address environment is in use (via the ref. counter) which ensures that the address environment (nor the group) are NOT freed when the kernel still needs them.
Also added a work queue to do the heavy lifting when an address environment is destroyed, otherwise this work would be done during a context switch which is IMO a very bad idea.
Impact
Significant, but only affects builds with CONFIG_ARCH_ADDRENV=y (i.e. kernel build)
Testing
icicle:knsh

@masayuki2009 Can you please help me test this, I do not have ARM HW with MMU to test this change with. I have verified that with RISC-V the change works as expected.

@pussuw

Can you please help me test this, I do not have ARM HW with MMU to test this change with. I have verified that with RISC-V the change works as expected.

You can test this PR with sabre-6quad:knsh on QEMU.
However, I will try this PR tomorrow.

@pussuw
Please update sabre-6quad/configs/netknsh_smp/defconfig
/github/workspace/sources/apps /github/workspace/sources/nuttx
/github/workspace/sources/nuttx
  Normalize sabre-6quad/netknsh_smp
109d108
< CONFIG_SCHED_HPWORK=y
Saving the new configuration file
HEAD detached at pull/7966/merge
Changes not staged for commit:

@pussuw
Please update sabre-6quad/configs/netknsh_smp/defconfig
/github/workspace/sources/apps /github/workspace/sources/nuttx
/github/workspace/sources/nuttx
  Normalize sabre-6quad/netknsh_smp
109d108
< CONFIG_SCHED_HPWORK=y
Saving the new configuration file
HEAD detached at pull/7966/merge
Changes not staged for commit:

Thanks, I did not realize that adding "select XXX" will cause such an issue. I did depends SCHED_HPWORK instead. Not sure what is the proper way of handling this...

I tried quickly with qemu but I have very limited experience using that, but It seems there might be some issue with cache handling, since the SW crashes and the call stack would indicate instruction / data fetch page fault.
I will be OoO until next year, so I will continue debugging then.

I think I made a mistake with qemu, It seems to partially work with these instructions:
    This is a configuration of testing the BUILD_KERNEL configuration.

    $ cd nuttx
    $ ./tools/configure.sh sabre-6quad:knsh
    $ make V=1 -j7
    $ make export V=1
    $ cd ../apps
    $ ./tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
    $ make import V=1
    $ cd ../nuttx
    $ qemu-system-arm -semihosting -M sabrelite -m 1024 -smp 4 -nographic -kernel ./nuttx

ville@ville-ThinkPad-T14s-Gen-1:~/wpc_toolchain/workspace/nuttx-bare/nuttx$ qemu-system-arm -semihosting -M sabrelite -m 1024 -smp 4 -nographic -kernel ./nuttx
ABDGHIJKNOPQ

NuttShell (NSH) NuttX-10.4.0
nsh> ps
  PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK   STACK   USED  FILLED COMMAND
    0     0   0 FIFO     Kthread N-- Ready              00000000<PHONE_NUMBER>16  40.3%  Idle Task
    1     1 224 RR       Kthread --- Waiting  Semaphore 00000000<PHONE_NUMBER>16  20.8%  hpwork 0x10815a34
    2     2 100 RR       Task    --- Running            00000000<PHONE_NUMBER>16  37.0%  /system/bin/init
nsh>

But then

nsh> /system/bin/getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
[   77.590000] arm_dataabort: Data abort. PC: 108012d2 DFAR: 00000098 DFSR: 0000080d
[   77.590000] _assert: Assertion failed at file: armv7-a/arm_dataabort.c:161 task: /system/bin/getprime 0x80000765
[   77.590000] arm_registerdump: R0: 00000000 R1: 00000000 R2: 600000df  R3: 00000001
[   77.590000] arm_registerdump: R4: 108195f0 R5: 00000000 R6: 000000df  FP: 108152dc
[   77.590000] arm_registerdump: R8: 108153c8 SB: 80202798 SL: 8020279c R11: 00000000
[   77.590000] arm_registerdump: IP: 00000080 SP: 108150b0 LR: 1080136f  PC: 108012d2
[   77.590000] arm_registerdump: CPSR: 000000ff
[   77.590000] dump_stack: IRQ Stack:
[   77.590000] dump_stack: sp:     10814f30
[   77.590000] dump_stack:   base: 108148d8
[   77.590000] dump_stack:   size: 00002048
[   77.590000] stackdump: 10814f20: 00000304 00000001 80000765 108053c9 10814f68 00000000 000000df 108152dc
[   77.590000] stackdump: 10814f40: 108153c8 80202798 8020279c 10804411 108122cf 10800901 00000098 0000080d
[   77.590000] stackdump: 10814f60: 0000080d 108001a4 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10814f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10814fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10814fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10814fe0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10815000: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10815020: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10815040: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   77.590000] stackdump: 10815060: 00000000 00000000 00000000 108150b0 1080136f 00000000 00000000 600000df
[   77.590000] stackdump: 10815080: 00000001 108195f0 00000000 000000df 108152dc 108153c8 80202798 8020279c
[   77.590000] stackdump: 108150a0: 00000000 00000080 108012d2 000000ff 802046b8 1081b270 108152d8 00000002
[   77.590000] dump_stack: User Stack:
[   77.590000] dump_stack: sp:     108150b0
[   77.590000] dump_stack:   base: 80202038
[   77.590000] dump_stack:   size: 00001992
[   77.590000] dump_stack: ERROR: User Stack pointer is not within the stack
[   77.590000] dump_stack: Kernel Stack:
[   77.590000] dump_stack: sp:     108150b0
[   77.590000] dump_stack:   base: 1081a810
[   77.590000] dump_stack:   size: 00003072
[   77.590000] dump_stack: ERROR: Kernel Stack pointer is not within the stack
[   77.590000] showtasks:    PID    PRI     STACK      USED   FILLED    COMMAND
[   77.590000] showtasks:   ----   ----      2048       796    38.8%    irq
[   77.590000] dump_task:      0      0      2024       816    40.3%    Idle Task
[   77.590000] dump_task:      1    224      1992       416    20.8%    hpwork 0x10815a34
[   77.590000] dump_task:      2    100      3016      1116    37.0%    /system/bin/init
[   77.590000] dump_task:      3    100      1992       780    39.1%    /system/bin/getprime
[   77.590000] dump_task:      4    100      2024       328    16.2%    <pthread> 0x8000077d 0x80202798

:(

Status now
ville@ville-ThinkPad-T14s-Gen-1:~/wpc_toolchain/workspace/nuttx-bare/nuttx$ qemu-system-arm -semihosting -M sabrelite -m 1024 -smp 4 -nographic -kernel ./nuttx
ABDGHIJKNOPQ

NuttShell (NSH) NuttX-10.4.0
nsh> ps
  PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK   STACK   USED  FILLED COMMAND
    0     0   0 FIFO     Kthread N-- Ready              00000000<PHONE_NUMBER>16  40.3%  Idle Task
    1     1 224 RR       Kthread --- Waiting  Semaphore 00000000<PHONE_NUMBER>16  20.8%  hpwork 0x10815a3c
    2     2 100 RR       Task    --- Running            00000000<PHONE_NUMBER>16  37.0%  /system/bin/init
nsh> /system/bin/getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
/system/bin/getprime took 1780 msec
nsh>

Marking as draft, needs more testing

@masayuki2009 hello and happy new year! I have been testing with qemu / sabre-6quad and can not see any more issues. The test is obviously very limited i.e. manually running getprime() which does not cover a whole lot. If you can help test this on actual hardware that would be very much appreciated!
The code is also ready for review from my part

@pussuw
Happy New Year!
And, thanks for fixing the crash with sabre-6quad on QEMU.
I've just confirmed the PR works with both sabre-6quad (ARMv7-A) and rv-virt (RISC-V RV64).

I changed HPWORK -> LPWORK because releasing the address environment that is no longer in use is not that timing critical.

Ok, time to abandon this. I realize that this patch is incomplete and the alternate approach is needed instead:

Another option would be to store the address environment only here but that gets a bit dirty IMO. It would require changing group->tg_addrenv into a pointer and allocating it from kheap.

There are several issues with usage of the pair up_addrenv_select(&newenv, &oldenv) and up_addrenv_restore(&oldenv) . If a context switch happens between those, the system crashes when the context restore is attempted, because the wrong address environment is instantiated. The process thinks it is using "newenv" but the context restore procedure restores "oldenv". "oldenv" in this case is the process's own address environment (group->tg_addrenv).
This same issue can be found in several other places too.
So I will create patches that decouple storing the address environment from group to its own container and fix all related errors.

So, we have to forbid the task switch between up_addrenv_select and up_addrenv_restore?

So, we have to forbid the task switch between up_addrenv_select and up_addrenv_restore?

It is not enough, the logic / implementation of group_addrenv() is incomplete. Even running an IRQ between those will cause a crash.
Also, if the code uses semaphores between up_addrenv_select and up_addrenv_restore won't this cause a deadlock ?


[BUG]Error code: PR_END_OF_FILE_ERROR using EmbassyOS with LNbits service

Describe the bug
Launching UI of LNbits using the start9 EmbassyOS LNbits service doesnt load the page and result with Error code: PR_END_OF_FILE_ERROR
To Reproduce
Steps to reproduce the behavior:

Go to EmbassyOS
Click on LNbits service
Launch UI button
See Error code: PR_END_OF_FILE_ERROR

Expected behavior
Normally, the LNbits dashboard should open in the browser
Screenshots
If applicable, add screenshots to help explain your problem.

)
Laptop (please complete the following information):

LNbits version: 0.10.0~2
LND 0.16.2~1
Bitcoin Core 24.0.1
EmbassyOS Version 0.3.4~1

This can happen in embassyOS (now called StartOS) if the https connection is interrupted.  We've noticed this can happen if you haven't properly trusted the CA certificate generated on the StartOS server.
See the guides here for the process for your specific client OS / browser:
https://docs.start9.com/latest/user-manual/connecting/connecting-lan/index

i think this is fixed! reopen if not!


post table format 1 and 3 not documented?

I'm not sure if I'm missing something obvious. But Format 3 (and Format 1) are missing the table of the fields completely.

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

ID: c682af48-1252-0ffc-c6d7-c73130b2a690
Version Independent ID: ed9e6d48-434b-ab0c-2fdf-e2700cde9cb2
Content: post — PostScript Table (OpenType 1.9) - Typography
Content Source: typographydocs/opentype/spec/post.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: alib

Nevermind. The header is shared.


Feature proposal: Accept an uri as input?

Would be great if we could also provide this component a source uri rather than the html source string.
htmlparser2 seems to be able to parse a stream. So it should be feasible to add a source props tag to the component that would accept an uri parametter. Then the component should download, parse and render the content of this uri on the fly (rather than downloading it entirely and then render it afterward).
I don't know if it would be complicated to implement but it would be a nice enhancement ;)

This would be a nice feature. I'm short on time so I won't be able to work on it for now, but I'd glady accept and review a PR for this. 👍

Just to keep you posted (and other contributors who might be reading this issue), I'll add this as an experimental feature for the next release of this module.
It looks like it's working, but I'd need more time to make it production-ready. This first draft will be handy if someone wants to improve it without starting over.
I managed to load my all-time-favorite motherfucking website

This landed in 3.5.0. It should be good enough for must use cases.

Maybe I'm doing something wrong, but I have unexpected results with the code below. Can you advise?
import React, { Component } from 'react'
import {
View,
Text,
ScrollView,
StyleSheet,
AsyncStorage,
Dimensions
} from 'react-native'
import HTML from 'react-native-render-html';
export default class TabAmLeader extends Component {
constructor (props) {
super(props)
this.state = {
}
}
render () {
    return (
        <ScrollView style={{ flex: 1 }}>
            <HTML
                html={undefined}
                uri={'http://motherfuckingwebsite.com'}
            />
        </ScrollView>
    );
}

}


Illegal syntax for decorators compiles and runs without warning, but has no effect

Description
TEST_CASE("my case", test_suite("costly")) { ... }

The * operator should be used instead, but the above code compiles and runs, which causes confusion (for example, -tse=costly does nothing to the end-users).

Which compiler are you using? The DOCTEST_TEST_CASE macro has a single argument and when I use GCC on my local linux box it properly errors about the extra argument.

MSVC.  Ahh, this time I do see a warning:
warning C4002:  too many arguments for function-
like macro invocation 'DOCTEST_TEST_CASE'

I wasn't expecting a warning.  Sorry about that.
There is a way to dispatch on fixed numbers of arguments in macros, which can make TEST_CAST("name", test_suite("suite") * skip()) work.


WCFFacility requires HTTP binding (when really just want HTTPS)

I posted a question on StackOverflow but it didn't get any traction - so apologies for the cross post - thought I would try here.
The way the code in our project configures WCF Services with WCFFacility, an IIS HTTP binding is required even though I only want a HTTPS binding.
I'm sure we are doing something wrong in our codebase to cause this behaviour - any ideas?
StackOverflow has the details and a repro project.

Do you think you might find an answer in this?
https://gist.github.com/hanssens/700862b3338866b092bf4c7dd4db691b

No I don't think so - this is using a more generic binding and doesn't allow the security transport.
No matter, I've configured our deploys to add a spurious HTTP binding so it all works. It was very perplexing at the time but I've cut my losses and moved on. Let's close it off.


apis: add omitempty to optional fields

Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>Very rough approximation of where necessary:
$ git grep -A 1 '+optional' | grep -v optional | grep -v omitempty | grep json

/lgtm

That home-brewed unstructured conversion is really annoying. Every time the type changes, that test breaks.
@ncdc need another LGTM

/lgtm

/retest

/retest

@sttts @ncdc could use another LGTM

codegen

WTF I am running it (clean) locally ...

AH. Hoisted by my own petard. The files change, but the semantic meaning of the objects inside does not. Sigh.

/lgtm


Better handling for long startup time is needed

Typically MySQL instances with bigger buffer pools tend to take longer time to startup. 30 seconds startup time is not feasible in such cases as Chef run fails even though MySQL starts but after taking a little longer.

Merged and released in v6.0.23


How much HW do I have?

When I enter some HW into planner, then go back to overview because I don't want to count out my assignments, the value that is there is the one that was when I loaded the page.
In other words, make it update every time the tab is loaded.

@RobotXLabs This is already the case... Are you sure you are putting it on the right day? It only checks the next day.

Ooh. K got it.


Problem with launching the application (CoreWebView2)

A problem was encountered while launching the application. The problem occurred on Windows 11 Enterprise 21H2 OS Build 22000.527
The sequence of actions performed:

XrmToolBox v1.2022.2.54 is started.
Logged into Power Platform environment
Started the Addvanced App Manager
Received an error while Loading Images

Content of the error:
Unhandled exception has occulted in your application. If you click Continue. the application will ignore this error and attempt to continue. If you click Quit. the application will close immediately.
The instance of CoreWebView2 is uninitialized and unable to complete this operation. See EnsureCoreWebView2Async.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.InvalidOperationException: The instance of CoreWebView2 is uninitialized and unable to complete this operation. See EnsureCoreWebView2Async.
at Microsoft.Web.WebView2.WinForms.WebView2.VerifyInitializedGuard()
at Microsoft.Web.WebView2.WinForms.WebView2.NavigateToString(String htmlContent)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at System.Windows.Forms.ComboBox.set_SelectedItem(Object value)
at Fic.XTB.AdvancedAppManager.AdvancedAppManager.cbApp_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at Fic.XTB.AdvancedAppManager.AdvancedAppManager.b__40_1(RunWorkerCompletedEventArgs args)
at XrmToolBox.Extensibility.Worker.<>c__DisplayClass4_0.b__0(Object s, RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)

I downloaded again XrmToolBox, the problem disappeared, thanks for help ;)


suggestion to make configuration value in PublicClientApplication dynamic

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.6.1
Wrapper Library
Not Applicable
Wrapper Library Version
Not applicable
Description
We have one scenario where we have 3 policy signin, signup and forgot password, and we are handling their response in single js file. Initially we are having signin policy as a default and whenever the page redirect back to home page it only trigger that default policy. My question is that is there any way if we can make this configuration dynamic.
Please suggest any way to do this.
MSAL Configuration
const msalConfigSignInSignUp = {
        auth: {
            clientId: clientId,
            authority: b2cPolicies.authorities.signUpSignIn.authority,
            validateAuthority: false,
            knownAuthorities: [b2cPolicies.authorityDomain],
            redirectUri:signInRedirectValue,
            postLogoutRedirectUri: logOutRedirectValue
        },
        cache: {
            cacheLocation: "sessionStorage", // This configures where your cache will be stored
            storeAuthStateInCookie: false // Set this to "true" to save cache in cookies to address trusted zones limitations in IE (see: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/Known-issues-on-IE-and-Edge-Browser)
        }
    };

Relevant Code Snippets
initMsalConfig(msalConfigSignInSignUp);

    function initMsalConfig(configuration) {

        if ( configuration.auth && configuration.auth.clientId) {
            msalInstance = new msal.PublicClientApplication(configuration);
        }
        if (msalInstance != null) {
            msalInstance.handleRedirectPromise()
                .then(handleResponse)
                .catch(error => {
                    console.error(error);
                    console.log(error.errorMessage);
                    if (error && error.errorMessage && error.errorMessage.indexOf("AADB2C90118") > -1) {
                        try {
                            msalInstance.loginRedirect(b2cPolicies.authorities.forgotPassword);
                        } catch (err) {
                            console.log(err);
                        }
                    }
                });
        }
    }

Identity Provider
Azure B2C Custom Policy
Source
External (Customer)

@deepti1805 You can set the authority per request, which it appears you are doing.

Initially we are having signin policy as a default and whenever the page redirect back to home page it only trigger that default policy. My question is that is there any way if we can make this configuration dynamic.

Are you saying you don't want the signUpSignIn policy to be the default every time? I think that is something that you can better handle in the application, rather than updating the configuration in MSAL.

@deepti1805 You can set the authority per request, which it appears you are doing.

Initially we are having signin policy as a default and whenever the page redirect back to home page it only trigger that default policy. My question is that is there any way if we can make this configuration dynamic.

Are you saying you don't want the signUpSignIn policy to be the default every time? I think that is something that you can better handle in the application, rather than updating the configuration in MSAL.
ok @pkanher617 I was thinking some other solution for this condition but its fine will work on our application. Thanks.


Documentation: Updates

Changed

Adding clarity around what the Orb actually performs
Auto Release example grammar corrects.

Added

Contribution guidelines.
Container Image Notes - some intiial notes about using the container for development and release
have been added to the project.

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/kohirens/version-release?version=dev:1452e07bcd6f624f39ec8d6528dec7f00c508cb8
https://circleci.com/developer/orbs/orb/kohirens/version-release?version=dev:alpha


output_value_hook

Traceback (most recent call last):
File "run.py", line 10, in
from style_transfer import StyleTransfer
File "/content/optimal-textures/style_transfer.py", line 5, in
from utils import output_value_hook, sliced_transport, image_preprocessing, vgg_normalization
ImportError: cannot import name 'output_value_hook' from 'utils' (/content/optimal-textures/utils.py)

Thanks, it should be solved now.


How to deal with Dialects when Deparsing?

Provide Oracle specific dialect:

-- ORACLE ALTER TABLE ADD COLUMN
alter table risk.collateral
add  id_status              VARCHAR(1) NULL;

-- ORACLE ALTER TABLE MODIFY
alter table risk.collateral
MODIFY id_status              VARCHAR(1) NOT NULL;

Will deparse into Invalid Statements (under the scope of the Dialect):

-- ORACLE ALTER TABLE ADD COLUMN
ALTER TABLE risk.collateral ADD COLUMN id_status VARCHAR (1) NULL
;

-- ORACLE ALTER TABLE MODIFY
ALTER TABLE risk.collateral MODIFY COLUMN id_status VARCHAR (1) NOT NULL
;

So my questions are: Can I set/enforce a Dialect in JSQLParser? And how can I see/decide which Statements/Expressions are Dialect specific? (E. g. SELECT INTO comes into my mind.)

As far as I can see you do expect the COLUMN keyword to appear:
    @Test
    public void testAlterTableAddColumn5() throws JSQLParserException {
        Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD col1 timestamp (3)");

        // COLUMN keyword appears in deparsed statement
        assertStatementCanBeDeparsedAs(stmt, "ALTER TABLE mytable ADD COLUMN col1 timestamp (3)");

        Alter alter = (Alter) stmt;
        List<AlterExpression> alterExps = alter.getAlterExpressions();
        AlterExpression col1Exp = alterExps.get(0);
        List<ColumnDataType> col1DataTypes = col1Exp.getColDataTypeList();
        assertEquals("col1", col1DataTypes.get(0).getColumnName());
        assertEquals("timestamp (3)", col1DataTypes.get(0).getColDataType().toString());
    }

    @Test
    public void testAlterTableModifyColumn2() throws JSQLParserException {
        Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable modify col1 timestamp (6)");

        // COLUMN keyword appears in deparsed statement, modify becomes all caps
        assertStatementCanBeDeparsedAs(stmt, "ALTER TABLE mytable MODIFY COLUMN col1 timestamp (6)");

        assertEquals(AlterOperation.MODIFY, ((Alter) stmt).getAlterExpressions().get(0).
                getOperation());
    }

How is that supposed to work with Oracle?
If you agree, I would like to

introduce a boolean property AlterExpression.oracleSpecific which is set to True only when ADD comes without COLUMN keyword or when the MODIFY keyword is set
modify the JAVACC parser definition file to set this property during parsing
amend the AlterExpression toString() method accordingly
modify the Test Cases above.

What do you think please?

Fixed by PR #1158, although I did not define any Dialects but only have checked of the COLUMN keyword has been used.
If not used we won't use it in the Deparser either.
I have corrected the test cases accordingly.

JSqlParser per se has no option to enforce some kind of dialect. It tries to parse what it gets. You can afterwards build some kind of validation using the new validation framework of JSqlParser: https://github.com/JSQLParser/JSqlParser/wiki/Examples-of-SQL-Validation


acorn-save-editor: Add version 0.1

Merge?

Need to sort the manifest.
I recommend using vs code and open the workspace file, it will recommend the extensions needed. Then just right click and sort or save the file to resort it to the spec.