Segfault on functions loaded with glXGetProcAddressARB

Description
I've noticed qrenderdoc not working at all in several applications and found glXCreateContextAttribsARB() to segfault when the application is loading it with glXGetProcAddressARB.
Repro steps
minimal.c
// gcc -O0 -g3 minimal.c -lGL -lX11 -o minimal

#include<GL/glx.h>
#include <stdio.h>

typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, const int*);

int main(int argc, char** argv) {

	// this is presumably what renderdoc doesn't do well
	glXCreateContextAttribsARBProc glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc) glXGetProcAddressARB( (const GLubyte *) "glXCreateContextAttribsARB" );

	Display* dpy = XOpenDisplay(NULL);
	int context_attribs[] = {
		GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
		GLX_CONTEXT_MINOR_VERSION_ARB, 5,
		None
	};
	int singleBufferAttributess[] = {
		GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
		GLX_RENDER_TYPE,   GLX_RGBA_BIT,
		GLX_RED_SIZE,      1,
		GLX_GREEN_SIZE,    1,
		GLX_BLUE_SIZE,     1,
		None
	};
	int fbconfigCount;
	GLXFBConfig* glxFBConfig = glXChooseFBConfig(dpy, DefaultScreen(dpy), singleBufferAttributess, &fbconfigCount);
	GLXContext glxContext = glXCreateContextAttribsARB(dpy, glxFBConfig[0], 0, True, context_attribs);
	printf("GLX Context %p\n", glxContext);
}

Running it standalone prints GLX Context 0x55636d58c8f0.
Running it with qrenderdoc segfaults.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
[Current thread is 1 (Thread 0x7ffff7fe8780 (LWP 23328))]
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff720f1f7 in glXCreateContextAttribsARB () from /usr/bin/../lib/librenderdoc.so
#2  0x0000555555554941 in main (argc=1, argv=0x7fffffffd798) at minimal.c:29

Environment

RenderDoc build: 1.0+544.g6774312e77
Operating System: Archlinux
API: OpenGL

RX 480, latest radeonsi git.

This is also my experience on Ubuntu 16.04 with Intel Haswell targeting OpenGL 3.3 Core. glXCreateContextAttribsARB is used in glfwCreateWindow which results in a segfault.
The problem was introduced in a504389bd132d9caff88e684bc1864cf2d186613, but I'm afraid I don't know enough about RenderDoc or the Linux graphics subsystems to narrow it down further.
The last working version is ee853f7f3321e844316271096b0eb79d08084a5f.

I believe I found the cause, I was assuming that glXCreateContextAttribsARB would be exported from libGL.so which is not guaranteed, so I needed to call glXGetProcAddressARB myself.

Thanks, you indeed fixed my test case.
Unfortunately it didn't fix the crash for the application I actually had a problem with, though the crash changed from a null pointer to a crash within glXCreateContextAttribsARB - and gdb doesn't know where this function is from...
Unfortunately I can't really share anything about the application right now, so I'll maybe try to make another simplified case for reproduction later.
#0  0x000055fe3b99feb8 in glXCreateContextAttribsARB ()
[Current thread is 1 (Thread 0x7f899bfc6780 (LWP 25360))]
(gdb) bt
#0  0x000055fe3b99feb8 in glXCreateContextAttribsARB ()

<redacted>

(gdb) print *glXCreateContextAttribsARB
$1 = {GLXContext (Display *, GLXFBConfig, GLXContext, int, const int *)} 0x55fe3b99feb8 <glXCreateContextAttribsARB>
(gdb) disas
Dump of assembler code for function glXCreateContextAttribsARB:
=> 0x000055fe3b99feb8 <+0>:     mov    $0xfe3b99fe,%eax
   0x000055fe3b99febd <+5>:     push   %rbp
   0x000055fe3b99febe <+6>:     add    %al,(%rax)
End of assembler dump

It's no longer crashing immediately for me as it did before, but it's definitely not quite working. It appears to capture ok, but on open I get a dialog saying:

Error opening capture
/tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
Failed to open capture for replay: API initialisation failed.
Check diagnostic log in Help menu for more details.

Here's the end of the log. I'll email you the whole thing, if you need it.
RDOC 003257: [14:47:02]          rdcfile.cpp(1084) - Log     - Finishing write to section 1 (renderdoc/internal/framecapture). Compressed from 336416192 bytes to 302891275
RDOC 003257: [14:47:02]             core.cpp(1092) - Log     - Written to disk: /tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
RDOC 003257: [14:47:02]          rdcfile.cpp( 239) - Log     - Opening RDCFile /tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
RDOC 003257: [14:47:02]          rdcfile.cpp( 299) - Debug   - Opened capture file for read
RDOC 003247: [14:47:02]   target_control.cpp( 673) - Log     - Got a new capture: 0 (time<PHONE_NUMBER>) 35478 byte thumbnail
RDOC 003257: [14:47:08]         gl_manager.h( 121) - Debug   - Removed 2/42 resources belonging to context/sharegroup<PHONE_NUMBER>6FEFF0
RDOC 003257: [14:47:08]         gl_manager.h( 121) - Debug   - Removed 19/23 resources belonging to context/sharegroup FFFFFFFFFFFFF82F
RDOC 003257: [14:47:08]             core.cpp( 353) - Log     - 'Leaking' unretrieved capture /tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
RDOC 003247: [14:47:08]          rdcfile.cpp( 239) - Log     - Opening RDCFile /tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
RDOC 003247: [14:47:08]          rdcfile.cpp( 299) - Debug   - Opened capture file for read
RDOC 003247: [14:47:08]          rdcfile.cpp( 239) - Log     - Opening RDCFile /tmp/RenderDoc/physcube_2018.07.27_20.46.57_frame10.rdc
RDOC 003247: [14:47:08]          rdcfile.cpp( 299) - Debug   - Opened capture file for read
RDOC 003247: [14:47:08]        gl_replay.cpp(3371) - Debug   - Creating an OpenGL replay device
RDOC 003247: [14:47:08]     glx_platform.cpp( 447) - Debug   - Initialising GL function pointers
RDOC 003247: [14:47:08]     glx_platform.cpp( 467) - Warning - Unable to load 'glXCreateContextAttribsARB'
RDOC 003247: [14:47:08]        gl_replay.cpp(3377) - Error   - Couldn't find required GLX function addresses
RDOC 003247: [14:47:08] replay_controller.cpp(1873) - Error   - Couldn't create a replay device :(.
RDOC 003247: [14:47:08] replay_controller.cpp( 188) - Log     - Shutting down replay renderer

This seems like two different bugs, and different from the original one, @ChristophHaag @cgmb can you open separate issues with any more information you can provide?

[...] the crash changed from a null pointer to a crash within glXCreateContextAttribsARB - and gdb doesn't know where this function is from...

This might be because of a434097f8529201900a699f3dca158dee56fe1a1 which I found in further debugging after this issue. Can you try syncing to latest code next time you have a chance? Otherwise yeh indeed I'd need some kind of repro - hopefully it won't be too system specific that I can't get it.

Warning - Unable to load 'glXCreateContextAttribsARB'
Error   - Couldn't find required GLX function addresses

Someone else ran into this - what they saw was that the first time the file was opened this would happen, but then if you went and opened the .rdc again (e.g. here from /tmp/RenderDoc) it would work. That's obviously still not good but I'd like to know if you're hitting the same case.
What's weird is that this code calls dlsym then glXGetProcAddress and glXGetProcAddressARB to find the function, so it really shouldn't end up with NULL. I'll try and repro on the systems I have locally but if it's system specific I might not be able to fetch it. If you're able it would be really useful to build mesa from source and see why the glXGetProcAddress call isn't returning a valid function pointer at that point in the code (bottom of glx_platform.cpp).
Any more info would be useful, it seems like the repro is straightforward so I'll try it here.

Someone else ran into this - what they saw was that the first time the file was opened this would happen, but then if you went and opened the .rdc again (e.g. here from /tmp/RenderDoc) it would work. That's obviously still not good but I'd like to know if you're hitting the same case.

I gave it a try with 92a90241272399d1c94f9e9fb654694c2fdb6040 and that's exactly the case.

If you're able it would be really useful to build mesa from source and see why the glXGetProcAddress call isn't returning a valid function pointer at that point in the code (bottom of glx_platform.cpp).

I'll try to scrounge up some time to do this... at some point...

@cgmb I think it was the same kind of bug, hopefully fixed with 39258daff7d308bbfaa174ff20cfb39448e28112 - I was able to repro in a VM. Not sure how I didn't hit this before.

[...] the crash changed from a null pointer to a crash within glXCreateContextAttribsARB - and gdb doesn't know where this function is from...

This might be because of a434097 which I found in further debugging after this issue. Can you try syncing to latest code next time you have a chance? Otherwise yeh indeed I'd need some kind of repro - hopefully it won't be too system specific that I can't get it.

Sorry, no change with latest git 1.1+35.g39258daff7.
I have only superficially looked into that application but it was pretty strange. The application is linked to a shared library and it calls an init function in that shared library that loads the function pointers. The function pointers are stored in global variables in the shared library. And the application includes a header in which all the global variables are declared extern.
I still want to try making some code for trying to reproduce this... The gist is that something may go wrong with loading the linked shared library..


How do i customize some faces of a theme

e.g., I want to change the color of the outlines, I saw, for example, in the doom-gruvbox-theme.el, it contains:
   ((outline-1 &override) :foreground yellow)
   ((outline-2 &override) :foreground cyan)
   ((outline-3 &override) :foreground magenta)

i tried to use default foreground colors instead of the specified ones above. i tried:
(custom-theme-set-faces
 'doom-gruvbox
 '(outline-1 :foreground fg)
 '(outline-2 :foreground fg)
 '(outline-3 :foreground fg)
 )

but seems it does not work...
also, i am new to elisp, and could not figure out what is the &override for, i saw in line 166 of doom-themes.el it reads:
...
             unless (memq action '(&inherit &extend &override))
             do (error "Invalid operation (%s) for '%s' face" action face)
...

other than that, i dont find where this override is defined, and something like (outline-1 &override) can not be evaluated as elisp s-expression: "Debugger entered--Lisp error: (void-function outline-1)"

doom does not endorse or reccomend the custom api. you want to use custom-set-faces! which is a doom function. You can look at the documentation for it @ SPC h f custom-set-faces!

Incorrect use of custom-theme-set-faces. Use either:
;; the `doom-gruvbox` theme MUST be loaded before calling this
(custom-theme-set-faces
 'doom-gruvbox
 `(outline-1 ((t (:foreground ,(doom-color 'fg)))))
 `(outline-2 ((t (:foreground ,(doom-color 'fg)))))
 `(outline-3 ((t (:foreground ,(doom-color 'fg))))))

Or use Doom's custom-theme-set-faces! macro:
;; doesn't matter if `doom-gruvbox` is loaded before or after
(custom-theme-set-faces!
 'doom-gruvbox
 `(outline-1 :foreground ,(doom-color 'fg))
 `(outline-2 :foreground ,(doom-color 'fg))
 `(outline-3 :foreground ,(doom-color 'fg)))

You can find documentation and more usage examples in SPC h f custom-theme-set-faces\! (C-h f if you have evil disabled).

In the future, please ask questions like these on our Discord or, when it's up, our Discourse, as our issue tracker is for bugs and feature requests, not how-to-questions.


python311Packages.griffe: 0.32.3 -> 0.33.0

Diff: https://github.com/mkdocstrings/griffe/compare/refs/tags/0.32.3...0.33.0
Changelog: https://github.com/mkdocstrings/griffe/blob/0.33.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 249816 run on x86_64-linux 1

1 package marked as broken and skipped:

netbox_3_3

5 packages failed to build:

netbox
python310Packages.mkdocstrings-python
python310Packages.mkdocstrings-python.dist
python311Packages.mkdocstrings-python
python311Packages.mkdocstrings-python.dist

4 packages built:

griffe (python310Packages.griffe)
griffe.dist (python310Packages.griffe.dist)
python311Packages.griffe
python311Packages.griffe.dist

Result of nixpkgs-review pr 249816 run on x86_64-linux 1

9 packages built:

griffe (python310Packages.griffe)
griffe.dist (python310Packages.griffe.dist)
netbox
python310Packages.mkdocstrings-python
python310Packages.mkdocstrings-python.dist
python311Packages.griffe
python311Packages.griffe.dist
python311Packages.mkdocstrings-python
python311Packages.mkdocstrings-python.dist


Add status field to receipt, per https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionreceipt

As of Byzantium, transaction receipts should have a status field which have a value of 1 for success, and 0 for failure.
https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionreceipt

Going to rebase this one on #27, as the update to solc 0.4.18 shouldn't have been done as part of this PR.

Rather than git push -f I'll just close this an open it under a new branch.


If python cannot be found, extension complains about missing needls

If the python cannot be found (for example, due to the problem as mentioned in #42), the extension complains about a missing/mismatched "open-needs-ls" version, although it is present.
The error message is misleading and can be found only from the log that the real error is because of missing python.
Making the python version available again does not throw the missing needls error without any further action.

Detected this as well.
We will add a test for python only.
Thanks for the bug report.

Solved by fixing issue #42


"param must be an AudioParam" error on 14.7.3 with Firefox

Firefox seems to handle the AudioContext's AudioListener property different than other browsers. In particular, it doesn't seem to initialize some some orientation values Tone.js is attempting to read in, causing it to throw in Listener.js:
  30 | this.forwardY = new Param({
  31 |     context: this.context,
  32 |     param: this.context.rawContext.listener.forwardY,
> 33 | });
     | ^  34 | this.forwardZ = new Param({
  35 |     context: this.context,
  36 |     param: this.context.rawContext.listener.forwardZ,

The error is reproduced by this jsfiddle in Firefox:
https://jsfiddle.net/69r4szhy/
I create an AudioContext, apply Tone.setContext, but then Tone will error the first time I attempt to call .toDestination() with the error param must be an AudioParam
I'm on Firefox 77.0b7, but have noticed the same error in their mobile browser.

Thanks for the issue. This has to do with the way that you are creating and setting your own AudioContext since Tone.js is designed agains the Web Audio API specification on not browser-specific implementation.
Tone.js uses standardized-audio-context to smooth out differences between browsers. One of the big differences is in the AudioListener which varies between browsers if they have forwardX/Y/Z as an AudioParam or just a number.
Since you are setting your own AudioContext, it does not have the same polyfills to normalize the Web Audio API which is causing that error. I'd suggest that if want to create your own context which will work the same in all browsers, you should use standardized-audio-context or create a context using Tone.js' AudioContext wrapper which already wraps standardized-audio-context. To do this you could use new Tone.Context() in the line where you have new AudioContext().

Works great! Much appreciate the clear explanation and quick reply, thanks!


Add CI and local modes

Not always are all rules as applicable. Locally I want to create fixup and squash commits all the time and it shouldn't complain, or instead warn rather than error. On the CI environment it should fail on these types of commits.
# Run in local mode (useful for Git hooks)
lintje --local
lintje -l

# Run in CI mode (useful for in automated builds)
lintje --ci

The CI mode will be the default mode? (The most strict.) Or the local mode?

This is blocked on https://github.com/tombruijn/lintje/issues/24 where I'm working on different levels of severity for rules.


fixes 03_decode_fix_stream example

I believe this fixes it. Let me know if something more is needed.

Fixed in #26, after cherrypicking from #25. Thanks a lot for this 😄


Document.CentralPath

noticed in dyn2.0 the Document.CentralPath node fails and is missing the python node within the custom node.

When I went back into the dyn 1.3.4 version and copied the python code out it comes up with this:

Thank you so very much for making this package, I use this node more than others, but certainly make use of a lot of them.
-Mark

Hi, I'm not sure what was the issue but I can't replicate it. Everything behaves as expected:

Thank you. Yes, I am in a new position at a new company, and it does work
in dynamo 2.0.3 in revit 2019, so it might have been an issue with pyrevit
in the old environment.
On Wed, Sep 11, 2019 at 5:52 AM Dimitar Venkov<EMAIL_ADDRESS>wrote:

Hi, I'm not sure what was the issue but I can't replicate it. Everything
behaves as expected:
[image: image]
https://user-images.githubusercontent.com/7148394/64698764-27e08600-d4ac-11e9-8d91-a8223ff7ecb8.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dimven/SpringNodes/issues/52?email_source=notifications&email_token=AE7AKRLDFW64ZOKUBCSEUMLQJDSZTA5CNFSM4HM27VJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6OL5WY#issuecomment-530366171,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE7AKROLQISLMBI2TA23TW3QJDSZTANCNFSM4HM27VJA
.


Review Preprocessing

Feel free to comment on usability, features to add etc.
https://github.com/cc-ai/floods-gans/tree/master/preprocessing

Looks great to me

Looks good.


Squirrel fails to run (install) on virtual machine

Describe the bug
I downloaded green-tunnel, double clicked it, Squirrel.exe returned error:
This application could not be started. Do you want to view information about this issue?
Clicking yes opens this link:
https://docs.microsoft.com/en-us/dotnet/framework/deployment/initialization-errors-managing-the-user-experience?version=(null)&processName=Squirrel.exe&platform=0009&osver=6&isServer=0&shimver=4.0.30319.0
Green-tunnel eventually runs and a shortcut is created on the desktop but it doesn't circumvent websites like youtube so it doesn't work.

In "Turn windows features on or off" I Installed ".NET Framework 3.5 (includes .NET 2.5 and 3.0)"
I also have .NET Framework 4.7 Advanced Services.

I get the error twice on one run,
I can't install apps on the computer I'm using so I want to use green-tunnel on a virtual machine.
To Reproduce
Steps to reproduce the behavior:
Install the green-tunnel on a virtual machine.
Expected behavior
To not receive the error and for green-tunnel to actually work because it doesn't work.
Desktop (please complete the following information):

OS: Windows 10 1709 LTS 64-bit, VMWare 14.1.2
Browser : Chrome
Version :Version 75.0.3770.100 (Official Build) (64-bit)

I was checking other issues and found this one: https://github.com/SadeghHayeri/GreenTunnel/issues/23
Seems like green-tunnel is not setting the proxy automatically for me, when I checked, there was not proxy address implemented, I added <IP_ADDRESS> port 8000 and youtube opens up :D
But I'm using the latest version of green-tunnel (1.3.2)..

Now, browser doesn't open anything and I got this error:

I also got this error

The squirrel bug should be resolved in v1.6.7.
I'm working on GUI error alerts to resolve second issue.
thanks.


Feature: Allow concurrent RPC calls on rabbit implementation

Is your feature request related to a problem? Please describe.
Currently (with faststream-0.4.7) when multiple rpc publications are done simultaneously calls are done one after the other.
IIRC this is due to a AioPikaFastProducer._rpc_lock.
Describe the solution you'd like
It would be great that calls to rpc are done simultaneously (for instance with a correlation id as documented on https://aio-pika.readthedocs.io/en/latest/rabbitmq-tutorial/6-rpc.html).
Feature code example
client.py:
import asyncio
import datetime
import uuid

from faststream.rabbit import RabbitBroker

broker = RabbitBroker("amqp://guest:guest@localhost:5672/")

async def send(msg: str) -> None:
    print("sending", msg, datetime.datetime.now())
    r = await broker.publish(
        msg,
        "test",
        rpc=True,
        rpc_timeout=None,
    )
    print("received", r, datetime.datetime.now())

async def main() -> None:
    await broker.connect()
    await asyncio.gather(*[send(f"{i}:{uuid.uuid4()}") for i in range(10)])

if __name__ == "__main__":
    asyncio.run(main())

server.py
import asyncio

from faststream import FastStream
from faststream.rabbit import RabbitBroker

broker = RabbitBroker("amqp://guest:guest@localhost:5672/", max_consumers=10)

@broker.subscriber("test")
async def base_handler(body: str) -> str:
    print("received", body)
    await asyncio.sleep(1)
    return body

async def main() -> None:
    app = FastStream(broker)
    await app.run()  # blocking method

if __name__ == "__main__":
    asyncio.run(main())

logs :
sending 0:92d1c227-5b4f-468a-8779-723fff743252 2024-03-18 16:12:43.587208
sending 1:3d3e1780-fe2b-40b2-9a97-f75498c6d5a2 2024-03-18 16:12:43.589087
sending 2:9f25e75e-856e-409e-98a7-89244ed71860 2024-03-18 16:12:43.589135
sending 3:f1b008b3-434f-4281-9a07-b027063f65b9 2024-03-18 16:12:43.589204
sending 4:05abb242-9880-4a84-8d67-c1cca88ee2c1 2024-03-18 16:12:43.589230
sending 5:75914f26-290a-4fa5-9606-50d6d5312344 2024-03-18 16:12:43.589250
sending 6:08f436fa-8238-4aa8-be19-9d8cab9fd637 2024-03-18 16:12:43.589269
sending 7:67db3517-c552-46e7-95e5-0f0d171790f3 2024-03-18 16:12:43.589286
sending 8:c558b771-7058-48f8-a82c-05de46ea4b18 2024-03-18 16:12:43.589304
sending 9:095ea2da-7e09-4d84-9adb-f36284d12f12 2024-03-18 16:12:43.589321
received 0:92d1c227-5b4f-468a-8779-723fff743252 2024-03-18 16:12:44.606000
received 1:3d3e1780-fe2b-40b2-9a97-f75498c6d5a2 2024-03-18 16:12:45.619650
received 2:9f25e75e-856e-409e-98a7-89244ed71860 2024-03-18 16:12:46.627189
received 3:f1b008b3-434f-4281-9a07-b027063f65b9 2024-03-18 16:12:47.634551
received 4:05abb242-9880-4a84-8d67-c1cca88ee2c1 2024-03-18 16:12:48.646457
received 5:75914f26-290a-4fa5-9606-50d6d5312344 2024-03-18 16:12:49.655983
received 6:08f436fa-8238-4aa8-be19-9d8cab9fd637 2024-03-18 16:12:50.667091
received 7:67db3517-c552-46e7-95e5-0f0d171790f3 2024-03-18 16:12:51.676912
received 8:c558b771-7058-48f8-a82c-05de46ea4b18 2024-03-18 16:12:52.685301
received 9:095ea2da-7e09-4d84-9adb-f36284d12f12 2024-03-18 16:12:53.695455

Note that the last answer arrives 10s later (instead of 1s)
Describe alternatives you've considered
A workaround is to avoid faststream on client side and use rpc with correlation id as documented on https://aio-pika.readthedocs.io/en/latest/rabbitmq-tutorial/6-rpc.html
Additional context
None

Hello, @a14n!
Unfortunately, we can't use aio-pika RPC way. The main goal of FastStream RPC is do not create a special queue to consume responses. Thus, FastStream uses RMQ Direct Reply-to feature to send RPC requests. But, this mechanism has a limitation - you can't send multiple requests at the same time from one channel-connection pair. So, we can't send RPC requests concurrently until #975 is not released.
Although, RPC is not a correct case for RMQ: we already discussed it in #1252.
If you want to consume persistent request-reply stream, please create persistent subscriber and use reply_to header instead of RPC. If you want to match replies with original requests, you can use smth like the following snippet (from Discord)
from asyncio import Future
from contextlib import asynccontextmanager
from typing import Annotated, Any
from uuid import uuid4

from faststream import Context, FastStream, context
from faststream.rabbit import RabbitBroker

@asynccontextmanager
async def lifespan():
    context.set_global("replies_container", {})
    yield

RepliesContainer = Annotated[dict[str, Future[Any]], Context("replies_container")]

broker = RabbitBroker()
app = FastStream(broker, lifespan=lifespan)

@broker.subscriber("replies")
def handle_reply(
    data,
    container: RepliesContainer,
    cor_id: str = Context("message.correlation_id"),
):
    if (future := container.pop(cor_id, None)) and not future.done():
        future.set_result(data)

async def custom_rpc(
    broker: NatsBroker,
    msg: Any,
    subject: str,
    container: RepliesContainer,
) -> Any:
    cor_id = uuid4().hex
    container[cor_id] = result_future = Future()
    await broker.publish(msg, subject, correlation_id=cor_id)
    return await result_future

# Emulation

@broker.subscriber("in")
@broker.publisher("replies")
async def handle_request(data):
    """Your hardcoded not-FastStream service."""
    return data

@app.after_startup
async def t(container: RepliesContainer):
    response = await custom_rpc(broker, "test", "in", container)
    print(response)

This code is the same with aio-pika example thing, so it should solve your problem

Thanks for your quick reply.

I met the same problem with redis, even with rpc=False. It acts like a sync program and takes no advantages of async.

I think there should be a parameters to decide how many task can run parallelly

I think there should be a parameters to decide how many task can run parallelly

You can use other methods to implement RPC calls.

I don't mean the rpc request. The point is the whole lib takes no advantage of asyncio. Tasks run one by one, just like sync program. What 's meaning of make such a lib using asyncio/anyio?


CUDA_ERROR_ILLEGAL_ADDRESS error with AlphaFold multimer 2.3.0

Hi!
I am trying to run AlphaFold 2.3.0 multimer and encountered this error: Execution of replica 0 failed: INTERNAL: Failed to load in-memory CUBIN: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered (see details below). I was wondering if you could help me resolve it? Thank you very much!!
Machine spec etc.:

Ubuntu 20.04 LTS
GPU: nvidia RTX 3090
cuda version: tried both 11.1.1 and 11.4.0 (both gave the same error)
total length of the protein complex: ~2200 aa

When I searched related errors online, it seems there are generally two solutions proposed: (1) change to a newer cuda version https://github.com/deepmind/dm-haiku/issues/204, or (2) disable unified memory https://github.com/deepmind/alphafold/issues/406.
I tried using cuda 11.4.0 instead of 11.1.1 by changing the following lines in Dockerfile, but the same error persists.
ARG CUDA=11.1.1 --->>> ARG CUDA=11.4.0
FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu18.04 --->>> FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu20.04
conda install -y -c conda-forge cudatoolkit==${CUDA_VERSION} --->>> conda install -y -c "nvidia/label/cuda-11.4.0" cuda-toolkit

As for (2) disable unified memory, I am worried that this would give me out of memory error given the size of the protein.
Not sure if this is relevant, but this is a recent problem and prediction for this and other similarly-sized complexes worked fine before (was using v2.2.0 before, and I wonder if this is an issue with e.g. version of jax or jaxlib).
Thank you very much!
Error message:
I1226 15:42:37.167795<PHONE_NUMBER>79936 run_docker.py:255] I1226 06:42:37.167222<PHONE_NUMBER>40480 amber_minimize.py:407] Minimizing protein, attempt 1 of 100.
I1226 15:42:39.806318<PHONE_NUMBER>79936 run_docker.py:255] I1226 06:42:39.805861<PHONE_NUMBER>40480 amber_minimize.py:68] Restraining 17790 / 35357 particles.
I1226 15:45:15.867727<PHONE_NUMBER>79936 run_docker.py:255] I1226 06:45:15.866998<PHONE_NUMBER>40480 amber_minimize.py:177] alterations info: {'nonstandard_residues': [], 'removed_heterogens': set(), 'missing_residues': {}, 'missing_heavy_atoms': {}, 'missing_terminals': {}, 'Se_in_MET': [], 'removed_chains': {0: []}}
I1226 15:45:42.889597<PHONE_NUMBER>79936 run_docker.py:255] 2022-12-26 06:45:42.889173: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2153] Execution of replica 0 failed: INTERNAL: Failed to load in-memory CUBIN: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered
I1226 15:45:42.899475<PHONE_NUMBER>79936 run_docker.py:255] Traceback (most recent call last):
I1226 15:45:42.899577<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/run_alphafold.py", line 432, in <module>
I1226 15:45:42.899646<PHONE_NUMBER>79936 run_docker.py:255] app.run(main)
I1226 15:45:42.899709<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/absl/app.py", line 312, in run
I1226 15:45:42.899771<PHONE_NUMBER>79936 run_docker.py:255] _run_main(main, args)
I1226 15:45:42.899834<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/absl/app.py", line 258, in _run_main
I1226 15:45:42.899896<PHONE_NUMBER>79936 run_docker.py:255] sys.exit(main(argv))
I1226 15:45:42.899957<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/run_alphafold.py", line 408, in main
I1226 15:45:42.900018<PHONE_NUMBER>79936 run_docker.py:255] predict_structure(
I1226 15:45:42.900109<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/run_alphafold.py", line 243, in predict_structure
I1226 15:45:42.900174<PHONE_NUMBER>79936 run_docker.py:255] relaxed_pdb_str, _, violations = amber_relaxer.process(
I1226 15:45:42.900234<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/relax/relax.py", line 62, in process
I1226 15:45:42.900292<PHONE_NUMBER>79936 run_docker.py:255] out = amber_minimize.run_pipeline(
I1226 15:45:42.900353<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/relax/amber_minimize.py", line 489, in run_pipeline
I1226 15:45:42.900412<PHONE_NUMBER>79936 run_docker.py:255] ret.update(get_violation_metrics(prot))
I1226 15:45:42.900472<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/relax/amber_minimize.py", line 357, in get_violation_metrics
I1226 15:45:42.900531<PHONE_NUMBER>79936 run_docker.py:255] structural_violations, struct_metrics = find_violations(prot)
I1226 15:45:42.900591<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/relax/amber_minimize.py", line 339, in find_violations
I1226 15:45:42.900651<PHONE_NUMBER>79936 run_docker.py:255] violations = folding.find_structural_violations(
I1226 15:45:42.900712<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/model/folding.py", line 761, in find_structural_violations
I1226 15:45:42.900774<PHONE_NUMBER>79936 run_docker.py:255] between_residue_clashes = all_atom.between_residue_clash_loss(
I1226 15:45:42.900835<PHONE_NUMBER>79936 run_docker.py:255] File "/app/alphafold/alphafold/model/all_atom.py", line 783, in between_residue_clash_loss
I1226 15:45:42.900898<PHONE_NUMBER>79936 run_docker.py:255] dists = jnp.sqrt(1e-10 + jnp.sum(
I1226 15:45:42.900959<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/jax/_src/numpy/reductions.py", line 216, in sum
I1226 15:45:42.901019<PHONE_NUMBER>79936 run_docker.py:255] return _reduce_sum(a, axis=_ensure_optional_axes(axis), dtype=dtype, out=out,
I1226 15:45:42.901078<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/jax/_src/traceback_util.py", line 162, in reraise_with_filtered_traceback
I1226 15:45:42.901138<PHONE_NUMBER>79936 run_docker.py:255] return fun(*args, **kwargs)
I1226 15:45:42.901199<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/jax/_src/api.py", line 623, in cache_miss
I1226 15:45:42.901261<PHONE_NUMBER>79936 run_docker.py:255] out_flat = call_bind_continuation(execute(*args_flat))
I1226 15:45:42.901322<PHONE_NUMBER>79936 run_docker.py:255] File "/opt/conda/lib/python3.8/site-packages/jax/_src/dispatch.py", line 895, in _execute_compiled
I1226 15:45:42.901383<PHONE_NUMBER>79936 run_docker.py:255] out_flat = compiled.execute(in_flat)
I1226 15:45:42.901446<PHONE_NUMBER>79936 run_docker.py:255] jax._src.traceback_util.UnfilteredStackTrace: jaxlib.xla_extension.XlaRuntimeError: INTERNAL: Failed to load in-memory CUBIN: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered
I1226 15:45:42.901507<PHONE_NUMBER>79936 run_docker.py:255]
I1226 15:45:42.901568<PHONE_NUMBER>79936 run_docker.py:255] The stack trace below excludes JAX-internal frames.
I1226 15:45:42.901637<PHONE_NUMBER>79936 run_docker.py:255] The preceding is the original exception that occurred, unmodified.

Hi @sz-1002
I am having the same issue on the relaxation step.
https://github.com/deepmind/alphafold/issues/660
I tried with newer version of CUDA (11.6) and had the same issue.

Hi @leiterenato
Thanks for letting me know! Hopefully there will be a solution for this.

a different non-relax model issue seems to have been resolved by using cuda 11.8 https://github.com/deepmind/alphafold/issues/646#issuecomment-1364912401
assuming that doesn't work, can try use_gpu_relax=False, or turn off relax entirely with run_relax=False. we will attempt to address the problem more fully in the new year.

We think this is due to jax version change from 0.3.17 to 0.3.25. We don't want to revert jax version though, so are looking for workarounds.

The latest fix should solve this issue. Thank you for your patience.

Fixed in AlphaFold v2.3.1. Thank you!

Thank you!


feat: implemented incremental cache

Description

Documentation

Tests

You can test this change yourself like so:

TODO

Relevant links (GitHub issues, etc.) or a picture of cute animal

Fixes
Fixes https://github.com/netlify/pod-ecosystem-frameworks/issues/568

I merged this branch into #2287.


UpdateableProperties does not include properties recursively or in base types

This is a pretty big limitation in how we model update operations right now in @cadl-lang/rest, @azure-tools/cadl-azure-core and @azure-tools/cadl-azure-resource-manager.
We need to be able to find all updateable properties in a model like this:
model BaseModel {
  @visibility("read", "update")
  baseProp: string;
}

model SecondaryModel {
  @visibility("read", "update")
  frob: string;
}

model RealModel extends BaseModel {
  @visibility("read", "update")
  name: string;

  @visibility("read", "update")
  other: SecondaryModel;

  @visibility("read")
  cantChangeMe: string;
}

Some things to consider:

Should we take a more "traditional" approach and use cloneType to rebuild the graph of models starting from T?
Or should we use projections instead since the former approach is basically the same thing?
Possibly exclude discriminator properties from updateable properties set (or mark it as not updatable)

/cc @johanste

The visibility applied by #687 during is actually recursive, but that is also the source of the huge challenge that has made it drag on for so long. :(
Also, there's the whole issue we discussed of needing to push this down into another layer than during the Cadl -> Open API schema conversion for use in other emitters, that #687 doesn't solve.

@nguerrera do you have a link to that discussion?

Also, neither #687 nor the metadata proposal deal with making properties optional when applying update visibility.
I was contemplating attempting to do the transformation on the Cadl graph to push it down and to fix si I recall that we said projections weren't right for this but I forget the details.
@bterlson I don't have a link, but it was a long portion of the review meeting of my notes on the draft PR and you were there. There was brainstorming about Cadl->Cadl vs. applying visibility as part of Cadl->OpenAPI but that is all.

I recall the meeting but was hoping something was more documented. Was just talking with @johanste about this issue and we kinda came to the conclusion that "just take T and let the emitter sort it out" was the path of least resistance that is also easiest for API authors, but it makes me a little nervous because it breaks layering - to the extent possible downstream emitters should see the result of the visibility/patchable/etc. in types rather than that logic being emitter specific...
Do you recall any possible solutions proposed in the meeting? E.g. you could imagine an emitter-time equivalent of a mutating decorator where the emitter can just cram new computed types into the graph and any emitters that run later see that, but that approach has a lot of problems and limitations...

The layering breaking is keeping me up at night, to be honest. There's a sunk cost fallacy keeping me biased but I'm terrified that we'll end up throwing it away to get something that works cross-emitter.

Was just talking with @johanste about this issue and we kinda came to the conclusion that "just take T and let the emitter sort it out" was the path of least resistance that is also easiest for API authors, but it makes me a little nervous because it breaks layering

Yeah, it is not ideal. But in the short term, it should unblock emitters. Some will completely ignore the updatability, some will just update type annotations etc. And what we really need in the short term is a json-merge-patch representation of (the transitive closure of) a given model. Which @bterlson was helpful enough to call out that it is not just Optional<Updatable> but, in fact Nullable<Optional<Updatable>> with special understanding of arrays (e.g. Updatable<T[]> === T[])

I think different emitters will want different graph transformations. For example, in openapi visibility("read") is readonly: true and can be shared with other visibilities, but another emitter may not want this sharing. I think we want an emitter to express the deep transformation it wants to something lower that carries it out.
The deep transformation is not a straight deep-clone-and-filter. You want to share types that don't get modified or that get modified the same way for multiple visibilities.
We already have issues when we use spread-and-decorate to create mutated types where you get unwanted dupes. KeysOf<Parent<T>> !== ParentKeys<T>.
I think for something like Updateable you want https://github.com/microsoft/cadl/issues/521 so you can return existing types.
I recall now that it was when we discussed that issue that we said projections were not able to fill this need.

And what we really need in the short term is a json-merge-patch representation of (the transitive closure of) a given model

For this short term need is it acceptable to:

fail if there is a cycle?
inline the whole closure in OpenAPI the way the top-level is currently inlined, IIRC?

I ask because I think the short term need can be easier than some of the things I'm talking about if it's yes and yes.

Projections clones the entire graph because as soon as a modification occurs on the leaf, things which refer to it need to be modified to point to the new type, and this recurses all the way to the root. It also simplifies a fair amount of logic. You probably want a system where A referring to B when B is mutated, A remains the same. Early in the projections journey we considered a cursor-style approach which could conceivably handle this kind of thing (essentially looking each type you come across up in a map) but has a ton more complexity for everyone involved.
But let's say we had such a mechanism - would it even solve the layering violation? Wouldn't downstream emitters have to know to "ask for" the proper view of the world as constructed by some higher level abstractions?

A referring to B when B is mutated, A remains the same.

Did you mean "A referring to B, when A is mutated, B remains the same"?
This is what we want in the OpenAPI emit of metadata proposal. We want to bubble up, but we don't want to clone the whole graph and create more types than necessary.
I think I'm thinking about something different in terms of layering violation. I would want such a facility so that I could at least point others to it who need to do the same type of computation. That seems like it would be useful even if it not as a way to just transparently insert yourself into a chain and make magic happen.

Is that not solved by exposing the utility functions used to compute the types you need?

Maybe. I don't know exactly what the utility functions should look like. For the issues I faced, it wouldn't be sufficient, for example, to make filterModelProperties recursive where it is smart enought to bubble changes up while sharing elsewhere. Because we would still create multiple types if two different filters applied to the same model produced the same result.

It could simplify things if we don't need that. Specifically for metadata, if we could say once something changes for visibility, it creates a new type for itself and everyone who refers to it. If another visibility produces the same set of properties, too bad, you get another copy of this and everything that refers to it. I think this would produce correct but suboptimal results. I'm now tempted to make a quick version like this just to see how much less code there is and how much more reusable that is and then compare it to the current draft in terms of how the output looks with various examples. If that was enough and we generalized filter to a callback that can either something that could remove or change its type, it could maybe be reused for this too. And then if we did #521 we could wire calls to this helper to template instantiation.

Hmm, no, I don't think what I was imagining to try "quickly" would work, lol. You still need to be able to reuse past results even if you don't do it for different visibilities. Because you'll end up asking for the transformation on the same subgraphs. But maybe if you had something like:
function createModelTransformer(propertyHandler);
interface ModelTransformer {
   getTransformedModel(model: ModelType): ModelType;
}

where propertyCallback takes a property and returns no-op or request to rename/delete/make-optional/change-type/etc.  (Didn't want to bother trying to express that as code in a comment)
And then ModelTransformer memoizes results so it goes deep down the graph and bubbles up, but if you ask it for a subgraph its already processed it returns that.
I've probably hijacked this thread and I'm sorry for that.

The memoizing mutator is the path that I was considering after (quickly) giving up on projections. Using evaluateCadl of course!

Trying something along these lines and if it works, it will simplify my code a lot and provide a path to do things like this. But it doesn't work yet, so no promises. :)

@nguerrera Any update on this?  @johanste was asking me about it today.

This morphed into the "realm" feature that @timotheeguerin, @bterlson and I discussed. Working on writing something up. My attempt at a quicker feature did not succeed.

Do we need for the operation id-based grouping in swagger output to line up with the dpg grouping? I ask because surely we wouldn't have openapi emit depend on cadl-dpg.

@markcowl Need current status update

In the end, the metadata proposal was implemented without this realms feature.
With this implemented, the openapi3 emitter will deeply automatically filter "update" visibility for PUT and PATCH operations. See https://cadlwebsite.z1.web.core.windows.net/docs/standard-library/rest/operations/#automatic-visibility. A wrapper UpdateableProperties<T> is not needed for that and the intent is that you can use logical T directly.
This hasn't been ported to cadl-autorest, but a PR for that should be up soon. Tracking issue: #1070.
But one thing the metadata proposal did not address is making properties optional as OptionalProperties<T> does. It's possible but would things to work this into the automatic transformation that happens for visibility. That might be the most practical.
https://github.com/Azure/cadl-azure/issues/2144 is dicussing getting back to the logical resource type in an emitter, which may also be relevant.

@daviwil I think we can close this one, right? We did the thing where we make the properties optional recursively using the metadata layer, right?

Closing @daviwil Please open a new issue for any lingering issues with PATCH


added openstack metadata integration

hello, I've added integration for openstack way of calling tags

Thanks very much for the quick turnaround on this review!

Sure no problem, Thank you for the great work


Emojis - Emojis are cut through the middle on iOS and Android app

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v1.4.63-0
Reproducible in staging?: Y
Reproducible in production?: N
Found when executing PR: https://github.com/Expensify/App/pull/39597
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Access the New Expensify app
Sign into a valid account
Go to any chat
Send an Emoji on iOS or Android (Notice that the emoji will be enlarged before typing anything, but if it is not, type a couple of letters to get the emoji to switch sizes)

Expected Result:
User expects the Emoji to fit in the text box
Actual Result:
The emoji is cut in half
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/f15fdb07-72c8-4fb6-9fa8-a55f68757e25

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @nkuoch

We think this issue might be related to the #vip-vsb.

Production less cut off

Ah, this looks related to the recent emoji changes we added - cc @Skalakid

Going to demote since this only happens if you send just emojis, but looks like something we should def fix

cc @tomekzaw @robertKozik since they worked on live markdown native implementation

Hi! I'll take over it

Assigned to @robertKozik

Payment Summary:

C+ - @Ollyws - offer sent in upwork $250 please accept thanks
Contributor - @robertKozik does not require payment (Contractor)

Payment Summary:
C+ - @Ollyws - paid in upwork $250
Contributor - @robertKozik does not require payment (Contractor)
No regression test as picked up in KI testing report by Applause


Waypoint Action like START_TAKE_PHOTO not working

When developing missions with Waypoint Actions like START_TAKE_PHOTO, START_RECORD, STOP_RECORD I have observed that this works only with the last waypoint. The actions are not executed in the intermediate waypoints.
How can we add different waypoint actions? Has anyone developed a solution for this?
Thank You
Himanshu V
Vyorius Drones
New Delhi, India

A new version is out, it introduces a loot of new things, so I branched the 1.14.x that we have used for the last year, just in case.
The new 1.16.1 should handle mission and waypoints better.
Stuff like on-the-fly donwnload and mail repost og images is now supported, and work while still flying.

I noticed that the last time the commit updated the live FTP image download function, but at present, the use of this function is not written in both README and wiki. So let me ask, if I want to take a photo in a waypoint mission, and export the photo to the QGroundControl end after the waypoint mission, how should I do it? Thank you

When using waypoint actions like taking photos in waypoint, an error occurs after uploading the mission plan:
APP

QGC

Can be easily implemented in new MissionManager class. Do you still need it?
What exactly do you want?
a) Desired elapsed time between two consecutive pictures (in seconds). Minimum values depend on hardware (typically greater than 2 seconds)?
b) A total number of images to capture?

Closing for now.


assembler/qemu: support for GPT partition UUIDs

The GUID Partition Table (GPT) layout supports assigning UUIDs for individual partitions. Add support for specifying those in the partition description.

I'm not sure about proper naming here, but should we call this partuuid to make it aligned with image-info tool from composer repo?

I'm not sure about proper naming here, but should we call this partuuid to make it aligned with image-info tool from composer repo?

I am torn, sfdisk calls it uuid in the input section, and it is already namespaced by being inside the partition. Having said that I have no strong feelings ;)

ok, let's merge it as is and hopefully it won't create even more confusion around uuids :)


Performance Observations

Hi,
I have been conducting performance and resilience testing to determine how the Broker performs under various real world scenarios.
Observations:
Scenario 1 - Flash Crowd - Large number of incoming connections (2000).
The AcceptClientConnectionsAsync() is a hot spot as incoming connections must be accepted at a high rate.
The performance can be improved by removing the _logger.
Scenario 2 - Crowd Disconnection - Large number of disconnections (1000)
The Disconnect operation is expensive causing the CPU to hit 100% for a long period.
Scenario 3 - This is a combination of Scenario 1 & 2 followed by Scenario 1 with half number (1000) the new connections.
The Disconnection operation from Scenario 2 appears to prevent incoming connections to be readily accepted.

can you also try the aspnetcore 2.1 adapter? it relies on kestrel network stack so it should be more robust

Hi,
thank you for providing the measurement results.
Scenario 1: I changed the generation of the log message to string.Format instead of string interpolation. With a disabled logger the performance should be better now (in dev branch).
Do you have some more details for Scenatio 2?
Best regards
Christian

@chkr1011 regarding scenario 2 currently there is use of exceptions to cancel a session and the associated tasks, if there are a bunch of connections that generates the cpu load. Im just not shure how to handle that instead...

I think it would be best to create a benchmark for the case described by op and then optimize, maybe there are other issues we did not think of yet

Hi,
Thanks for your feedback. I have some suggestions that should improve performance.
At the moment the Broker is relying on the OS and .NET to manage performance and reliability.
In order to manage the performance and reliability it would be important to divide the Broker up into areas of responsibility and to provide settings to control the behaviour of the areas.
The Broker can be divided up into different areas of responsibilities:-
Listener - Accepting new connections
Transmitter - Sending of messages to clients
Receiver - Handling incoming messages from the client
Disconnections - Handling of client disconnecting or aborting.
Log Writer - Publishing of logs
Health - Monitors the other sections and manages each sections.
Each area can be run as dedicated named thread controlled by settings e.g. Listener is a dedicated task, the Log writer another etc.
To achieve a balance between performance and reliability it is important to assign priorities to each responsibility.
For example maintaining existing sessions has a higher priority than accepting new connections and disconnecting sessions has the lowest priority of the afore mentioned.
The Logger can have a dedicated thread responsible for processing a Log Writer queue which is fed by the Logger.
The Health Monitor thread can be used manage the other threads like throttling back accepting new connections when under heavy load.
By taking control the threading and having settings to configure the Broker the CPU cores can be managed and not overloaded when subjected to the scenarios I reported.
Remember to reserve +-30% CPU for the OS and .NET GC i.e. use only 7 of 8 Cpu cores at any time.

Is this still relevant?

no, in case @GarageGadget want to provide a pr with changes im happy to review but for now ill close the issue


How do I get the HTTP URL using Botocore?

I've always used the Boto library to use Amazon's S3 service, but because of a Python 3.4 project I had to use Botocore instead. I've figured out how to do most things, but I can't seem to find how to do one (pretty essential) thing; generating urls. In Boto I would simply set a Key and fire the generate_url method. How do I do this in Botocore? I know how to download and save files, but I would much rather just get a link because of server performance and what-not.

@faridelnasire I had similar question and got promising answer at boto/boto3#110.
It is partially (only relative expiration time) implemented in branch clients-only and is on the botocore roadmap as just the next step to complete.

The feature is currently available in botocore. Here is the related documentation:
http://botocore.readthedocs.org/en/latest/reference/services/s3.html#S3.Client.generate_presigned_url
Here is an example of how you would use the method as well: https://github.com/boto/botocore/blob/develop/tests/integration/test_s3.py#L441
Closing issue. Please update the issue if you have any more questions or comments.


Can't get Slate to run on MacOS Sierra

I'm on the dev branch, and 'bundle install' isn't working.
Using Ruby 2.3 via rvm.
I realise this is caused by the relatively new MacOS 'rootless' feature, but I don't really want to disable that.
Is there any workaround anyone can suggest?
➜  slate git:(dev) ✗ bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Installing concurrent-ruby 1.0.4
Installing i18n 0.7.0
Installing minitest 5.10.1
Installing thread_safe 0.3.5
Installing public_suffix 2.0.5
Installing execjs 2.7.0
Installing backports 3.6.8
Installing coffee-script-source 1.12.2
Installing sass 3.4.23
Installing contracts 0.13.0
Installing dotenv 2.1.2
Installing erubis 2.7.0
Installing fast_blank 1.0.0 with native extensions
Installing ffi 1.9.17 with native extensions
Installing tilt 2.0.5
Installing hashie 3.4.6
Installing kramdown 1.13.2
Installing rb-fsevent 0.9.8
Installing memoist 0.15.0
Installing thor 0.19.4
Using bundler 1.14.1
Installing parallel 1.10.0
Installing rack 2.0.1
Installing servolux 0.12.0
Installing rouge 2.0.7
Installing redcarpet 3.4.0 with native extensions
Installing hamster 3.0.0
Installing tzinfo 1.2.2
Installing addressable 2.5.0
Installing autoprefixer-rails 6.6.1
Installing uglifier 3.0.4
Installing coffee-script 2.4.1
Errno::EACCES: Permission denied @ rb_sysopen - /usr/local/bin/sass
An error occurred while installing sass (3.4.23), and Bundler cannot continue.
Make sure that `gem install sass -v '3.4.23'` succeeds before bundling.

If gem install sass -v '3.4.23' fails on your system, unfortunately, there's not much we can fix about that. :( Maybe try going to that project and filing a report? Slate needs Sass to work properly.

It's a problem I expect many people will face on Sierra, and the fix is simply for within the instructions.
Installing the libs locally worked for me:
bundle install --binstubs --path vendor

I get the following error:
The latest bundler is 1.15.3, but you are currently running 1.15.2. To update, run gem install bundlerGem::InstallError: rack requires Ruby version >= 2.2.2. An error occurred while installing rack (2.0.3), and Bundler cannot continue. Make sure thatgem install rack -v '2.0.3' succeeds before bundling.


Add Wallet Summary [Samoa]

This screen will be a replacement for the current "Change/Add Wallet".

It will be the first screen you see when launching AlphaWallet (already imported wallets).
There are two ways to enter this screen
a) from the wallet tab, you tap on a blockie
b) You Open Settings -> Change/Add Wallet. So the same as we have now.

Zeplin:
https://zpl.io/a7mJ0WK

If you open the summary of all wallets, it will work the same as Watch-only but for all wallets you imported (watch-only and that on-chain)

@AW-STJ Assigned the task


How do you test all of this?

I came upon this through a medium post of yours and was wondering how you test all of this.

Thanks for asking about this repository.
I have sorry to you about this code was not written any test scripts. I did it by manual. However, it's works fine.


error: module not found: testcontainers

Description
Hello guys,
I have a module not found error in this branch: testcontainers.
The testcontainer dependency is added here and the module is required here
Any idea about what I am missing here?
Steps to reproduce
You can reproduce the error by cloning the repo, move to the testcontainers branch and run:
./gradlew build

My environment
------------------------------------------------------------
Gradle 7.4
------------------------------------------------------------

Build time:   2022-02-08 09:58:38 UTC
Revision:     f0d9291c04b90b59445041eaa75b2ee744162586

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.7 (AdoptOpenJDK 11.0.7+10)
OS:           Mac OS X 10.16 x86_64

Thank you in advance!

Seems to be there:
https://repo1.maven.org/maven2/org/testcontainers/testcontainers/1.16.3/testcontainers-1.16.3.pom
make sure that your Gradle repositories are configured correctly.

Hi @bsideup !
I'm ok with you to close the issue, but the error wasmodule not found, not a gradle configuration issue.
By looking at the link I provided, you can see that the error is about a Java 9 module based project: I even provided a whole project you can clone to replicate the issue and see it is not a gradle misconfiguration.
I discussed with @kiview on slack about it: the problem is that since testcontainers doesn't have a Automatic-Module-Name in the metainf, gradle puts the jar into the unnamed module, which is not visible from named modules.
I worked around that by adding java9-modularity plugin to gradle to be able to use testcontainers as a named module.
That worked for me because I used a custom docker image, but if you need to use one of the others Testcontainers deps you will get a split package error because different testcontainer artifacts are sharing the same package.

Ah, I see. Well, Testcontainers isn't a Java Module. We are considering making it modular in 2.0.
See https://github.com/testcontainers/testcontainers-java/issues/521 & https://github.com/testcontainers/testcontainers-java/issues/1523 for more context.


Introduce ENV.accessed

Until recently a useful piece of extended behaviour for the ENV module was to add static resolution or accessed keys. This depended on overriding the [] and []? methods with macros. Unfortunately as of 0.36.1 this approach is no longer possible due to usage of ENV.[]? in kernal.cr.
There is one path that exists to re-enable this: add this functionality to the std lib implementation, allowing this macro definition prior to usage in prelude.
Is this something widely usable and inline with what should exist there? Happy to submit a PR, but opening this thread for discussion before spending time on it.

Could you please explain the purpose? I don't understand what this is about.

Sorry, poor description on my part. Use case:
# Somewhere within a program
ENV.accessed  # => ["FOO", "BAR"]

# ...

# Elsewhere, likely executed at some point in the future.
configurable_item = ENV["FOO"]?
another_item = ENV["BAR"]

Runtime tracking of this is trivial to overload. For lookups taking place via a StringLiteral rather than an expression it's possible to provide this information prior to the lookup taking place. Implementation of this requires ENV.[] and ENV.[]? to exist as macros rather than methods.
Previously this was possible by reopening the ENV module, however this is no longer the case due to the ENV["CRYSTAL_LOAD_DWARF"]? access in kernal.cr and the compiler enforcing that macro's must be defined prior to usage.
It's worth clarifying that there is no regression, std lib bug or incorrect compiler behaviour; purely a fragile hack which is no longer possible. Implementation of a non-hacky approach is possible by implementation directly in ENV, if this is generally useful.

But why do you need to know which env vars are accessed with a string literal?

For exposing applicable env vars in docs, CLI output and other bits of UI. Namely this is something that a base application / lib can use, where reads other program components may not be known.

Okay, but if you have this:
x = ENV["foo"]

if someone replaces that with:
s = "foo"
x = ENV[s]

then the tool won't detect it, right?
I guess a further question is: why is all of this is needed in UI and CLI output? I think we are all missing how an application can use this (or if you are already using it, show an example.)

That's correct. It possible to append to this for anything that cannot be resolved until later (as implemented here), which is useful to see what has been used. The static resolution captures most usage for configuration items read from the environment and is useful for indicating what will be read. Example in use.

Sorry, but redefining a standard library method with a macro is discouraged. Why? Exactly because it's unreliable and it might break.
Also, it seems the implementation relies on ENV.fetch. That means that those values aren't tracked... so I fail to see the point of all of this, sorry.

I agree with @asterite, but other than that, in general, if changing how things are done in the std-lib is enough to allow some other stories I am happy to do so. But they are as-is solution without hard guarantee. In this case, if making the call in a method instead of in the main program is enough we could do that.
But is only a partial solution. It's likely that any shard will use ENV directly as std-lib is doing right now.

Good points all round. The intent was to replace those methods with macros, but due to the number of edge cases this would miss, completely agree that it's likely not std lib material. Thanks for the solid reasoning and discussion as always!


Fixed upload for the new Filesystems

This was a bit of a tough one. The solution I found I know that is not optimal however I was struggling to find why the following code on the pages controller:
$location = Storage::disk($disk)->getDriver()
->getAdapter()
->getPathPrefix();
was failing to work if the $disk variable was one of the "new" filesystems.
Resetting the config did not fix the issue (php artisan config:clear)
I wonder if it was because a few symlinks need to be implemented to get the new filesystems to work.
Newer versions of laravel do this automatically (php artisan storage:link
) but not 5.2.
My solution was to store the files in /files/... because this folder is already created and the symlinks are also already configured. This seemed to fix the issue.
Also removed the troublesome code.

The problem seems to be related, as you point out, to laravel not finding the directories it expects (and not having the capacity to create them itself). I'm closing the request as I've setup the filesystems in the server and the changes are redundant now


Decrease chart element initialization time.

In some particular cases, when the root element property set on creation and I try to update chart options (in my case trying to set height), I got this:
ERROR TypeError: Cannot read property 'updateOptions' of undefined
    at ChartComponent.push../node_modules/ng-apexcharts/fesm5/ng-apexcharts.js.ChartComponent.updateOptions (ng-apexcharts.js:156).

The chart object inside ng-apexcharts created using setTimeout  and because setTimeout has a delay, minimum 4ms as described in specs, I should use something like this setTimeout(callbackFn, 5). In here asapScheduler, Promise.resolve().then() or window.postMessage can be used for decrease delay.

Thank you.


No such table SQLite on Android

I just tried to get a simple example to work on Android. Unfortunately, I keep getting this error when perform an insert operation.
This is how I initialize Kotlin data source.
val source = DatabaseSource(context, Models.DEFAULT, 1)
source.setTableCreationMode(TableCreationMode.DROP_CREATE)
source.setLoggingEnabled(true)
source.setWriteAheadLoggingEnabled(true)
return KotlinReactiveEntityStore(KotlinEntityDataStore(source.configuration))

Any idea?

Please post the full exception with a stack trace, thanks.

Same problem with same initial config (this code in application onCreate method, that extends MultiDexApp).
On of my model:
@Entity
interface RqAccountType : Persistable {
    @get:Key
    var id: Long
    var typeName: String?
    var platform: String?
}

What i'm doing on first activity start:
...
db.toBlocking()
                            .delete(RqAccountType ::class)
                            .get()
                            .value()
...

09-22 10:24:24.706 5770-5871/huzzoid.me.bcs_connect I/art: Rejecting re-init on previously-failed class java.lang.Class<io.requery.query.BaseScalar$1>
09-22 10:24:24.706 5770-5871/huzzoid.me.bcs_connect I/art: Rejecting re-init on previously-failed class java.lang.Class<io.requery.query.BaseScalar$1>
09-22 10:24:24.755 5770-5871/huzzoid.me.bcs_connect E/SQLiteLog: (1) no such table: RqAccountType

I have no idea why, but it happens only on my real android devices with API 21+ (no tested on older versions yet).

Update:
I tried to log all database table names and found that i have old db schema despite of complete deleting the app from device.
I have no root access tom make sure that application files is not there after deleting.

Ok. Init with non-default filename solved the problem
DatabaseSource(context, Models.DEFAULT, "my_database", 1)


Update oracle-cloud to 3.0.5

Should fix the object-storage oracle guide for maven

@n0tl3ss @alvarosanchez So this is failing as
* What went wrong:
Execution failed for task ':micronaut-platform:checkVersionCatalogCompatibility'.
> Version catalogs are not compatible:
  The following libraries were present in the baseline version but missing from this catalog:
    - micronaut-oraclecloud-bmc-computecloudatcustomer
    - micronaut-oraclecloud-bmc-fleetsoftwareupdate
    - micronaut-oraclecloud-bmc-osmanagementhub
    - micronaut-oraclecloud-bmc-ocicontrolcenter

I'm guessing this is because we used to just grab the latest, whereas now we are looking at 3.15.0
Are these ok to ignore in a patch release?

I think we only added them in a point release as well (3.0.4) so we may be ok?
https://repo1.maven.org/maven2/io/micronaut/oraclecloud/micronaut-oraclecloud-bmc-computecloudatcustomer/

I think we are good, check: https://github.com/micronaut-projects/micronaut-oracle-cloud/commit/5484460266b00733bd5e7e18c3305b7a51dab411

👍 Pushed a suppression


added neumorphism portfolio design

 Desktop View
 Home

 About

 Portfolio

 Contact

 Mobile View
 Home

 About

 Portfolio

 Contact

 Dark Mode

@GovindSingh9447 please have a look.

Outstanding work

Outstanding work

Thanks 😅

@suyogkokaje have you created this portfolio on ReactJs?

yes @GovindSingh9447


[BUG] non-responsive Job section

Describe the bug
Jobs page is non-responsive on wide screens

To Reproduce
https://www.thecyberhub.org/prep/jobs
Expected Behavior
No response
Screenshot/ Video

Code of Conduct

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

Hi, I would like to work on this. Can you please assign to me?

Awesome, I am assigning this issue to you.

Thanks,  Can you please screen size for which this issue is coming?

You can check it by zooming out on the screen.
and + we want to keep those jobs cards on center, when we do zooming out the screen, you can check out the blogs section as a preference.

I would like to work on this issue, could you assign this to me


How does the @connection work under the hood?

Hi, I'm having an error when referring a specific relationship field, so I decide take a look at the generated vtl resolvers.
But I can't understand how it works with the @connection..
For example:
type Project @model {
  id: ID!
  name: String
  teamID: ID!
  team: Team @connection(fields: ["teamID"])
}

type Team @model {
  id: ID!
  name: String!
}

it gets something like this:
type Query {
	getProject(id: String!): Project
}

the source of the Project is a DynamoDB table, but it doesn't contain a team attribute, so how could the vtl resolver return such an object with the team field set? I can't see any related code in the vtl template for getProject. anyone tell me why? and how does it work?

It works as any other GraphQL implementation with it comes to related data, your example is the 'Has one' scenario from the docs.
I suggest to take a look at the build folder of your API where you can see the generated resolvers, also the AppSync console is a great help to better understand what is being generated/deployed for you.
The Project.team resolver is responsible to return the team data for a given project (as you query it through the Project type). In the AppSync console you can see the attached resolver to the team field.
I hope this answers your question, if you are just getting started with GraphQL and Amplify I would suggest to go through the various QuickStarts we have on the docs site.

Hi @attilah , thanks for the information!
Do you mean the resolver of getProject don't have to return a Project object? It is allowed to return only partial fields of the Project, and the lucked fields (team in this example) could be resolved from another resolver(Project.team in this example)?


[QUERY] Unable to copy to ShareFileClient from BlockBlobClient with URI

Query
I'm attempting to make (what I think should be) a rudimentary copy: An existing block blob to a new share file. My understanding is the API should be capable of performing this purely on the storage account. But I cannot for the life of me work this out.
My simplified code:
var blobClient = new BlockBlobClient(storageAccountDetails, "temp", blobName);

var shareClient = new ShareClient(storageAccountDetails, shareName);
await shareClient.CreateIfNotExistsAsync();
var fileClient = shareClient.GetRootDirectoryClient().GetFileClient(fileName);

await fileClient.StartCopyAsync(blobClient.Uri);

This occurs after the block blob is committed, and confirmed it exists. The same connection string are used for blob and share operations. But upon attempting to start the copy, it throws "The specified resource does not exist" for the sourceUri.
Is this not possible? Am I missing something?
Environment:

Name and version of the Library package used: Azure.Storage.Blobs 12.9.1, Azure.Storage.Files.Shares 12.6.0
Hosting platform: Windows 10 .NET Core 3.1
IDE and version : Visual Studio 16.10.4

Hi @Lann094,
I believe this is by-design with how the Storage Service works in terms of source authentication for copies.  I recommend creating a SAS URL for the source blob and passing it to ShareFileClient.StartCopyAsync().  The other option would be to set the Public Access Policy of the source Container to public.
-Sean


flicker on fast scrolling

how to fix flicker on fast scrolling between sections

This is most likely a minor ui glitch produced by the FlexibleAdapter library. I'll take a look at it within the next update


Docs: How do I add a featured image in the markdown file?

What is this about ?
I am already adding an image by adding on the metadata and extending PagePreview for example to display it on the list. Is something like this or something else?

Something like that yes. Use a field in the metadata and then just use this field in a component :)

Closing in favor of #736. Thanks @drFabio!


Develop

:tada: This PR is included in version 2.0.0-beta.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Wrong speling of SpringBoot in Catalog

Describe the Bug
Wrong speling of SpringBoot in Catalog, it is written without space SpringBoot
Steps to Reproduce the Bug or Issue

Open file
Click on catalog dropdown

Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 0.30.0]

Here's an screenshot

Changes:

Change the name in the Catalog generator
Change the UI part that checks for Spring boot
Rebuild the existing catalogs


Increase the success tips execute the command

Signed-off-by: zhouhao<EMAIL_ADDRESS>

is this really needed :confused: exiting 0 seems nicer to me

is this really needed :confused: exiting 0 seems nicer to me

@runcom I think it is necessary, because the user will not see exiting 0, increase the prompt statement, which allows us to more intuitive understanding of the operating state.

NACK. This is unnecessary.

Since everyone thinks this is not a good modification (although I do not think so), I will close this PR.

@q384566678 For some explanation of why outputting whether the return value is zero: In general, Unix tools don't work this way. An error message is usually output to stderr, but that error message should have some useful information. "There was an error" is not useful information, because that's already contained in the return code.
A user can see the failure if they check $? or they have set -e (or hell, if they have a modern shell prompt which tells you whether the last command failed).


Document current tagging scheme

#1114

Updated in
https://github.com/linode/manager/pull/1815 and https://github.com/linode/manager/pull/1820


pull request for e2e test at 01/10/2017 08:56:09

:white_check_mark: Validation status: passed
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.


Fix: Install dependencies in install section

This PR

[x] moves installation of dependencies on Travis to install section

This conflicts with #54. If you rebase I'll merge it.

@simensen
Done!


Support iPad Pro

Hello @lmirosevic, In GBDeviceInfoTypes_iOS.h file, GBDeviceDisplay enum does not contain iPad Pro's device display type.😀

Would be nice to have it :)

Added to 3.6.0


feat: Add sharedIdp configuration for stable environment

Description
This PR will introduce environment specific configuration for the 24.08 sharedIdp release to run on the catena-x stable environment.
Issue
relates to https://github.com/eclipse-tractusx/portal/issues/408
Checklist
Please delete options that are not relevant.

[x] I have followed the contributing guidelines
[x] I have added copyright and license headers, footers (for .md files) or files (for images)
[x] I have performed a self-review of my changes
[x] I have successfully tested my changes
[x] I have added comments in the default values.yaml file with helm-docs syntax ('# -- ') if relevant for installation
[x] I have commented my changes, particularly in hard-to-understand areas

@ds-lcapellino as discussed, I'm closing this PR as it doesn't make sense to merge it main because there we're are already ahead of the v3.0.1, the branch can still be used for installing v3.0.1


always render lock screen above other stuff

Describe your PR, what does it fix/add?
trying to fix
lockscreen is not rendered above floating wine games #5899
This isn't only wine btw, this affects all fullscreen xwayland clients
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
the real problem is that we're still rendering the fullscreen xwayland clients
and that doesn't follow the session lock protocol

This means that the compositor must stop rendering and providing input to normal clients.

Currently, I believe that Hyprland allows fullscreen xwayland clients use a dmabuf and direct scanout to render more efficiently
The question is... how do we make those clients stop rendering (through the dmabuf) when the session is locked?
rn I just always render the session locker, which works, but its a hack
Is it ready for merging, or does it need work?
if you are ok with the current solution
I'm going to try to actually fix it

wrong approach, I'll do it myself


ldconfig not run after installing libstorm.so.* by CMake build on Linux

To be able to locate libstorm at runtime on a Linux system, the dynamic linker cache needs to be updated using ldconfig after libstorm is installed. This is done by Makefile.linux, but when using CMake this step is not performed for some reason.

Will have to let some Linux expert to fix it, I don't understand CMakeLists.txt that well.


v1.1.23

This repository contains GitHub workflows for managing releases automatically.
Please name this issue what you would like the new release to be called. E.x. "v1.0.0"
The following slash commands are available to use in comments on this issue:

Command
Description
Parameters

/release
Creates a new released based on the current state of the master branch
frontend=<version>backend=<version>gitapi=<version>status=<version>dispatcher=<version>agnosticv=<version>anarchy=<version>poolboy=<version>

/promote
Promotes the created release to the next environment
N/A

/cancel
Cancels the current release (and closes this issue)
N/A

/finish
Completes the current release (and closes this issue)
N/A

/release frontend=v1.1.17 backend=v1.0.15 gitapi=v1.0.13 status=v1.0.0 dispatcher=v1.0.13

/promote

/cancel


Nithin/crate merge

This pr takes on #356, with the main goal being removing dependency cycles between crates.
The idea is that the dependencies should be one way where no other crate can depend on shrs_core except shrs.
shrs_line was merged into shrs_core because of the deep interdependency between the two.
PosixLang from shrs_lang was also merged intoshrs_coreremoving that dependency.

Just ensure that the public interface still makes sense with minimal breaking changes. You can verify the public interface by building the docs (not the book). Also check that shrs_example and plugins still build.
In the near future (maybe starting from next release), we should keep track of breaking changes and provide a migration changelog for new releases (see bevy update post for inspiration).


Fix bug in search query

Bug introduced in pull request #105 to fix virtual fields bug
f is a two element tuple with the field name as the 1st element
Need to extract 1st tuple element to compare with persisted fields

I realized today I broke search with my pull request yesterday.  I extracted the field name into a variable.  I wasn't sure if you prefer to create a function to get the 1st element.

Great! I think eventually we must unify how we get field names, but this will do for now.


the download link is not accessible

Thanks for your great work！
The download link provied after application is not accessible

I am sorry to hear that, for me still works… Can you shoot me an email with all the details you have filled in the form, I will try to help as much as possible<EMAIL_ADDRESS>


Making sense of Epsilon values

These changes try to make sense out of the hard coded epsilon values (tolerences) found in the library. Those are now replaced by proper static values; CSG.EPS, CSG.angleEPS, and CSG.areaEPS.
All comments, suggestions, critics are welcome. All for the better, I hope.
#29

Another step in the right direction I think !
Even if we end up merging some of those , at this stage this is great !


Add support staking for Amplitude (AMPE)

Is your feature request related to a problem? Please describe.
Please add in-app staking for $AMPE (https://twitter.com/amplitude_chain)

Amplitude has no staking mechanism.

Update: The staking pallet is live, Amplitude staking is being integrated

Amplitude and Kilt have the same staking pallet

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./807-merge-build-0.7.2-0-1668682361108.zip
Please check issue:

[ ] Can't unstake a part

[ ] Still allow user stake more when have already unstake all record

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./koni-dev-build-0.7.2-0-1668772901031.zip
Validation passed.


Tokenizer should work with code points, not char codes.

https://github.com/keithamus/csslex/blob/214bf6fa1145563509a09a6f4ad41028fb302234/mod.ts#L358
see : https://github.com/csstools/postcss-plugins/pull/972

Closed by #4


Fix: posix with fallback

Uses posix_getuid instead of getmyuid whenever it is available. This is necessary because the person running the script is not necessarily the person that owns the script. Unfortunately the posix_* functions are not available everywhere, so I left it to fallback on to the old broken function.

The build for this being broken is due to a faulty travis-ci run.

Hi,
thanks for your pull request! Can you please revert composer.json? I assume the "name"-change is related to your local testing, the "description" does not need to reflect this implementation detail.
Best regards
Daniel

Hello!
Yes, of course. I've done so.

Thank you for the fix!

You're very welcome :)


Tests trying to create a table twice

We have the following migration and when we run tests they fail because
PDOException: SQLSTATE[HY000]: General error: 1 there is already a table named block

Here's the migration:
        public function up()
        {
            Schema::create('block', function(Blueprint $table)
            {
                $table->increments('block_id');
                    $table->string('field')->default('')->index('field');
                $table->string('operator', 6)->default('')->index('operator');
                $table->string('block')->default('')->index('block');
                $table->integer('weight')->unsigned()->nullable()->default(1)->index('weight');
                $table->string('added_by', 16)->nullable();
                $table->timestamp('ts')->default(DB::raw('CURRENT_TIMESTAMP'));
            });
        }

I removed the index->() calls and the error went away.
Let me know what other info i can provide that might be of help.

This seems to be related to #94, index names need to be unique across the entire DB in SQLite. Simply remove the index name to let Laravel create a unique name for you. Hope that helps :)


Removed duplicate content

The first bullet point under Supportability had 3 sub points listed.  Point 1 and 3 were identical.  Removed the 3rd sub point to eliminate duplicate content.

@NeighborGeek : Thanks for your contribution! The author, @MicrosoftGuyJFlo, has been notified to review your proposed change.

Reviewed editorial correction.


Point cloud demo

Hi,
The documentation has a problem.
Under Point cloud demo in the documentation the correct command line is:
python demo/pcd_demo.py demo/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth
(currently it says to use: hv_second_secfpn_6x8_80e_kitti-3d-3class_20200620_230238-9208083a.pth -> this is not the right one).

The I also tried a point cloud ply (sun3d dataset):
python demo/pcd_demo.py demo/cloud_bin_109.ply configs/votenet/votenet_16x8_sunrgbd-3d-10class.py checkpoints/votenet_16x8_sunrgbd-3d-10class_20200620_230238-4483c0c0.pth
I had the this error:
warnings.warn('ConvModule has norm and bias at the same time')
Traceback (most recent call last):
File "demo/pcd_demo.py", line 28, in
main()
File "demo/pcd_demo.py", line 22, in main
result, data = inference_detector(model, args.pcd)
File "/mnt/disk_1tb/research/mmdetection3d/mmdet3d/apis/inference.py", line 73, in inference_detector
data = test_pipeline(data)
File "/mnt/disk_1tb/research/mmdetection3d/venv/lib/python3.6/site-packages/mmdet/datasets/pipelines/compose.py", line 40, in call
data = t(data)
File "/mnt/disk_1tb/research/mmdetection3d/mmdet3d/datasets/pipelines/loading.py", line 306, in call
points = self._load_points(pts_filename)
File "/mnt/disk_1tb/research/mmdetection3d/mmdet3d/datasets/pipelines/loading.py", line 284, in _load_points
points = np.frombuffer(pts_bytes, dtype=np.float32)
ValueError: buffer size must be a multiple of element size
Thank you

Hi @fabiopoiesi ,
Thank you for your report.
For the first issue, the path of the checkpoint is just an example and may not present the real path to be used. We will update the new path to ease the usage of the command.
For the second issue, for now, ply files for data loading are not supported. You need to convert the files from ply format to bin format. We are considering support ply files and may add this feature in the future.

How can I convert the ply to bin?

How can I convert the ply to bin?

Basically you can read the ply file with ply-based APIs (many for python), and write the point cloud data (x,y,z...) to bin file via numpy. Please check the data format can be aligned.

So import a ply as numpy array, let's say with shape (N,3), then use
array.astype(np.float32).tofile('pcd.bin')
correct?
On Sun, 19 Jul 2020, 05:03 twang<EMAIL_ADDRESS>wrote:

How can I convert the ply to bin?
Basically you can read the ply file with ply-based APIs (many for python),
and write the point cloud data (x,y,z...) to bin file via numpy. Please
check the data format can be aligned.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-mmlab/mmdetection3d/issues/27#issuecomment-660577689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEBXWKC3ZULZ7BEMWVFPVQLR4JPAZANCNFSM4O6NSPIQ
.

So import a ply as numpy array, let's say with shape (N,3), then use array.astype(np.float32).tofile('pcd.bin') correct?
…
On Sun, 19 Jul 2020, 05:03 twang, @.***> wrote: How can I convert the ply to bin? Basically you can read the ply file with ply-based APIs (many for python), and write the point cloud data (x,y,z...) to bin file via numpy. Please check the data format can be aligned. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#27 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEBXWKC3ZULZ7BEMWVFPVQLR4JPAZANCNFSM4O6NSPIQ .

Right.

When I run:
python demo/pcd_demo.py demo/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth
Then I got this issue:
UserWarning: The old API of register_module(module, force=False) is deprecated and will be removed, please use the new API register_module(name=None, force=False, module=None) instead.
'The old API of register_module(module, force=False) '
Traceback (most recent call last):
File "demo/pcd_demo.py", line 28, in
main()
File "demo/pcd_demo.py", line 20, in main
model = init_detector(args.config, args.checkpoint, device=args.device)
File "/home/qindashuai/mmdetection3d/mmdet3d/apis/inference.py", line 35, in init_detector
checkpoint = load_checkpoint(model, checkpoint)
File "/home/qindashuai/anaconda3/envs/mmdet/lib/python3.6/site-packages/mmcv/runner/checkpoint.py", line 247, in load_checkpoint
checkpoint = _load_checkpoint(filename, map_location)
File "/home/qindashuai/anaconda3/envs/mmdet/lib/python3.6/site-packages/mmcv/runner/checkpoint.py", line 222, in _load_checkpoint
raise IOError(f'{filename} is not a checkpoint file')
OSError: checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth is not a checkpoint file
Is that the same problem?and it will be nice if anyone could help me. XD


METRON-2310: Remove metron-integration-test from compile dependencies

Contributor Comments
Came out of debugging https://github.com/apache/metron/pull/1554, and was worth pulling out separately.
I had to add in elasticsearch-rest-high-level-client to metron-elasticsearch-storm since it seems that it was coming from metron-integration-test and indexing and REST both failed to deal with ES properly otherwise.
This seems to reduce the size of metron-elasticsearch-storm jar by ~20M.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[ ] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

[x] Have you ensured that any documentation diagrams have been updated, along with their source files, using draw.io? See Metron Development Guidelines for instructions.

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Example of jar contents before and after
The resulting jar from this PR, which produces no results:
jar -tf metron-elasticsearch-storm-0.7.2-uber-shaded.jar| grep 'mockito'

From master:
jar -tf metron-elasticsearch-storm-0.7.2-uber-master.jar | grep 'mockito' | head -n 10

org/mockito/
org/mockito/AdditionalAnswers.class
org/mockito/AdditionalAnswers.java
org/mockito/AdditionalMatchers.class
org/mockito/AdditionalMatchers.java
org/mockito/Answers.class
org/mockito/Answers.java
org/mockito/ArgumentCaptor.class
org/mockito/ArgumentCaptor.java
org/mockito/ArgumentMatcher.class

Looks like this occurred in https://github.com/apache/metron/pull/1389/
The dropping of <scope>test</scope> can be seen before:
https://github.com/apache/metron/pull/1389/files?file-filters[]=.xml#diff-15fdf86fc941b507912e1da249351370L155
and after:
https://github.com/apache/metron/pull/1389/files?file-filters[]=.xml#diff-1900ae3c8224fdd8f9c3b2bffce825edR49

Looks reasonable to me @justinleet, thanks for the fix! +1 by inspection.


[Bug]: Getting resource not found error on deleting app, with delete and view role for application

Is there an existing issue for this?

[X] I have searched the existing issues

Description
On trying to delete an app with delete and view roles for app from application resources tab , resource not found error is shown

Steps To Reproduce

Login as<EMAIL_ADDRESS>Create new role by checking Delete and View roles on application resources tab
Assign that role to user1
Login as user1 and try deleting application
Observe resource not found error is shown

Public Sample App
No response
Issue video log
No response
Version
http://<IP_ADDRESS>/

this issue is fixed


⚠ Bofrost.lu has degraded performance

In 14cda95, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 865 ms

Resolved: Bofrost.lu performance has improved in 71c1bc5 after 7 minutes.


Tidy up some wording.

Minor wording choice from the work done in https://github.com/cdfoundation/best-practices-site/pull/17

Open to discussion here. The original is more strictly accurate because we are trying to teach that the software pipeline is not intrinsically trustworthy, so deployment governance should be a combination of the attestation of software readiness from the build pipeline combined with additional forms of verification to cross-check that assets have not just been built, but also are the assets that we expect and remain untampered with across any intervening period between a build run and a deployment.

I'm game with that idea, just the wording doesn't parse for me.

Continuous deployment takes that even further to say those artifacts can be automatically deployed because of the attestation the software pipeline ensures about correctness.

becomes

Continuous deployment takes that even further to say those artifacts can be automatically deployed because humans have vetted the output and it does the same thing every time.

Something like that?

The original is grammatically correct, although you might substitute ‘asserts’ for ‘ensures’.
The problem with oversimplifying the concept to simplify the language is that you can end up communicating the wrong message as a result. It’s not compulsory to have a human vet the process, as you may actually have independent automated cross-checks that have been designed so as to be provably isolated from any single point of attack.
It might be better to expand this to a paragraph or two of more specific explanation using a more limited vocabulary.

I also think there are some supply chain things creeping in here which aren't, in my mind, inherently tied to continuous deployment or delivery.
On Mon, May 30, 2022, at 4:22 PM, tdcox wrote:

The original is grammatically correct, although you might substitute ‘asserts’ for ‘ensures’.
The problem with oversimplifying the concept to simplify the language is that you can end up communicating the wrong message as a result. It’s not compulsory to have a human vet the process, as you may actually have independent automated cross-checks that have been designed so as to be provably isolated from any single point of attack.
It might be better to expand this to a paragraph or two of more specific explanation using a more limited vocabulary.
—
Reply to this email directly, view it on GitHub https://github.com/cdfoundation/best-practices-site/pull/19#issuecomment-1141534923, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAA6DNOIH72RGMFARYLBSDVMVESLANCNFSM5XLRAUQQ.
You are receiving this because you authored the thread.Message ID: @.***>


Update ocm-sdk-go library

Description
Update ocm-sdk-go library
Fixes #859
Type of change

Bump-up dependent library (no changes in the code)

Testing steps
Done on CI
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #861 (9d85a10) into master (f2b6fdd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #861   +/-   ##
=======================================
  Coverage   60.14%   60.14%
=======================================
  Files          22       22
  Lines        2938     2938
=======================================
  Hits         1767     1767
  Misses        978      978
  Partials      193      193

Continue to review full report at Codecov.

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


Disable palette color scheme for symbols

In the code base, this has been added:
private extension Image {

    static func symbol(_ name: String) -> Image {
        Image(systemName: name)
            .symbolRenderingMode(.palette)
    }
}

This should not be applied to the default symbol.
However, this seems to be needed for the tint in e.g. the format sheet, so let's fix this in a better way in the next patch.

@DominikBucher12 Very strange :D


Revert "Remove useless import."

Reverts dingo/api#1099

This branch should probably be deleted @hskrasek


Create Acceptance Test From Feature Request

As a development lead,
I want an acceptance test created for each feature request,
so that I can verify that developed code meets the requirements of the feature request.
Scenario: Acceptance Test Creation
Given a new issue in the GitHub repo with the "enhancement" label
When coding starts for the new issue
Then an acceptance test is created to test the feature described in the issue

Fixed with https://github.com/myrontuttle/pycodegen/commit/e79286e4b0530a336cad497813a0c88140109806


add ./script/doc to build swarm documentation using the docs.docker.com tooling

Signed-off-by: Sven Dowideit<EMAIL_ADDRESS>This also fixes some broken links.
Once merged, I'll add another commit to https://github.com/docker/docker/pull/10869 to use the docs/mkdocs.yml in this repository.

@aluzzardi  @vieux @bfirsh @fredlf

@SvenDowideit: How about creating a docs or doc directory?
That directory would contain:

userguide.md which is currently in the root directory
A Dockerfile (which would be Dockerfile.docs)
A build.sh script

This way we could have all docs and docs-related things in the same place.
Eventually (probably not now), I think we could move there the other docs READMEs, such as scheduler/filter/README.md etc.

yup, I'd be happy to move the docs stuff to a dir - I was basically going off what you have, on the assumption you like it ;)

@aluzzardi @vieux @bfirsh @fredlf
how's that?

Awesome!
LGTM
@vieux ?

LGTM