AppleSequencer and MIDISampler are stuttering on the first note

macOS Version(s) Used to Build
macOS 13 Ventura
Xcode Version(s)
Xcode 14
Description
Whenever I play a sequence with AppleSequencer through a MIDISampler the first note is too short. It sounds like this:
xx  x  x  x  x  x though it should sound like this:
x  x  x  x  x  x
The higher the tempo the more obvious the effect. The same problem can be heard in AudioKit CookBooks DrumSequencer. It occurs every time you start playing a sequence, no matter if it is from the start or from within a sequence.
I can only speculate that the first samples get triggered to late. It's like it starts playing though it's not really ready to play.
Crash Logs, Screenshots or Other Attachments (if applicable)
No response

Well know Apple Sequencer bug, not AudioKit's fault as far as we can tell.

@herrDerToene Here is a potential workaround for this issue: https://youtu.be/uwJQK6FQLVY?si=rYnOPHaCjkVYpY2T&t=322
With AppleSequencer your best bet is to have the sequencer always running or do a pre-roll like I did in the video. The other options for standalone are to use AudioKit's other Sequencer which I've never used and doesn't currently have an example, or use Ableton LinkKit, CADisplayLink, or a Timer. In AUv3 you'd use the musicalContextBlock.


Omnia/feature/123 display result domain

sort results by type then position
display proper domain for webpage results

Question: We dont have a Results policy. And also, should it be allowed to create/edit/delete rankings & results, considering this data is coming in from jobs?

That's a good point. The results should not be editable. Also, please put a screenshot here of what it looks like in Nova once it's ready.


Improving description for mod's goal

Updated the # Description section

I took the liberty of better defining the scope to PHB. Feel free to correct this. I felt it was important to know what the mod implement. Given that, in the game we're still at basic PHB, I felt like, this was pretty much what needed to be specified.

@FelipeRenault changes merged :) Looks good to me.


🎉 1.0.0

Finishing up v1.0.0.

Some suggestions for the README:

Maybe add a line to show how to modify the PYTHONPATH.
Add instructions for using the evaluation script to get the aggregate results.

Verified that the code runs with gemini-1.5-flash.


Telecommand: Send configuration commands to MPI

Must send to MPI and then get the response and validate it was successful
Should validate the configuration, in accordance with the MPI ICD
The configuration command to be sent to the MPI should be encoded in hex

Potential Example Commands
// HV_INNER_DOME_SCAN_MODE set to sawtooth:
CTS1+mpi_send_command_hex(0204)!

// AGC_DISABLE (command 10 in decimal)
CTS1+mpi_send_command_hex(0A)

// AGC_SET_PIXEL_RANGE (command 22 = 0x16), each part set to the value "1"
CTS1+mpi_send_command_hex(1600010001)

// Could maybe support optional underscores between parts to make it more readable. Eg:
CTS1+mpi_send_command_hex(16_0001_0001)

@vaibhavkpr, if you rebase to main, you'll be able to use the well-tested TCMD_extract_hex_array_arg() function now!


Do not use untaint

Method untaint does not exist anymore https://bugs.ruby-lang.org/issues/16131

Description

Removed the call to untaint as it can cause crash
Related Issue

While trying to launch a simple command, eg.
bundle exec knife update roles I faced the following issue
bundle exec knife upload roles
bundler: failed to load command: knife (/xxx/.rbenv/versions/3.2.2/bin/knife)
/xxx/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/knife-18.3.0/lib/chef/knife/core/gem_glob_loader.rb:81:in `block in find_files_latest_gems': undefined method `untaint' for "/xxx/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/knife-18.3.0/lib/chef/knife/acl_add.rb":String (NoMethodError)

            end.flatten.select { |file| File.file? file.untaint }

This methods seems not to exist anymore
I just removed the filter which solved the issue on my side. We can maybe propose something else.
There is another occurrence in the code and I don't know if we should change it and how.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

@chouetz Thanks for this contribution! As for the Dir[glob].map(&:untaint) call, that can just be changed to Dir[glob] as it appears untaint has been a no-op since Chef 16 (Ruby 2.7). Would you be able to update that code as well?

@chouetz Thanks for this contribution! As for the Dir[glob].map(&:untaint) call, that can just be changed to Dir[glob] as it appears untaint has been a no-op since Chef 16 (Ruby 2.7). Would you be able to update that code as well?

yes I do it right now, thanks a lot


front-end code refactoring, random rounds that let the user te select…

front-end code refactoring, random rounds that let the user te select a specific nbr
[develop c034f6d] front-end code refactoring, random rounds that let the user te select a specific nbr.

Sounds logic, will check that with improvements

Seems to work as intended now.
One minor request - Can you hide the "Upload seed model" form on the History page if "latest_model" collection is populated, and instead list the model_id and timestamp for the "models" collection in the UI page?


Roadmap: First draft o3de.org website information architecture for usability testing

Summary
To draft a proposal for restructuring the information architecture of o3de.org/docs.
The information architecture was first designed with thoughtful consideration in 2021. Since then, we've many contributions and feedback that urges us to reconsider it's design. Some key design tenets we want to consider in the redesign is ease of discoverability and scalability of the product.
What is the relevance of this feature?

What problems does it solves?
Why is this important?
What will it do once completed?
Are there any changes or impacts to other features?

### Tasks
- [ ] https://github.com/o3de/o3de.org/issues/1719
- [ ] _GitHub issue 2 link and so on._

Related Links
Link to additional informaton such as RFC related to the roadmap item.

Learn more about O3DE roadmaps.

[SITE][FEATURE] Revise website's information architecture to improve user experience #1719


contact.onMissed() not being triggered

Hello,
All of the contact events I have set up are being fired properly except for contact.onMissed. This was mentioned in this issue: https://github.com/aws/amazon-connect-streams/issues/12
However, the resolution for that issue only answers the problem with onInbound vs. onConnecting, while the onMissed problem remains unanswered.
Love using AWS connect - thank you your help!

We are actively reviewing a patch for onMissed, so expect it to be fixed somewhat soon.

I'm going to mark this as closed, as this should be fixed with the patch above.


Don't require password after wake

https://www.top-password.com/blog/password-login-after-waking-windows-10-from-sleep
Might be able to use process monitor to see what registry key this is tweaking

Doesn't work on fresh install


Re-enable sitewide Google Analytics

With privacy policy issues (#403 and #404) completed, re-enable Google Analytics sitewide.
I don't know a whole lot about configuration options, but I had read about IP Anonymization, which seemed like it might be worthwhile to enable.

Can you provide the UA-XXXXX-X account number where you'll be viewing the analytics?

Can you provide the UA-XXXXX-X account number where you'll be viewing the analytics?

Sent on Teams, thanks!


Wasm: Avoid JS interop when possible.

Benchmarks and profiling showed that using JS interop in tight loops is quite bad for performance. When we can, it is better to spend more operations on the Wasm side to avoid JS interop entirely.
Review by @tanishiking in addition to @gzm0.

Where is ToJSValue / ToWebAssembly value specified for WASM gc? I could only find: https://www.w3.org/TR/wasm-js-api-2/#towebassemblyvalue

ToJSValue is here
ToWebAssemblyValue is here
They are already mentioned in the section of our readme on how we deal with hijacked classs.


mupdf: Fix for CVE-2017-15369

Motivation for this change
https://nvd.nist.gov/vuln/detail/CVE-2017-15369
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Pushed as https://github.com/NixOS/nixpkgs/commit/c0c503ca685f5a70390c8f2bb850e8b9690fab17

Backported as https://github.com/NixOS/nixpkgs/commit/7bafbc0a7f5b47c62876997e01a2c7250e99121f


Add shadow-traffic / traffic mirroring  feature

What should we add or change to make your life better?
Is there a plan to support request mirroring to a second endpoint?
Let's say the reverse-proxy receives a request on 8080. In addition to forwarding it to the configured endpoint, it would "duplicate" the request and send it to a second endpoint (most probably in a fire-and-forget manner).
Configuration could define a percentage of requests to mirror, request modification etc...
Why is this important to you?
In a production system, when testing a new version, it is very useful to be able to get real PROD traffic in without impacting the production environment. Being able to shadow some traffic to another fleet of boxes running the new version helps us a lot when releasing impacting changes to high-throughput services (1M+ requests  per second)

It's doable in theory. A few things to be careful about:
A) Be very careful mirroring the request body. We stream the request body today (if any), and streaming that to two concurrent destinations has some challenges.
B) Consider when/where we do transformations. E.g. headers, url, etc.. Make sure the two copies of the request aren't trying to transform the same underlying objects.
C) We need to work out our A/B testing story in general. A/B testing seems like it would be built onto the routing platform (route 20% to route A, 80% to route B), but mirroring complicates that.

Interesting points. Agree with the advanced / edge cases. Maybe the mirroring feature would have some limitations (eg. no modification to the request except the url).
Regarding C), I think mirroring happening post-routing would make perfect sense in the use-case I have in mind at the moment but wouldn't work in the case of load-balancing for example (which again, could just be a known limitation to this specific feature)
Thoughts?

Load balancing shouldn't be a problem. I'd expect the mirror target to be a separate backend group rather than a specific endpoint instance, and load balancing is per group.

As for the modifications and such its just a matter of caution. We need similar caution for other reasons such as if we had a retry-on-failure feature.

Mirroring is something we have talked about a bit as interesting in principle, but more complex in practice.
From the scenario description, I am assuming that responses from the mirror are to be ignored - this is purely about generating load / testing, and that the mirror will handle data collisions talked about in B).
Would A/B testing with a retry/failover switch be a better way of handling the scenario of testing a new version - assign a percentage of the traffic to the new service, but monitor the results. In the case of errors, it would retry against the primary backend(s).

In our case, A/B testing with retry / failover wouldn't fit the purpose of what we call the shadow stack. Especially because this means we would double the latency from a caller perspective in case of a failure and add load on the boxes running the app.
Not everyone has the same use-case obviously, just describing ours to give you as many details as possible (talking about some apps getting ~1M RPS with an SLA usually under 10ms)

Thank you @softeering, that helps clarify the scenario / use case.

As mentioned in the linked issue I'm also looking for something like this to distribute messages to multiple environments. I hope this feature will be considered.

We received out of band feedback requesting mirroring support specifically for IHttpProxy. Most of the above concerns apply, but there's less API involved.

I have been using the IHttpProxy and would love a way to have mirroring out of the box. Currently I set up a second HttpMessageInvoker and just copy everything I need onto that which has worked for the GET requests I'm currently using it for. But I will be using it for POSTs in the future so if there is some pitfalls then a proper way of doing it would be great.

@Tratcher For my first attempt I was very careful not to affect the proxy as I was running against production data. So I just created a separate HttpMessageInvoker and called it after the real request. This is a very basic setup which was just to get one feature tested but in a few weeks I will probably have to set it up for posting so will make some tests with the DelegatingHandler and pre-buffering. It might work for my use case as the Post bodies are usually just small json messages.
`var httpClient = new HttpMessageInvoker(new SocketsHttpHandler()
{
UseProxy = false,
AllowAutoRedirect = false,
AutomaticDecompression = DecompressionMethods.None,
UseCookies = false
});
        var mirrorHttpClient = new HttpMessageInvoker(new SocketsHttpHandler()
        {
            UseProxy = false,
            AllowAutoRedirect = false,
            AutomaticDecompression = DecompressionMethods.None,
            UseCookies = false
        });

        app.UseEndpoints(endpoints =>
        {
            endpoints.Map("/{**catch-all}", async httpContext =>
            {
                await httpProxy.ProxyAsync(
                    httpContext, "http://" + GetRouteFromDomain(ParseDomain(httpContext)), httpClient,
                    new RequestProxyOptions {Timeout = TimeSpan.FromSeconds(100)});

                if (unleash.IsEnabled("MirrorTraffic"))
                {
                    await mirrorHttpClient.SendAsync(new HttpRequestMessage(new HttpMethod(httpContext.Request.Method), GetMirrorUrl() + httpContext.Request.QueryString), CancellationToken.None);
                }
            });
        });`

@Towmeykaw

There are still some possible side-effects there.

Chunked responses aren't completed until the pipeline unwinds or you call httpContext.Response.CompleAsync(). The client may end up waiting for the end of the response while the mirror request executes. If the mirror request throws it could cause the original response to be aborted.
That said, you can't use Task.Run at this layer because it would cause mult-threaded access of HttpContext which is not safe.
You should pass the httpContext.RequestAborted CT to ProxyAsync to cancel proxy operations if the client disconnects.
If ProxyAsync throws then the mirror request won't execute. (However, ProxyAsync doesn't throw in most situations).

For the mirror request itself, by creating your own request you can end up with significantly different output.

You're not copying request headers
IHttpProxy defaults to HTTP/2, but HttpRequestMessage defaults to HTTP/1.1.
It needs its own timeout


style(settings): rename _APP_ID to _MODEL_ID

build: add commitizen config

:tada: This PR is included in version 0.291.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Dev burger

Updating Readme.md
Adding Redux Saga
Fixing Some Problems

Okay thats sounds very good. I am now merging and closing it.


mousemove event executed before watcher

Version
2.5.13
Reproduction link
https://jsfiddle.net/mygaochunming/gkmpvxsm/10/
Steps to reproduce
use chrome 49 in winXP, click inner component, then see the console log
What is expected?
mousemove event triggered affter watcher
What is actually happening?
mousemove event triggered before watcher

Maybe you will say use the latest chrome version. But my customers do use winXP and the 49 version is the last version in winXP. So .....
I don't known if this is a vue bug or a chrome bug(in chrome 49, when user click the component, it triggered click and mousemove event). but it works well in vue version 2.4.4 demo.
I have seen the vue release log that change the v-on event handler to macro task. But I still do not understand the log below:
vue2.4.4_chrome49_winXP

vue2.5.13_chrome49_winXP

Hi, thanks for filling this issue.
I'm able to get both results on latest chrome for both vue 2.5.13 and vue 2.4.4.
The following logs can be seen on either vue version, so vue version doesn't matter here.
Before watcher

After watcher

Closing as this is simply a race condition caused by your implementation, whether you move your mouse immediately after clicking - it has nothing to do with OS/Chrome/Vue version.


fuse with translation disabled still requires username lookup

Alluxio Version:
2.5.0-2
Describe the bug
I have a FUSE process with user translation turned off by setting alluxio.fuse.user.group.translation.enabled=false. This fuse process is running in a Docker container as alluxio user, and is sharing the FUSE mount via a bind-mount on the host.
However when trying to write to the FUSE folder from a different service I get the following error:
ExitCodeException exitCode=1: id: ‘1548’: no such user

   at alluxio.shell.ShellCommand.run(ShellCommand.java:71)
   at alluxio.util.ShellUtils.execCommand(ShellUtils.java:238)
   at alluxio.fuse.AlluxioFuseUtils.getUserName(AlluxioFuseUtils.java:108)
   at alluxio.fuse.AlluxioJniFuseFileSystem.setUserGroupIfNeeded(AlluxioJniFuseFileSystem.java:196)
   at alluxio.fuse.AlluxioJniFuseFileSystem.createInternal(AlluxioJniFuseFileSystem.java:232)
   at alluxio.fuse.AlluxioJniFuseFileSystem.lambda$create$0(AlluxioJniFuseFileSystem.java:213)
   at alluxio.fuse.AlluxioFuseUtils.call(AlluxioFuseUtils.java:280)
   at alluxio.fuse.AlluxioJniFuseFileSystem.create(AlluxioJniFuseFileSystem.java:213)
   at alluxio.jnifuse.AbstractFuseFileSystem.createCallback(AbstractFuseFileSystem.java:253)

This seems to imply that the FUSE container still needs to be aware of the user with UID 1548. I was hoping that by turning the translation off all files would be owned by by the alluxio user, and the FUSE container would not need to be aware of other users.
To Reproduce

Launch Alluxio FUSE in Docker running as alluxio user with UID 1001. Make sure FUSE is mounted in a bind mount to the host. Make sure that alluxio user is the only user on this container.
From the host with a different user with UID 1548: Write a file to the FUSE mount.
Result: above error.

Please note that the exact user name and UID does not matter, what matters is that the FUSE mount is being written to by a user that the FUSE container is not aware of.
Expected behavior

Writing by a different user working out-of-the box when user translation is turned off.

Urgency
low,
If I write to the fuse folder with a user that has the same UID it works. The error prevents me to seperate user spaces between services.
Additional context
Add any other context about the problem here.

@peterroelants  I created a patch #13268 to fix this issue.


DOC: Fix spelling errors

The lintian QA tool reported several spelling errors for the Debian package build:

Tranforming   -> Transforming
accomodate    -> accommodate
bulding       -> building
contaning     -> containing
exacly        -> exactly
intialization -> initialization
plaforms      -> platforms
reguardless   -> regardless
tranformation -> transformation
ot            -> of

Thanks :+1:


Tests on RS3 sometimes fail due to appx installation error: "The Visual Elements extension failed while processing the Notification element."

E.g. see CommandBarFlyoutTests failure in:
https://dev.azure.com/ms/microsoft-ui-xaml/_build/results?buildId=1884&view=ms.vss-test-web.build-test-results-tab

I'm not seeing this in recent test passes. If this issue occurs again we can try can get logs.

Just saw this here: https://github.com/Microsoft/microsoft-ui-xaml/pull/412/checks?check_run_id=77188765

This hasn't been an issue lately. Without a way to repro the issue there is not much we can do. Let's see if it comes up again.


World of Tanks VK_ERROR_MEMORY_MAP_FAILED

After one or two battles World of Tanks crashes during load of the hangar after battle. I created fresh wineprefix, but it didn't help.
Here is an error from log:
err:   DxvkMemoryAllocator: Mapping memory failed with VK_ERROR_MEMORY_MAP_FAILED
err:   DxvkMemoryAllocator: Mapping memory failed with VK_ERROR_MEMORY_MAP_FAILED
err:   DxvkMemoryAllocator: Mapping memory failed with VK_ERROR_MEMORY_MAP_FAILED
err:   DxvkMemoryAllocator: Memory allocation failed
err:     Size:      134217728
err:     Alignment: 16
err:     Mem flags: 0x6
err:     Mem types: 0xf
err:   Heap 0: 3488 MB allocated, 2280 MB used, 3634 MB allocated (driver), 7402 MB budget (driver), 7936 MB total
err:   Heap 1: 96 MB allocated, 47 MB used, 96 MB allocated (driver), 98 MB budget (driver), 256 MB total
err:   Heap 2: 448 MB allocated, 413 MB used, 486 MB allocated (driver), 8018 MB budget (driver), 8192 MB total
err:   DxvkMemoryAllocator: Memory allocation failed

Software information
World of Tanks 1.8.0
System information

GPU: AMD RX 580
Driver: Mesa 20.0.1 (LLVM 9.0.1)
Wine version: 5.4-staging
DXVK version: 1.5.5 (tested 1.4.6 too)

Apitrace file(s)

Couldn't get apitrace - WoT doesn't work with wined3d.

Log files
worldoftanks_d3d11.log
worldoftanks_dxgi.log

sigh #1318

@magist3r  use win64/Worldoftanks.exe to run WoT.


Segmentation fault on packet.decode()

When trying to get a frame from the packet, the script crashes with a Segmantation fault (core dumped) error.
Script:
import av

frames = []
container = av.open("./data/hollywood2/videos/sceneclipautoautotrain00124.avi")

for packet in container.demux():
    for frame in packet.decode():
        frames.append(frame.to_ndarray())

Trace with gdb:
Program received signal SIGSEGV, Segmentation fault.

0x00007ffff2fd2076 in __pyx_pf_2av_6stream_6Stream_12decode (__pyx_v_self=0x7ffff3282b38, __pyx_v_packet=0x55555584ea90 <_Py_NoneStruct>) at src/av/stream.c:3989
3989    src/av/stream.c: No such file or directory.

(gdb) backtrace

#0  0x00007ffff2fd2076 in __pyx_pf_2av_6stream_6Stream_12decode (__pyx_v_self=0x7ffff3282b38, __pyx_v_packet=0x55555584ea90 <_Py_NoneStruct>) at src/av/stream.c:3989

#1  __pyx_pw_2av_6stream_6Stream_13decode (__pyx_v_self=0x7ffff3282b38, __pyx_args=<optimized out>, __pyx_kwds=<optimized out>) at src/av/stream.c:3964

#2  0x000055555566a336 in PyCFunction_Call () at /tmp/build/80754af9/python_1540319457073/work/Objects/methodobject.c:98

#3  0x00007ffff7e2e70d in __Pyx_PyObject_Call (kw=0x0, arg=0x7ffff7f68d30, func=0x7ffff30bfea0) at src/av/packet.c:5411

#4  __Pyx__PyObject_CallOneArg (func=func@entry=0x7ffff30bfea0, arg=arg@entry=0x7ffff3279c28) at src/av/packet.c:5479

#5  0x00007ffff7e3161e in __Pyx_PyObject_CallOneArg (arg=<optimized out>, func=0x7ffff30bfea0) at src/av/packet.c:5498

#6  __pyx_pf_2av_6packet_6Packet_8decode (__pyx_v_self=<optimized out>) at src/av/packet.c:3033

#7  __pyx_pw_2av_6packet_6Packet_9decode (__pyx_v_self=0x7ffff3279c28, unused=<optimized out>) at src/av/packet.c:2998

#8  0x000055555566741a in _PyCFunction_FastCallDict () at /tmp/build/80754af9/python_1540319457073/work/Objects/methodobject.c:192

#9  0x00005555556f0c1c in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4837

#10 0x000055555571371a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335

#11 0x00005555556ebad9 in _PyEval_EvalCodeWithName (qualname=0x0, name=<optimized out>, closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwstep=2, kwcount=<optimized out>, kwargs=0x0, kwnames=0x0, argcount=0, args=0x0, locals=0x7ffff7f3e1f8, globals=0x7ffff7f3e1f8,
    _co=0x7ffff7eb8d20) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4166

#12 PyEval_EvalCodeEx () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4187

#13 0x00005555556ec87c in PyEval_EvalCode (co=co@entry=0x7ffff7eb8d20, globals=globals@entry=0x7ffff7f3e1f8, locals=locals@entry=0x7ffff7f3e1f8) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:731

#14 0x000055555576d074 in run_mod () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:1025

#15 0x000055555576d471 in PyRun_FileExFlags () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:978

#16 0x000055555576d673 in PyRun_SimpleFileExFlags () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:419

#17 0x000055555576d77d in PyRun_AnyFileExFlags () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:81

#18 0x00005555557711b0 in run_file (p_cf=0x7fffffffdacc, filename=0x5555558ad7a0 L"./convert_video.py", fp=0x5555558e1080) at /tmp/build/80754af9/python_1540319457073/work/Modules/main.c:340

#19 Py_Main () at /tmp/build/80754af9/python_1540319457073/work/Modules/main.c:811

#20 0x0000555555638b4e in main () at /tmp/build/80754af9/python_1540319457073/work/Programs/python.c:69

#21 0x00007ffff77e6b97 in __libc_start_main (main=0x555555638a60 <main>, argc=2, argv=0x7fffffffdcd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdcc8) at ../csu/libc-start.c:310

#22 0x000055555571a1a8 in _start () at ../sysdeps/x86_64/elf/start.S:103

@mikeboers this issue really bothers me, it has me wondering whether we are doing something really wrong in terms of memory ownership.
@primef are you able to reproduce this issue reliably with a video you can legally share with us?

@PrimeF ping?

I was able to get around this issue by setting Frame to an empty string before I called it.  For example:
`import av
frames = []
container = av.open("./data/hollywood2/videos/sceneclipautoautotrain00124.avi")
for packet in container.demux():
frame=""
for frame in packet.decode():
frames.append(frame.to_ndarray())`

Setting frame did not work.
`
import av
print("Decoding with default (slice) threading...")
container = av.open('rtsp://<IP_ADDRESS>/img/media.sav?channel=1', options={'rtsp_flags': 'prefer_tcp'})
start_time = time.time()
#stream = next(s for s in container.streams)
for packet in container.demux():
print(packet)
frame=" "
print('****packet time_base=', packet.time_base, '***pts=', packet.pts,'***dts=', packet.dts)
for frame in packet.decode():
    print(frame)

default_time = time.time() - start_time
python3 decode.py -verbose
Decoding with default (slice) threading...
<av.Packet of #0, dts=None, pts=None; 10395 bytes at 0xae8dd0>
****packet time_base= None ***pts= None ***dts= None
Segmentation fault
`
Also packet.time_base = None

I'm going to close this as the OP is not replying.
@docdude please open a new issue with the appropriate template and information. Additionally, we will need the trace, and we may request you do build from PyAV source so we can translate the line numbers back to the Cython.

Haven't done a deep dive yet but this appears to still be an issue for me on 12.3.0 when demuxing RTSP. Will see if I can get a reproducible example.


Custom styling for nodes and function buttons

Hello!
Do you have any idea how the K2Node_SwitchString and K2Node_SwitchInteger nodes have the 'Add pin' button on the node, or how the Default pin is below a separator and the other pins are rendered above it? Where is this kind of styling being done?
Thanks!

The short answer is Slate.
Both of those nodes are children of K2Node_Switch which has a custom Slate widget for rendering the node. There's then some annoyingly specific engine code that chooses a slate widget for the node based on it's type. Annoying because you can't easily extend it without adding your node to the engine.
The good news is there is also a function you can override from EdGraphNode (the parent of K2Node) named CreateVisualWidget which allows you to return a custom SGraphNode that can be used to display your node. I have not done a whole lot in this area yet. I've only really created one custom SGraphNode and it was mostly copy/paste from an engine node. But if you bounce around the source a little bit you should be able to fine the Slate widget for switch nodes to see what it's doing.


Image can't be decoded-> .imageDecoder issue

I get the error  E/ImageLoader﹕ Image can't be decoded. I found a solution here https://github.com/nostra13/Android-Universal-Image-Loader/issues/539. One guy says to copy a class NutraBaseImageDecoder andd add .imageDecoder(new NutraBaseImageDecoder(true)) to the options, but when I try to add this it doesn't recognize the .imageDecoder. What am I doing wrong ?
This is what I've tried:
 options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.drawable.ic_empty)
                    .showImageForEmptyUri(R.drawable.ic_empty)
                    .showImageOnFail(R.drawable.ic_error)
                    .cacheInMemory(true)
                    .cacheOnDisk(true)
                    .imageDecoder(new NutraBaseImageDecoder(true))
                    .considerExifParams(true)
                    .displayer(new RoundedBitmapDisplayer(20)).build();

The problem is with .imageDecoder(new NutraBaseImageDecoder(true)). There are no spaces in the url. I also have this in Uri.decode(url) when I'm passing it in the image loader.
Edit with errors :
    06-01 14:12:14.746  13047-14716/name.company.newproject I/System.out﹕ AsyncTask #3 calls detatch()
06-01 14:12:14.766  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:14.766  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:14.766  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:14.826  13047-13455/name.company.newproject D/dalvikvm﹕ GC_FOR_ALLOC freed 3151K, 17% free 21796K/26124K, paused 22ms, total 22ms
06-01 14:12:14.836  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:14.836  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:14.836  13047-13455/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:14.856  13047-13452/name.company.newproject D/dalvikvm﹕ GC_FOR_ALLOC freed 716K, 17% free 21817K/26124K, paused 24ms, total 24ms
06-01 14:12:14.926  13047-13452/name.company.newproject D/dalvikvm﹕ GC_FOR_ALLOC freed 62K, 15% free 22330K/26124K, paused 24ms, total 24ms
06-01 14:12:14.946  13047-13047/name.company.newproject D/AbsListView﹕ unregisterIRListener() is called
06-01 14:12:15.446  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.446  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.446  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:15.456  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.456  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.456  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:15.506  13047-13047/name.company.newproject D/AbsListView﹕ unregisterIRListener() is called
06-01 14:12:15.576  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.576  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.576  13047-13455/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:15.576  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.576  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.576  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:15.616  13047-13047/name.company.newproject D/AbsListView﹕ unregisterIRListener() is called
06-01 14:12:15.666  13047-13047/name.company.newproject D/AbsListView﹕ unregisterIRListener() is called
06-01 14:12:15.896  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.896  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.896  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:15.896  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.896  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:15.896  13047-13455/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.096  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.096  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.096  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.096  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.096  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.096  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.656  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.656  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.656  13047-13455/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.656  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.656  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.656  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.846  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.846  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.846  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:16.856  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.856  13047-13455/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:16.856  13047-13455/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:17.056  13047-13455/name.company.newproject D/dalvikvm﹕ GC_FOR_ALLOC freed 4815K, 21% free 23079K/29068K, paused 22ms, total 22ms
06-01 14:12:17.316  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:17.316  13047-13454/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:17.316  13047-13454/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:17.316  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:17.316  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:17.316  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]
06-01 14:12:18.116  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:18.116  13047-13452/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null
06-01 14:12:18.116  13047-13452/name.company.newproject E/ImageLoader﹕ Image can't be decoded [httpURL]

The image is 2.6 MB.

ImageDecoder is set in configuration, not DisplayImageOptions.
https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Configuration

Thank you for answering. Is this the part that you are talking about ? https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/sample/src/main/java/com/nostra13/universalimageloader/sample/UILApplication.java . I couldn't find anything else. Should I just copy this java file in my project ?

You must init ImageLoader before the first usage:
...
ImageLoader.getInstance().init(config.build());

You can put it in your first Activity.onCreate().

I had that:
`
// UNIVERSAL IMAGE LOADER SETUP
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheOnDisc(true).cacheInMemory(true)
.imageScaleType(ImageScaleType.EXACTLY)
.displayer(new FadeInBitmapDisplayer(300)).build();
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            getApplicationContext())
            .defaultDisplayImageOptions(defaultOptions)
            .memoryCache(new WeakMemoryCache())
            .discCacheSize(100 * 1024 * 1024).build();

    ImageLoader.getInstance().init(config);
    // END - UNIVERSAL IMAGE LOADER SETUP

`

So? Can't you add .imageDecoder(new NutraBaseImageDecoder(true)) to config?

I'm sorry. Now I understood what you said. I'll add it. Thank you.

Tried it and it's not working. I still get 06-07 22:40:41.995    5489-5899/name.company.newproject D/dalvikvm﹕ GC_FOR_ALLOC freed 2120K, 27% free 25018K/34180K, paused 15ms, total 16ms 06-07 22:40:41.995    5489-5899/name.company.newproject D/skia﹕ --- SkImageDecoder::Factory returned null

Have the same error. Tried all previous solutions, but they not helped me. My config
File cacheDir = FileManager.getImageCacheDirectory(getApplicationContext());
    DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
            .imageScaleType(ImageScaleType.EXACTLY)
            .resetViewBeforeLoading(true)
            .cacheOnDisk(true)
            .cacheInMemory(true)
            .showImageOnLoading(R.drawable.ic_no_image)
            .showImageForEmptyUri(R.drawable.ic_no_image)
            .showImageOnFail(R.drawable.ic_no_image)
            .build();

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
            .denyCacheImageMultipleSizesInMemory()
            .diskCache(new UnlimitedDiskCache(cacheDir))
            .imageDownloader(new MyImageDownloader(this))
            .defaultDisplayImageOptions(defaultOptions)
            .build();

    ImageLoader.getInstance().init(config);

MyImageDownloader just overrid getStreamFromOtherSource for supporting schemas.
@Override
protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException {
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), mSchemas.get(imageUri));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 0, bos);
byte[] bitmapData = bos.toByteArray();
ByteArrayInputStream bs = new ByteArrayInputStream(bitmapData);
return bs;
}
Loggs
E/ImageLoader﹕ Image can't be decoded [https://s3.amazonaws.com/selfiester.com_54x54]
07-21 11:00:37.887  30600-31689/com.scand.selfieking D/skia﹕ --- SkImageDecoder::Factory returned null
07-21 11:00:37.889  30600-31689/com.scand.selfieking D/skia﹕ --- SkImageDecoder::Factory returned null
How can I solve this problem? Thank you.

@nostra13 I find the problem when I decode a jpeg2000 picture,not all devices,if a normal jpg picture,the UIL works well.I think this is a possible reason.

@Haoxiqiang  you are right, not all devices have this problem ,i  find some old devices with in this problem. if picture is too big ,then this error is happened.


Add MatrixClient.downloadContent

Travis (CI) is stupid, passed anyway https://travis-ci.org/turt2live/matrix-js-bot-sdk/builds/571991804

I'll fix the lint issues later


Added margin configuration

added configuration option to manualy set margins ( can be used to set axis area width). solving https://groups.google.com/forum/#!topic/c3js/5KiGdPEOPxg

Thanks for working on this, but please let me close this PR at the moment.


canvas samples have been updated to 6.4

this addresses https://github.com/elastic/product-marketing/issues/58


API version doesn't seem to agree with documentation

The routes are active without a version, meaning we can execute the API for both with a version and without a version.
The response doesn't come back with a deprecated API version or pre-release version.

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

ID: 97e98433-f0b9-4398-154a-6ddd2de6f751
Version Independent ID: 74139a0a-e64a-507e-c250-ceb5058a1710
Content: API versioning for DICOM service - Azure Health Data Services
Content Source: articles/healthcare-apis/dicom/api-versioning-dicom-service.md
Service: healthcare-apis
Sub-service: fhir
GitHub Login: @mmitrik
Microsoft Alias: mmitrik

@abymmathew-mli Thanks for your findings, I'm assigning this to the author for the feedback review.

Hi @abymmathew-mli 👋
Thanks for reaching out!  Are there specific API endpoints where you're seeing this behavior?  For example, I just tried a few endpoints and I received a 404 when I did not include the version in the request URL.

GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v1/changefeed
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v1/studies

And if I included a known unsupported version, i.e. v2, I get a 400 Bad Request.
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v2/changefeed
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v2/studies

One more thought - are you making these queries against the hosted DICOM service, or are you self-hosting the open-source version?

Hi Mitrik, I  just set up the dicom server.
The endpoint is hosted version
https://ohifintegration-mlidynamics.dicom.azurehealthcareapis.com/
From: Matthew Mitrik @.>
Sent: Friday, January 27, 2023 2:13 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Aby Mammen Mathew @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] API version doesn't seem to agree with documentation (Issue #104399)
Hi @abymmathew-mlihttps://github.com/abymmathew-mli 👋
Thanks for reaching out! Are there specific API endpoints where you're seeing this behavior? For example, I just tried a few endpoints and I received a 404 when I did not include the version in the request URL.

GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v1/changefeed
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v1/studies
And if I included a known unsupported version, i.e. v2, I get a 400 Bad Request.
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v2/changefeed
GET https://examplews-dicomserver.dicom.azurehealthcareapis.com/v2/studies
One more thought - are you making these queries against the hosted DICOM service, or are you self-hosting the open-source version?
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/104399#issuecomment-1407027491, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWKJWE6QFB6HCVT2SISBJOTWUQT5VANCNFSM6AAAAAAUJBKYRU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

If you hit the /changefeed endpoint with no version, do you get a 200 OK as the response?  Is this happening for other endpoints such as /studies?

Sorry, I am getting 404 without the version “v1” and 200 with “v1”. I believe we are good.
From: Matthew Mitrik @.>
Sent: Friday, January 27, 2023 2:42 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Aby Mammen Mathew @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] API version doesn't seem to agree with documentation (Issue #104399)
If you hit the /changefeed endpoint with no version, do you get a 200 OK as the response? Is this happening for other endpoints such as /studies?
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/104399#issuecomment-1407053357, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWKJWE647AJBGVPJNY6DGHTWUQXKVANCNFSM6AAAAAAUJBKYRU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

I am getting strange result, for store a studying. Since this step doesn’t complete, I am not able to execute the WADO GET query for getting the study.
curl --request POST "https://ohifintegration-mlidynamics.dicom.azurehealthcareapis.com/v1/studies/1.2.8<IP_ADDRESS>80043.8.498.13230779778012324449356534479549187421" --header "Accept: application/dicom+json" --header "Content-Type: multipart/related; type="application/dicom"" --header "Authorization: Bearer $token" --form "file1=/home/aby/dicom-samples/green-square.dcm;type=application/dicom" –verbose

Content-Length: 214
Content-Type: multipart/related; type="application/dicom"; boundary=------------------------4aeec13d34b04aa3

We are completely uploaded and fine
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
old SSL session ID is stale, removing
Mark bundle as not supporting multiuse
< HTTP/1.1 409 Conflict
< Date: Fri, 27 Jan 2023 22:00:30 GMT
< Content-Type: application/dicom+json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Request-Context: appId=
< api-supported-versions: 1.0-prerelease, 1
< Strict-Transport-Security: max-age=15724800; includeSubDomains
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< Content-Security-Policy: frame-src 'self';
<
Connection #0 to host ohifintegration-mlidynamics.dicom.azurehealthcareapis.com left intact
{"00081198":{"vr":"SQ","Value":[{"00081197":{"vr":"US","Value":[43264]}}]}}

From: Aby Mammen Mathew
Sent: Friday, January 27, 2023 3:49 PM
To: MicrosoftDocs/azure-docs @.>; MicrosoftDocs/azure-docs @.>
Cc: Mention @.***>
Subject: RE: [MicrosoftDocs/azure-docs] API version doesn't seem to agree with documentation (Issue #104399)
Sorry, I am getting 404 without the version “v1” and 200 with “v1”. I believe we are good.
From: Matthew Mitrik<EMAIL_ADDRESS>Sent: Friday, January 27, 2023 2:42 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Aby Mammen Mathew<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] API version doesn't seem to agree with documentation (Issue #104399)
If you hit the /changefeed endpoint with no version, do you get a 200 OK as the response? Is this happening for other endpoints such as /studies?
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/104399#issuecomment-1407053357, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWKJWE647AJBGVPJNY6DGHTWUQXKVANCNFSM6AAAAAAUJBKYRU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks it definitely helped to get it started – tried all on curl and postman(exception of multipart), it works. On item two, the documentation was missing a quote (highlighted).

Store-instances-using-multipart/related - works
curl --request POST "https://ohifintegration-mlidynamics.dicom.azurehealthcareapis.com/v1/studies" --header "Accept: application/dicom+json" --header "Content-Type: multipart/related; type="application/dicom"" --header "Authorization: Bearer $token" --form  "file1=@/home/aby/dicom-samples/blue-circle.dcm;type=application/dicom" --verbose
Store instances for a specific study - works
curl --request POST "https://ohifintegration-mlidynamics.dicom.azurehealthcareapis.com/v1/studies/1.2.8<IP_ADDRESS>80043.8.498.13230779778012324449356534479549187421" --header "Accept: application/dicom+json" --header "Content-Type: multipart/related; type="application/dicom"" --header "Authorization: Bearer $token" --form  "file1=@/home/aby/dicom-samples/blue-circle.dcm;type=application/dicom" --verbose
Store-single-instance – works
curl --location --request POST "https://ohifintegration-mlidynamics.dicom.azurehealthcareapis.com/v1/studies" --header "Accept: application/dicom+json" --header "Content-Type: application/dicom" --header "Authorization: Bearer $token" --data-binary @.***/blue-circle.dcm"

From: Matthew Mitrik @.>
Sent: Friday, January 27, 2023 2:42 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Aby Mammen Mathew @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] API version doesn't seem to agree with documentation (Issue #104399)
If you hit the /changefeed endpoint with no version, do you get a 200 OK as the response? Is this happening for other endpoints such as /studies?
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/104399#issuecomment-1407053357, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWKJWE647AJBGVPJNY6DGHTWUQXKVANCNFSM6AAAAAAUJBKYRU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@abymmathew-mli Thanks for the heads up.  I'm fixing the issue with the missing quote.
Also worth noting, the /health/check API is not versioned.  All other APIs are versioned 😄


Connect the FDND Who Is API

Connect the FDND Who Is API so I can use it in my HTML woohoo

up next: filtering out the empty ID's (issue #3)


Skip anonymous types

Is there a way to skip obfuscation on anonymous types?
If I have the following code in assembly that gets obfuscated:
c => new {c.Name, c.Description}

I will always get these properties obfuscated whether I skip obfuscation on the method, class or assembly.
the particular problem is that I can't use this library:
http://entityframework-extensions.net/column-input-expression

Please refer to #130


FINERACT-822 enable variableNameSameAsType warning

FINERACT-822

OK will also do that for the warnings already removed


[BUG] Termination condition for Contact Primitive

Version information

RDK: v0.10
Robot software: v2.10.9
OS: macOS 14.5 - arm64

Describe the bug
When polling primitive states to determine that the contact primitive has terminated, if the termination condition is set to 'terminated' == '1' as specified by the primitives documentation, the condition is never met.
Steps to reproduce

Send contact primitive to robot with default parameters
Add a while loop polling current primitive states, checking for 'terminated' == '1'
See error

Expected behavior
The primitive state 'terminated' should be set to '1'. However, when I print the primitive states as the primitive executes, I notice that ‘terminated’ remains at ‘0’ while ‘primitiveName’ switches to ‘Hold’ from ‘Contact’ and ‘reachedTarget’ is set equal to ‘1’.
Screenshots

Hi @yellownebula10 ,
In our system, some primitives have a self-termination condition, which means that when the termination condition is met, the primitive will automatically terminate. The Contact primitives you mentioned are among those primitives that can self-terminate. (This is because after contact is made, the robot should not be staying within Contact primitive state)
So the reason that you were not able to reach the 'terminated' == '1'' condition is because at the time you query, the primitive has already met the self-termination condition and has already exited, and the primitive states are no longer available as that primitive is no longer running.
To identify which primitives will terminate by itself:
If you spot the primitive's default transition condition is [terminated == 1], then this means it is one of the self-terminated primitives Flexiv Primitives default transition condition

To check if such primitives are terminated or not, you can use the isBusy() method, below is an example code snippet:

Thank you @kaibiao-flexiv !


Does this support pip packages too?

Awesome and exciting project :D <3
Does this support pip packages as well? Or do they all need to be in conda? Not sure how the layering would work..

Hey @yuvipanda it does not support pip at the moment. Currently each conda package is added as a layer. There would have to be some additional logic added in order to properly:

identify which files were added by the pip install
copy these files over as a layer

Not overly hard to do but is not supported at the moment. In the next month I will be putting more effort into this package since we have needs to have deeper support for docker in conda-store.


AutoForm.getFieldValue in helper: problems after submit or error

Hi guys,
just for your info: it seems like AutoForm.getFieldValue looses it's reference to the view/template when being called from outside within a helper function.
I tested this in autoform 5.6 and 5.7.1.
I have a form-template where I want to dynamically show/hide elements.
This helper does NOT WORK after I hit the submit button.
Template.name.helpers{
  showElements: function() {
    // THIS IS BUGGY: it does NOT WORK after an submit or error event
    return AutoForm.getFieldValue('booleanFieldName', 'formId')
  }
}

As a workaround this does work, BUT I'd love to use a helper to keep it more readable:
.html template
{{#if afFieldValueIs name='booleanFieldName' value=true}}
   // this one works, but I'd like to use a helper to keep it more readable
{{/if}}

Summerized this is the current state:

When I write a custom helper (and use AutoForm.getFieldValue) it DOES have problems AFTER hitting the SUBMIT button (just as described above). It then looses reference and I need to reload the page.
When I use afFieldValueIs(in html template) it does NOT show initial data onLoad, BUT still shows data correctly after hitting the SUBMIT button.

+1


Error Code : 478-

I'm not sure what this means as it isn't implemented in the code.
Below is what it read:
[6:12:32 PM] Marten de Roon [289393277271] 1100 buy failed
Error Code : 478-

478 means the TradeId no longer exist. Some one else might have now and relisted again..


Single Entry point

[x] Add a single script that runs each option
[x] Add attacks for the future from prev project

[Done] Add attacks for the future from prev project (taken from the previous project, with  @Amit-Nadam )

[semi-Done] Add a single script that runs each option
need to progress in the project by creating custom model for it to run as expected

[Finish] until future progress


TechCrunch Scraper

Describe the project you want to add with tech stack
To scrape the TechCrunch website and retrieve the latest news from the website
Expected behavior
It will return the news for a particular category in JSON.
Screenshots (optional)

@MohitGupta121 @TusharKesarwani please assign me the issue


Authority-discovery: the first round of queries should be shorter than the others

At the moment we query all validators over a period of 10 minutes.
If I'm not mistaken, that means that in the first 10 minutes after a node restarts, it won't be able to connect to some validators.
This can be a problem if the node is a parachain collator.
I think it makes sense to shorten the time of the first ever period to, say, 1 minute, in order to make the network more robust to unexpected node restarts.
cc @mxinden

Summarizing a discussion in Riot, the following algorithm should solve the issue of failing queries at startup:
When publishing ones address start off with a low interval (e.g. 2 seconds). When publishing fails, double the interval. When publishing succeeds fast forward the interval to the default (12h).
When querying addresses start of with a low interval (e.g. 2 seconds). Reset / Refill the pending query buffer each interval tick and double the interval until it is at the default (10 minutes). At all times enforce the concurrent request limit.
In case this makes some configuration options obsolete, remove them.

When publishing ones address start off with a low interval (e.g. 2 seconds). When publishing fails, double the interval. When publishing succeeds fast forward the interval to the default (12h).

By succeed do you mean we don't get the QuorumFailed error? Or is a succeed already when we were able to publish it to one other node?
Because if we do this until there is no QuorumFailed error, it means that on a local network we will probably never have this situation.
While doing this, we probably also should make the QuorumFailed a debug message? WDYT?

By succeed do you mean we don't get the QuorumFailed error?

Correct.

Because if we do this until there is no QuorumFailed error, it means that on a local network we will probably never have this situation.

I don't see a problem with never having this situation. In case publishing ones address always returns QuorumFailed the publishing interval will converge towards 12h eventually. Am I missing an issue with this approach?

No everything fine, I just wanted to point this out :) I was not sure how much this maybe would "spam" the nodes of the local network.


DataFusion filter on partition column doesn't work. (when the phsical schema ordering is different to logical one)

Environment
Linux, Rust
Delta-rs version:
0.17.3
Binding:
Environment:

Cloud provider:
OS:
Other:

Bug
What happened:
The filter expr didn't return expected rows. My table is relatively big so I tried to construct a minimal test to reproduce it,  see below code.
Besides,  from what I see in the log, my guess is:

delta scan is good, it successfully prune irrelated files.
https://github.com/delta-io/delta-rs/pull/1071/files#diff-f3a4847c9506848f6f5bf021b5f10fb24602373580e58739bd2a2a24f9878e77R438  we use InExact filter push down, so datafusion apply the same filter again, but however, the physical plan gets wrong column index.
I am not an expert on datafusion or delta-rs.. so I stop here... thank you in advance for any help...

What you expected to happen:
How to reproduce it:
I wrote a unit test to check it, but it seems like I don't have permission to push it?
    #[tokio::test]
    async fn delta_scan_mixed_partition_order_and_filter() {
        let schema = Arc::new(ArrowSchema::new(vec![
            Field::new("modified", DataType::Utf8, true),
            Field::new("id", DataType::Utf8, true),
            Field::new("value", DataType::Int32, true),
        ]));

        let table = crate::DeltaOps::new_in_memory()
            .create()
            .with_columns(get_delta_schema().fields().clone())
            .with_partition_columns(["modified", "id"])
            .await
            .unwrap();
        assert_eq!(table.version(), 0);

        let batch = RecordBatch::try_new(
            schema.clone(),
            vec![
                Arc::new(arrow::array::StringArray::from(vec![
                    "2021-02-01",
                ])),
                Arc::new(arrow::array::StringArray::from(vec!["A"])),
                Arc::new(arrow::array::Int32Array::from(vec![1])),
            ],
        )
        .unwrap();
        // write some data
        let table = crate::DeltaOps(table)
            .write(vec![batch.clone()])
            .with_save_mode(crate::protocol::SaveMode::Append)
            .await
            .unwrap();

        let provider = Arc::new(table);
        let ctx = SessionContext::new();
        let df = ctx.read_table(provider).unwrap();

        let actual = df.clone().collect().await.unwrap();
        let expected = vec![
            "+-------+------------+----+",
            "| value | modified   | id |",
            "+-------+------------+----+",
            "| 1     | 2021-02-01 | A  |",
            "+-------+------------+----+",
        ];
        assert_batches_sorted_eq!(&expected, &actual);

        let actual = df.clone().filter(col("value").eq(lit(1))).unwrap().collect().await.unwrap();
        assert_batches_sorted_eq!(&expected, &actual);

        let actual = df.clone().filter(col("id").eq(lit("A"))).unwrap().collect().await.unwrap();
        assert_batches_sorted_eq!(&expected, &actual);
    }

More details:
expected:

[
    "+-------+------------+----+",
    "| value | modified   | id |",
    "+-------+------------+----+",
    "| 1     | 2021-02-01 | A  |",
    "+-------+------------+----+",
]
actual:

[
    "++",
    "++",
]

  left: ["+-------+------------+----+", "| value | modified   | id |", "+-------+------------+----+", "| 1     | 2021-02-01 | A  |", "+-------+------------+----+"]
 right: ["++", "++"]

One more suggestion:
Actually, we are able to return dynamic filter push down flag?
pub enum TableProviderFilterPushDown {
    /// The expression cannot be used by the provider.
    Unsupported,
    /// The expression can be used to reduce the data retrieved,
    /// but the provider cannot guarantee it will omit all tuples that
    /// may be filtered. In this case, DataFusion will apply an additional
    /// `Filter` operation after the scan to ensure all rows are filtered correctly.
    Inexact,
    /// The provider **guarantees** that it will omit **all** tuples that are
    /// filtered by the filter expression. This is the fastest option, if available
    /// as DataFusion will not apply additional filtering.
    Exact,
}

when the expr only contains partition columns,  we should return Exact.

Thanks for taking the time to write a test @Veiasai ! I'll take a look at this shortly

hey, any updates?

@rtyler I have a local fix for this issue - I am not sure on what the delta protocol dictates, but in some of our test tables the partitioning columns would appear in a different order in the json schema and in the partition columns array.
_arrow_schema uses an iterator + chain + 2 filters on the schema, while the rest of the code (e.g. DeltaScanBuilder.build) will filter them out, then append them explicitly in the order dictated by partition_columns.
LMK if this is enough as a pointer or I should send a PR with this.


Can't get debugging to work in remote WSL folder?

Issue Type: Bug

Behaviour
Expected vs. Actual
Seems like a regression, I've debugged my WSL many times in the past, but suddenly today, nothing works.
Debugging should start when I press F5, see attached video:
https://user-images.githubusercontent.com/18707114/179066329-fe9d9ad5-417f-44f7-b226-da7f44990f54.mp4
See that really nothing happens, which makes it hard to debug.
How does one even debug something like this, are there logs somewhere?
Steps to reproduce:

open WSL folder (or remote docker container) containing python code.
Create debug configuration for "python file"
Make sure correct python interpreter is selected
Press F5

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.6.13
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda
Value of the python.languageServer setting: Default

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

DAP Server launched with command: /home/chris/anaconda3/envs/snap/bin/python /home/chris/.vscode-server/extensions/ms-python.python-2022.10.0/pythonFiles/lib/python/debugpy/adapter

User Settings

languageServer: "Pylance"

linting
• flake8Enabled: true

Extension version: 2022.10.0
VS Code version: Code 1.69.1 (b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a, 2022-07-12T08:21:24.514Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz (20 x 3696)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.78GB (49.54GB free)

Process Argv
--crash-reporter-id 70370e31-b9d8-43c2-9c5b-588166243251

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-18.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz (20 x 3696)

Memory (System)
50.02GB (47.55GB free)

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
pylanb8912:30520716
vsclangdf:30486550

@lovettchris Python 3.6 is no longer supported in the latest version, since it has been out of service on python.org for over 6 months. If you need to work with python 3.6 pin the extension to 2022.08.*.

That was it, thanks, switching to Python 3.8 solved the problem.  You'll probably get a ton of these bug reports until you add this information to your Python debugger output somewhere.


Use some sort of LOD for glTF Models

When spawning lots of glTF Models, performance is affected badly. This will be probably alleviated by the Model instancing features that are planned. But it might be desirable use some sort LOD method for glTF Models. I do not have enough insight in the LOD methods the glTF format provides, but I have read that glTF does support some sort of LODing.
Maybe users should just switch Models manually based on the distance to the Camera. What are your thoughts on this matter?

You might be interested in 3D Tiles: https://github.com/AnalyticalGraphicsInc/3d-tiles
A single 3D tile can be a model with a bounding box and an "error" value indicating how different the tile's model is from a more detailed version. Nesting a bunch of tiles with different LODs of the same model can get you something very much like a hierarchical LOD, and Cesium will automatically render different LODs when the camera is at different distances.
One other detail that I think isn't in the spec yet, there's also a branch in Cesium for 3D Tile hierarchies with a transformation at the top so you can more easily place a tileset somewhere on the globe.

@laurensdijkstra I'm going to close this issue since it is something we are already working on in the 3D Tiles branch.
If you have any questions about 3D tiles or want to know more information, check out this forum post: https://groups.google.com/d/msg/cesium-dev/tCCooBxpZFU/7hxT_E4pGgAJ
Thanks!

@laurensdijkstra for an example of the LOD approach you suggested with 3D Tiles, see https://github.com/AnalyticalGraphicsInc/3d-tiles-samples/tree/master/tilesets/TilesetWithDiscreteLOD

@likangning93  @hpinkos @pjcozzi Thanks for the suggestion!


TEB plans and select infeasible trajectories throught obstacles

Hello,
Setup:
Branch: foxy-devel
OS: Ubuntu 20.04 64bit
Robot: Physical real robot
Issue and actual behavior
TEB generates trajectories through obstacles on my local costmap. This happens very often in my environment. The invalidity is correctly detected (dwb_critics::ObstacleFootprintCritics::scorePose() throw an exception and the controller "abort the handling").
Also, when an alternative homotopy without collision is present, the TEB planner do not select this homotopy.
Expected behavior

TEB should not plan through obstacles
Or TEB should switch to an alternative collision-free homotopy if available

Am I misunderstanding something ?
Most of params are at their default. Param include_dynamic_obstacles is set to True. The footprint is of polygon type. The same issue is observed with line footprint type.

After investigation it seems that TEB uses dwb_critics::ObstacleFootprintCritics::scorePose()  function from the Navigation2 stack to evaluate the feasibility of the trajectory. However TEB excpect a negative score from scorePose() if the trajectory is infeasible, but it now actually throw an exception that is not caught by TEB.
https://github.com/rst-tu-dortmund/teb_local_planner/blob/d6865b419ba70bf637f5125317c380e00f7944c3/teb_local_planner/src/optimal_planner.cpp#L1223
Adding a try/catch confirmed that the exception is raised:
try
    {
     score = costmap_model->scorePose(pose2d, dwb_critics::getOrientedFootprint(pose2d, footprint_spec));
    }
    catch (...)  // (const dwb_core::IllegalTrajectoryException & e)
    {
      score = -1.0f;  // Seems that older versions of scorePose() returned negative value instead of an exception for illegal pose
    }
allows TEB to be aware of an invalid trajectory but at the end, it rises:
[controller_server-8] [ERROR] [1625851895.112989293] [controller_server]: TebLocalPlannerROS: trajectory is not feasible. Resetting planner...
[controller_server-8] [WARN] [1625851895.113134206] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle.
The string "TebLocalPlannerROS: trajectory is not feasible" comes from TEB and confirm that it detected the invalid trajectory, but as said I expected it to at least just discard it and chose the alternative homotopy...

Hi, could you please share your local and global costmap parameters, as it seems there is an issue over there. I think TEB choses over obstacles because your costmap shows that you can pass from here, any delay can cause this. Check your global_frame in both local and global costmap.

By looking into the code, my guesse is that the main problem is in the scoring of the pose for polygon-shaped footprint: the cost function related to the distance calculates the distance between the centre of the footprint and the edges of the polygon. But it seems there is no check for if the obstacle point is inside the polygon. So for quite large robots (e.g. 0.6*0.8 in my case) and small min_obstacle_dist, the obstacle point can be far enough from the edge but inside the polygon, so this invalid pose has a small penalty.

Hi, I am not sure but it seems there is a problem in your local costmap parameters, in fact your cost scaling factor is too high. I suggest you tune your cost scaling factor based on this formula exp(-1.0 * cost_scaling_factor * (distance_from_obstacle - inscribed_radius)) * (costmap_2d::INSCRIBED_INFLATED_OBSTACLE - 1)
From this formula we can say that if cost scaling factor is too high teb could include paths from inside of obstacles.
Hope it helps.
source:
source:

I also encountered a similar situation. My robot shape is set to polygon，therefore, when the obstacle is in the robot, the path will pass directly through the obstacle. I think you are right, this should be a problem with the distance between the obstacle to the robot.Do you have any way to solve it?


Add min & max values to query parameters

When setting min or max values for a query parameters, they are being ignored and the default value is set. This does not break the converter but it does not confirm to the assumed behaviour.
Acceptance Criteria

Min and max values for query parameters are being considered

Haven't checked this yet, since it is low priority.


Copyright?

Well I'm not sure about this

we don't actually own the website
we should just put "Built with portflowio"

#3

im not a lawyer

didn't request your review


Notification of Newer Opencast Version in Admin UI

There is a notification area in the Admin UI behind the bell.
It would be nice to create a new notification, if a newer Opencast version exists then the version that its currently installed. Maybe even a link to the release docs would be nice.
The current version should be known as it is shown on the bottom of the admin UI.
New versions can be found in the Github tag list.

We can use GitHub's API to get the latest version.
curl -s https://api.github.com/repos/opencast/opencast/releases/latest
{
  "url": "https://api.github.com/repos/opencast/opencast/releases/27564942",
  "assets_url": "https://api.github.com/repos/opencast/opencast/releases/27564942/assets",
  "upload_url": "https://uploads.github.com/repos/opencast/opencast/releases/27564942/assets{?name,label}",
  "html_url": "https://github.com/opencast/opencast/releases/tag/8.5",
  "id": 27564942,
  "node_id": "MDc6UmVsZWFzZTI3NTY0OTQy",
  "tag_name": "8.5",
  "target_commitish": "develop",
  "name": "Opencast 8.5",
  "draft": false,
  "author": {
    …
  },
  "prerelease": false,
  "created_at": "2020-06-15T16:30:15Z",
  "published_at": "2020-06-15T16:53:15Z",
  "assets": […],
  "tarball_url": "https://api.github.com/repos/opencast/opencast/tarball/8.5",
  "zipball_url": "https://api.github.com/repos/opencast/opencast/zipball/8.5",
  "body": "Changelog available in https://docs.opencast.org/r/8.x/admin/changelog/"
}

And the bundle info service to get Opencast's version:
curl -s 'https://develop.opencast.org/sysinfo/bundles/version?prefix=opencast'
{
  "consistent": true,
  "version": "9.0.0.SNAPSHOT",
  "buildNumber": "228dcd7"
}

with X...-SNAPSHOT > X.Y.0


SAK-29260 - Assignment decimal point moved on scoring

Changed the link for the add assignment to match up with the others and perform a submit on the page. Looks like it fixes the bug and improves the error message returned if you try to submit without leaving. You have to hit the add button twice, but that's how all the buttons work.

Okay, LGTM


How to upgrade existing installation of UTMStackServer?

Please add into documentation short paragraph about upgrade procedure?
May be into "Installation" chapter?

Hi @lacak-sk, you're right, it will be included in the documentation. Thanks for the feedback.

#23


Working Scope

Supported commands:

[ ] Deposit
[ ] Withdraw
[ ] Tip
[ ] Balance
[ ] Market (using Coingeck API)
[ ] Fees
[ ] Terms
[ ] Help
[ ] Rain?


Fix different result data type on Windows and Linux (int vs long) e.g. in Spatial Weights node

Instead of using astype(int) we should use astype(np.int32) to explicitly set the number of bits which should prevent the different interpretation of int in numpy for different OS

Also fixed in Morans I with this commit


Added feature specs issue template

Codecov Report

Merging #7 (ec647f7) into master (b6ea122) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head ec647f7 differs from pull request most recent head 63b695f. Consider uploading reports for the commit 63b695f to get more accurate results

@@           Coverage Diff           @@
##           master       #7   +/-   ##
=======================================
  Coverage   28.52%   28.52%
=======================================
  Files          34       34
  Lines         666      666
=======================================
  Hits          190      190
  Misses        476      476


Question about the training time on DTU

Hello,
First of all, thanks for your excellent work and code release!
When I was trying to repeat the experiments with the given docker environment on my local workstation (a single RTX 3090), I noticed that the training process (20w iters with default hyper-params) on a single DTU scan (dtu_scan24) took about 90mins to complete, which is much longer than the officially claimed training time in the paper conclusion part ($\approx$ 30mins). I'm curious if it was normal. Was it out of that the default parameters in the code were not the same as the parameters you used to measure the training time, or was it for some other reason? I'll be appreciate to get the answer.

Hi there!
Thanks a lot for mentioning this issue! 90min is definitely way too long and indicates an issue somewhere.
There are a couple of things that may have contributed to the long training time:

Please check that apex package was found by the training script. This will show up while training with a message that says has_apex True. This significantly speeds up training and it should be automatic with the provided docker but it's best to double check.
If you want to get the fastest training it is also best to disable the viewer by using --no_viewer. The 3D viewer will hook onto the training loop and render at every frame which can also slow down things.
Logging images on tensorboard by using the with_tensorboard: true flag in the train_permuto_sdf.cfg can also slow down things.
Running with the default settings will assume that you have no mask for the images so the background will need to be modeled by a NeRF network. In the case of DTU you can enable the masked images with --with_mask.
Recently I found a bug that was causing the GPU to stall at every iteration due to an unnecessary amount of copies to CPU for logging purposes. This has now been fixed so please pull the latest version.
Another aspect that causes a GPU to CPU synchronization is the creation of the foreground ray samples. On the master branch the creation of samples will stall the GPU at this line. This is fixed in the async_create_samples_cleaned branch. However it is not yet merged since the code is quite difficult to follow and I'm still trying to find an elegant way to refactor it. Note that pulling this branch also requires to pull the latest version of the permutohedral_encoding package.

I hope there were no more performance regressions that have occurred due to refactoring so I will keep the issue open until I double check everything and also merge the async branch.
One tangential point to mention is that you can get significantly faster training by compressing the schedule using s_mult from here. You can set it for example to 0.5 to half the training time with almost no loss in accuracy for the vast majority of objects.

Hello, I checked the setting.It looks right.

On the master branch, it took 28 minutes to converge (a single RTX 4090). I think the 4090 should be much faster than the 3090.
Do I need to switch from the master branch to the async_create_samples_cleaned branch? Is there a difference in reconstruction accuracy between these two branches?


fix(demo): fix config source

Codecov Report

Merging #114 into develop will increase coverage by 5.41%.
The diff coverage is 85%.

@@             Coverage Diff             @@
##           develop     #114      +/-   ##
===========================================
+ Coverage    61.38%   66.79%   +5.41%
===========================================
  Files          204      204
  Lines        10845    10845
===========================================
+ Hits          6657     7244     +587
+ Misses        4188     3601     -587

Impacted Files
Coverage Δ

framework/render/audio/IAudioRender.h
66.66% <ø> (ø)
:arrow_up:

framework/render/audio/filterAudioRender.cpp
87.66% <ø> (-1.3%)
:arrow_down:

mediaPlayer/SuperMediaPlayer.h
44.44% <ø> (ø)
:arrow_up:

mediaPlayer/SuperMediaPlayer.cpp
68.72% <85%> (+1.69%)
:arrow_up:

framework/codec/ActiveDecoder.cpp
86.08% <0%> (+0.51%)
:arrow_up:

framework/demuxer/demuxer_service.cpp
83.03% <0%> (+0.6%)
:arrow_up:

mediaPlayer/MediaPlayer.cpp
64.57% <0%> (+0.86%)
:arrow_up:

framework/demuxer/play_list/HLSManager.cpp
50.99% <0%> (+3.18%)
:arrow_up:

... and 20 more

Continue to review full report at Codecov.

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


Add gas simulation to LASER

This PR will

Refactor the transaction models into a more concise base type
Add the respective gas costs to each instruction
Dynamically calculate the costs for specific instructions
Add up the gas costs in the machine state
Discard any global state that has surpassed the gas limit

Right now the gas limit is set at a fix value of 8000000 based on current block gas limit statistics. If the concrete gas value cannot be calculated due to a symbolic value lying on the stack, the minimum usage for that instruction is assumed so that the resulting gas estimate is a lower bound of the gas that actually has to be invested in a transaction triggering the call graph path.

Cool, Can you also make a few changes in the /tests/laser/evm_testsuite/evm_test.py , so that it also checks for the remainder of the gas after a transaction. That would be great.

Instead of removing the state can you raise an OutOfGas Exception which inherits VM exception, So this can be used for gas tests in the VM tests.

Checking the gas remainder is a tricky thing right now for two reasons:

Some values are symbolic we aren't able to completely evaluate them. In that case I just add in the instruction's base gas cost. So what we end up is a lower bound.
It seems like there's currently no way to get the global state from the Laser EVM object. Is that correct? Without it it doesn't seem possible to access the gas limit/usage of the machine state and the tx.

I played around a little with the fixtures and we could duplicate a valid one, set the gas value much lower and check that there's no open states left after the message call. Then we'd know for sure that (assuming the other case passes and it's a valid instruction) that an OOG error must have been triggered.

we can just leave it to z3 i think regarding the symbolic gas additions etc, remainder gas will be in some symbolic form like x+keccak_256[10]-10*calldata_10 .
Also LaserEvm has a list of global states in its worklist. so you can check that corresponding global state's machine state.

@norhh In the context of the EVM tests the worklist is always empty after the message call has been executed. As for the gas calculation, should I then make the base cost a BitVec, add everything up and then solve? How would I go about dynamic costs such as
def call_cost(value: int, contract_created: bool):
    if not isinstance(value, int):
        is_value_tx = False
    else:
        is_value_tx = True if value != 0 else False

    return 700 + is_value_tx * 9000 + contract_created * 25000

Maybe add the contract creation as implication? There's still the case that the DEAD function from the yellowpaper that checks whether a state for an address already exists isn't really available in our current view.

regarding the messagecall, can you try returning the max and min gas for the message call execution? If something is popped from the worklist and nothing is added into it then we have reached a deadend for that branch, so we can just log it.

Can you also add the vmSha3Test in the test_types list in evm_test it seems to be missed from the merge.

Just had another look at the comments and tried to concreticize some thoughts on whether to do the gas calculation in a symbolic or concrete way:

Symbolic
Concrete

+ precise
+ quick

- overhead to solve
+ easy to implement

- handling of math operations (e.g. log, ceil)
- imprecise (lower bound)

I don't think the overhead of symbolic calculation is worth the value the feature can deliver. It'd add a lot more complexity to Mythril just to make the number a little more precise.
Sitting down a little more, it seems feasible however to calculate an upper bound for each dynamic gas cost function based on standards the EVM or Solidity set.
 This usually happens when the int value grows too large and doesn't fit into an index integer anymore, because Python scales up the size internally. The gas calculation doesn't touch the machine state's memory, so that's a weird bug. II'll check it out. :+1:

When memory is extended then I think gas is consumed right? in that case this test is expected to result in an OutOfGas exception right?
PS: previously it worked because the post_condition check in the test was above to remove all the OOG exceptions which were expected to be caught.

When memory is extended then I think gas is consumed right? in that case this test is expected to result in an OutOfGas exception right?
PS: previously it worked because the post_condition check in the test was above to remove all the OOG exceptions which were expected to be caught.

@norhh In the current state to avoid handling symbolic values in gas cost functions, we simply estimate the storage cost to a fixed value. Regarding the test cases, it seems that some legitimate cases don't have a post condition, e.g. in the SHA3 tests. It's valid (and often fairly expensive) calculations, but most of them bring enough gas along to account for them. Because we don't scale up the gas cost with the input size of SHA3, some tests don't run out of gas. Together with the valid ones, such as sha3_BigOffset.json they will reserve memory at a large index. mem_extend will then fill up a list with a ton of zeros and try to enter the value at the specified location. The value of that location can be bigger than a long, however, which results in Python failing to use it as an index value. Thus the OverflowError.

Gas is also consumed while extending the memory right?I mean the mem_extend function also consumes gas.

Gas is also consumed while extending the memory right?I mean the mem_extend function also consumes gas.

Yeah. Because we don't always have concrete values, we cannot give a concrete value for the gas cost of extending the memory. That's why in the gas cost dict you'll find something like this:
...
    # assume 1KB memory r/w cost as upper bound
    "MLOAD": (3, 96),
    "MSTORE": (3, 98),
    "MSTORE8": (3, 98),
    # assume 64 byte r/w cost as upper bound
    "SLOAD": (400, 400),
    "SSTORE": (5000, 25000),
...

native contracts also consume gas right?

How are you planning to handle the gas, gaslimit, and gasprice opcodes? gasprice can probably remain an unconstrained BitVec, but we have values for gas and gaslimit now.
The first thing that came to mind when glancing at this was a ctf challenge that constrained the amount of gas you could use, and you had to construct an input that did not consume too much gas (Note that this ctf challenge won't work too well with mythril, it uses hashes and other hard to symbolically handle things). This is a very specific thing that would be more difficult to support, but it's still something to keep in mind because sometimes contracts do have different behavior depending on the amount of gas used.

@norhh Yes, native contracts also consume gas. This should be handled by the Instructions.call_ function, shouldn't it? At least that seems to be the only place where native_contracts from natives.py is called.
@nbanmp I agree, gas and gaslimit could carry some value, I didn't realize that. Right now we have the minimal and maximal gas estimation. I could let them return the min value to make sure we don't miss anything by estimating too high. Will test that :+1:

@dmuhs each native contract consumes seperate gas + gas for the call right?

@dmuhs
they will reserve memory at a large index. mem_extend will then fill up a list with a ton of zeros and try to enter the value at the specified location
exactly!, this operation consumes some killer amount of gas:
(new_size**2)*512 + new_size*3 - ((prev_size**2)*512 +prev_size*3) .
This is used to avoid killing EVM's memory.

@norhh Due to the potentially symbolic size values we aren't really able to calculate that (without using SMT solving at least). Where did you get the formula from, btw? I used this for the simpler estimations and the yellowpaper for the rest.
As for the native contracts, I didn't find any resource indicating that there is separate gas consumption apart from the instructions how we already implement them. Generally you don't find that many resources for that topic. If you have anything lying around, I'd appreciate it.

what better resource can anyone have which is better than ethereum's code itself :wink: . goethereum, pyethereum links contain the respective native contracts files . And also list.extend() can't take symbolic values(will raise some TypeError which might be caught somewhere), so you can just check that for  concrete values or the values which can be concertized directly(by using util.get_concrete_int() ).


Improving error handling Issue #959

Added Display and Error traits to all Errors
Ref: #959

Errors:

[x] src/buffer/alloc.rs: ReadError
[x] src/buffer/alloc.rs: CopyError
[x] src/buffer/mod.rs: BufferCreationError
[x] src/ops/read.rs: ReadError
[x] src/uniforms/mod.rs: LayoutMismatchError
[x] src/index/buffer.rs: CreationError
[x] src/texture/buffer_texture.rs: TextureCreationError
[x] src/texture/buffer_texture.rs: CreationError
[x] src/texture/mod.rs: TextureCreationError
[x] src/texture/get_format.rs: GetFormatError
[x] src/program/mod.rs: ProgramCreationError
[x] src/program/mod.rs: ProgramChooserCreationError
[x] src/program/mod.rs: GetBinaryError
[x] src/vertex/buffer.rs: CreationError
[x] src/vertex/transform_feedback.rs: TransformFeedbackSessionCreationError
[x] src/framebuffer/render_buffer.rs: CreationError
[x] src/draw_parameters/query.rs: QueryCreationError
[x] src/draw_parameters/query.rs: ToBufferError
[x] src/image_format.rs: FormatNotSupportedError
[x] src/lib.rs: DrawError
[x] src/lib.rs: SwapBuffersError
[x] src/fbo.rs: ValidationError

Thanks!
I didn't merge immediately because I was a bit wary about the coding style, but in fact it doesn't really matter.

Haven't seen anything about coding style, if you want to have your code consistently styled, I'd recommend a styleguide or checking in a commit hook rust-fmt script

I'd like to have a consistent style, but manually enforcing a styleguide is too annoying to do, and rustfmt is still unfinished.

ok I just try to keep the style to what i find, but i can't promise anything, would be easier if there was a style guide somewhere, even if it's not strictly enforced


readlink: not a directory (since 1.9.0)

Describe the bug
Since 1.9.0 OrbStack crashes at start up.
To Reproduce

Upgrade from 1.8.2 to 1.9.1
See error on startup

Expected behavior
No response
Diagnostic report (REQUIRED)
🌲 vmgr | time="12-16 07:44:44" level=info msg="migrating state" from=3 to=4
🌲 vmgr | time="12-16 07:44:44" level=info msg="using proxy: none"
🌲 vmgr | time="12-16 07:44:44" level=info msg="forwarding SSH agent" sock="/Users/xxxxxxx/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
🌲 vmgr | time="12-16 07:44:44" level=info msg="starting VM"
🌲 vmgr | time="12-16 07:44:44" level=info msg="starting host services"
🌲 vmgr | time="12-16 07:44:44" level=info msg="reading user environment variables"
2024-12-16T06:44:45.205188Z  INFO devices::virtio::block::debug: read id="vdb" offset=0, len=4096, isect_start=0, isect_end=4096 ok: sector_hashes=[13308243557328531395,<PHONE_NUMBER>760320406,<PHONE_NUMBER>36909671, 0, 0, 0, 0, 0]
2024-12-16T06:44:45.205527Z  INFO devices::virtio::block::debug: read id="vdb" offset=4096, len=4096, isect_start=4096, isect_end=8192 ok: sector_hashes=[0, 0, 0, 0, 0, 0, 0, 0]
2024-12-16T06:44:45.205567Z  INFO devices::virtio::block::debug: read id="vdb" offset=8192, len=4096, isect_start=8192, isect_end=12288 ok: sector_hashes=[0, 0, 0, 0, 0, 0, 0, 0]
2024-12-16T06:44:45.205605Z  INFO devices::virtio::block::debug: read id="vdb" offset=12288, len=4096, isect_start=12288, isect_end=16384 ok: sector_hashes=[0, 0, 0, 0, 0, 0, 0, 0]
2024-12-16T06:44:45.205642Z  INFO devices::virtio::block::debug: read id="vdb" offset=16384, len=4096, isect_start=16384, isect_end=20480 ok: sector_hashes=[0, 0, 0, 0, 0, 0, 0, 0]
🐧 system |  [*] Booting OrbStack  (+0ms)
🐧 system |   -  Kernel version: 6.12.4-orbstack-00286-g339578031cbf
🐧 system |  [*] Network  (+6ms)
🐧 system |  [*] Apply system settings  (+5ms)
🐧 system |  [*] Late tasks  (+0ms)
🐧 system |      [*] Emulation
🐧 system |      [*] Data
🐧 system |      [*] Memory
2024-12-16T06:44:45.387776Z  INFO devices::virtio::block::debug: read id="vdb" offset=1048576, len=16384, isect_start=1048576, isect_end=1064960 ok: sector_hashes=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
2024-12-16T06:44:45.387887Z  INFO devices::virtio::block::debug: read id="vdb" offset=1114112, len=4096, isect_start=1114112, isect_end=1118208 ok: sector_hashes=[13485034465739592344,<PHONE_NUMBER>938308809, 0, 0, 0,<PHONE_NUMBER>814348821,<PHONE_NUMBER>780271546, 0]
👾 kernel | [    0.695763] BTRFS: device label user-data-fs devid 1 transid 19594 /dev/vdb1 (254:17) scanned by vinit (227)
2024-12-16T06:44:45.388323Z  INFO devices::virtio::block::debug: read id="vdb" offset=1114112, len=4096, isect_start=1114112, isect_end=1118208 ok: sector_hashes=[13485034465739592344,<PHONE_NUMBER>938308809, 0, 0, 0,<PHONE_NUMBER>814348821,<PHONE_NUMBER>780271546, 0]
2024-12-16T06:44:45.388660Z  INFO devices::virtio::block::debug: read id="vdb" offset=1114112, len=4096, isect_start=1114112, isect_end=1118208 ok: sector_hashes=[13485034465739592344,<PHONE_NUMBER>938308809, 0, 0, 0,<PHONE_NUMBER>814348821,<PHONE_NUMBER>780271546, 0]
👾 kernel | [    0.696530] BTRFS info (device vdb1): first mount of filesystem 2de9c958-767f-4760-88a8-c451e2ecf32a
👾 kernel | [    0.696598] BTRFS info (device vdb1): using crc32c (crc32c-intel) checksum algorithm
👾 kernel | [    0.696645] BTRFS info (device vdb1): using free-space-tree
🐧 system |  [*] Initialize data  (+7ms)
🐧 system |  [*] Start services  (+0ms)
🐧 system |  [*] Done!  (+2ms)
🐧 system |   -  Total boot time: 23ms
👾 kernel | [    0.715084] udevd[249]: starting version 3.2.14
👾 kernel | [    0.719103] udevd[249]: starting eudev-3.2.14
📦 scon | time="12-16 06:44:45" level=info msg=starting
👾 kernel | [    0.772255] zram0: detected capacity change from 0 to 32868464
👾 kernel | [    0.801663] conbr0: port 1(eth1) entered blocking state
👾 kernel | [    0.801717] conbr0: port 1(eth1) entered disabled state
👾 kernel | [    0.801764] virtio_net virtio8 eth1: entered allmulticast mode
👾 kernel | [    0.801849] virtio_net virtio8 eth1: entered promiscuous mode
👾 kernel | [    0.801929] conbr0: port 1(eth1) entered blocking state
👾 kernel | [    0.801965] conbr0: port 1(eth1) entered forwarding state
🌲 vmgr | time="12-16 07:44:45" level=error msg="host-unix forward: dial failed" addr="{1 <IP_ADDRESS> 8000 }" error="connect tcp <IP_ADDRESS>:8000: connection was refused"
🌲 vmgr | time="12-16 07:44:45" level=error msg="host-unix forward: dial failed" addr="{1 <IP_ADDRESS> 8000 }" error="connect tcp <IP_ADDRESS>:8000: connection was refused"
🌲 vmgr | time="12-16 07:44:45" level=error msg="host-unix forward: dial failed" addr="{1 <IP_ADDRESS> 8000 }" error="connect tcp <IP_ADDRESS>:8000: connection was refused"
👾 kernel | [    0.850178] Adding 16434228k swap on /dev/zram0.  Priority:32767 extents:1 across:16434228k SSDsc
👾 kernel | [    0.853375] Adding 1048572k swap on /dev/vdc.  Priority:1 extents:1 across:1048572k Dsc
📦 scon | time="12-16 06:44:45" level=info msg=started
🌲 vmgr | time="12-16 07:44:45" level=info msg="service is ready" service=krpc
🌲 vmgr | time="12-16 07:44:45" level=info msg="service is ready" service=sconrpc-internal
🌲 vmgr | time="12-16 07:44:45" level=info msg="service is ready" service=sconrpc
📦 scon | time="12-16 06:44:45" level=info msg="starting container" container=docker
👾 kernel | [    0.932571] conbr0: port 2(veth9eXFP7) entered blocking state
👾 kernel | [    0.932641] conbr0: port 2(veth9eXFP7) entered disabled state
👾 kernel | [    0.932688] veth9eXFP7: entered allmulticast mode
👾 kernel | [    0.932830] veth9eXFP7: entered promiscuous mode
👾 kernel | [    0.933025] conbr0: port 2(veth9eXFP7) entered blocking state
👾 kernel | [    0.933064] conbr0: port 2(veth9eXFP7) entered forwarding state
👾 kernel | [    0.950125] conbr0: port 2(veth9eXFP7) entered disabled state
👾 kernel | [    0.951465] eth0: renamed from vethgJngGT
👾 kernel | [    0.952121] conbr0: port 2(veth9eXFP7) entered blocking state
👾 kernel | [    0.952169] conbr0: port 2(veth9eXFP7) entered forwarding state
📦 scon | time="12-16 06:44:45" level=info msg="container started" container=docker
👾 kernel | [    1.487268] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x22983777dd9, max_idle_ns:<PHONE_NUMBER>22 ns
👾 kernel | [    1.487653] clocksource: Switched to clocksource tsc
👾 kernel | [    1.840076] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
👾 kernel | [    1.840194] NFSD: Using legacy client tracking operations.
👾 kernel | [    1.840241] NFSD: starting 1-second grace period (net f0000000)
🌲 vmgr | time="12-16 07:44:46" level=info msg="Mounting NFS..."
🌲 vmgr | time="12-16 07:44:46" level=info msg="NFS mounted"
🌲 vmgr | time="12-16 07:44:49" level=info msg="Setup not done in time, running setup..."
🌲 vmgr | time="12-16 07:44:49" level=error msg="Failed to run setup" error="readlink /Users/xxxxxxx/.local/bin/orbctl: not a directory"

Screenshots and additional context (optional)

This isn't a crash. OrbStack will continue to run like normal.


luci-app-firewall: restart firewall on /etc/firewall.user write

Signed-off-by: Florian Eckert<EMAIL_ADDRESS>

LGTM, merged. Thanks @feckert !


Add Soviet Turrets And Guns from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of blizzard61, to add Soviet Turrets And Guns to CKAN.
Mod details:
name = /mod/1454/Soviet%20Turrets%20And%20Guns
author = blizzard61
abstract = Adds turrets and rockets (needs bd armoury and north kerbin weaponry)
license = MIT
Homepage =
description = **Requires BD armoury and North Kerbin Weaponry.
Adds:

Shilka turret/body
T-72 turret/body
BM-13 rocket/Rack
2K12 missile rack
New Sounds

More stuff to come**
Please direct questions about this pull request to blizzard61.

Mod is 404