dolt: 0.37.1 -> 0.37.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/liquidata-inc/dolt/releases.
meta.description for dolt is: "Relational database with version control and CLI a-la Git"
meta.homepage for dolt is: "https://github.com/liquidata-inc/dolt"
meta.changelog for dolt is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2/bin/git-dolt had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2/bin/dolt had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2/bin/git-dolt-smudge had a zero exit code or showed the expected version
0 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 0.37.2 with grep in /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2
found 0.37.2 in filename of file in /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
dolt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dolt https://github.com/r-ryantm/nixpkgs/archive/658f932eecce23d7d5365e2c2bd09a722dbf91a9.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2
ls -la /nix/store/n7yicc4x7g7h5xwp0f6pag7v2kmngwhz-dolt-0.37.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

dolt

Maintainer pings
cc @danbst @kalbasit for testing.

Version 0.37.3 is available. Please consider #163041


modify schema response bug fix

Codecov Report

Merging #212 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #212      +/-   ##
==========================================
+ Coverage   67.96%   67.99%   +0.02%
==========================================
  Files          17       17
  Lines        3584     3584
==========================================
+ Hits         2436     2437       +1
  Misses        974      974
+ Partials      174      173       -1

Impacted Files
Coverage Δ

server/service/schema.go
73.04% <100%> (ø)
:arrow_up:

server/service/tag.go
74.41% <0%> (+0.58%)
:arrow_up:

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 c671101...3ee334f. Read the comment docs.

Coverage increased (+0.2%) to 71.738% when pulling 3ee334f6a5e06e11e1ba4f3d79e5333eab3bf5f9 on aseTo2016:aseTo2016 into c671101c9afd6375bfb2ea28c865a65a9f18ec79 on ServiceComb:master.


Migrate from Laravel Mix to Vite

This pull request includes changes for migrating from Laravel Mix to Vite outlined in Migration Guide and automated by the Vite Converter.
Before merging, you need to:

Checkout the shift-121322 branch
Run composer update
Run npm install
Review all comments for additional changes
Thoroughly test your application (no tests?, no CI?)

Please send your feedback to<EMAIL_ADDRESS>or share the good vibes on Twitter.

:warning: Shift detected you are using Vue. As such, Vite recommends importing your CSS from your JavaScript entry point. This will improve your development experience by avoiding flashes of unstyled content during hot reloading.
Shift removed your CSS entry point from your Vite configuration. However, you will need to import this CSS in your JavaScript entry point.

:information_source: Previously, Laravel configured several npm scripts for building assets. For Vite, Laravel configures a dev script for generating and watching your assets (for development) and build script for generating your assets (for production).
Shift automated this change by replacing commands using these scripts with their new Vite script. However, you may still be referencing these scripts in your code or in deployment scripts.

:information_source: Laravel renamed the environment variables used by Mix to use a VITE_ prefix, instead of MIX_. While Shift automated this change throughout your code, you should check for any additional references which may not be included in your Git repository.

:warning: Shift detected you may be using the tilde (~) prefix to import CSS or JavaScript. You may try to add an alias for the ~ to your Vite configuration. Alternatively, you may update these imports to use an absolute reference or @ alias.

:warning: Shift found files which appeared to contain JSX but had a .js file extension. Vite requires these files to have a .jsx file extension.
While Shift automated this change, you may have additional files which contain JSX or may need to update any imports explicitly referencing the old .js file extension.

:warning: Vite generates frontend assets to the public/build folder. This folder is not tracked by Git within a default Laravel project. As such, Shift added this folder to your .gitignore file.
If you wish to track the generated frontend assets within your project, such as for ease of deployment, you may undo this commit by running: git revert 02466a56

:alembic: This Shift is still being refined. Please report any issues or suggestions to<EMAIL_ADDRESS>Your feedback is what helps improve the experience for everyone.

:information_source: The new @vite Blade directive outputs <script> tags with the type="module" attribute. This attribute implicitly defers the script. This is a difference from Laravel Mix which may change the execution order of the JavaScript on your page.
If you experience JavaScript errors relating to undefined references, you may need to reorder your scripts or add the defer attribute to any inline <script> blocks on your page.


Add Embrace Open Source

Thank you for the contribution, @lex111.
Per our ground rules, we ask contributors not to add links to their own content (see https://github.com/github/opensource.guide/blob/gh-pages/CONTRIBUTING.md#ground-rules--expectations).
If Embrace Open Source gains some traction, we will certainly hear about it again from people who don't contribute to it directly.
Thanks!


Clean up bot edit menu.

This refactors the bot edit menu code in two ways:

Move from bot edit menu show()/hide() calls to dynamic HTML insertion into the DOM tree, while reducing settings_sidebar.html to the scaffold it should be.

Simplify the edit bot code in settings_bots.js

The relevant Zulip discussion can be found here: https://playground.zulipdev.org/#narrow/stream/bot.20infrastructure/subject/edit.20bot.20config.20items/near/2742

This looks great, thanks for breaking this out and cleaning up this mess!
Merged, thanks @roberthoenig!  @showell FYI :)


stuck at Sending...

hey, im not being able to request any movie or tv show because the bot just gets stuck at "Sending.....".

is it possible that the problem is that i downloaded it from a casaOS AppStore??

Hey @jauzin23,
That's no problem, can you please post your log?
If your unsure where to find it, this guide should help: https://github.com/thomst08/requestrr/wiki/Where-are-the-logs%3F
As for putting this on the app store, I think I would need to have an apple device and pay for a dev licence, I don't have ether but I can look into it. I'm afraid that might be something I can't do.

Hey, seems like the version I downloaded was a old one. Downloaded the one on this github and it worked. Thanks anyway

Excellent, that is one of the common issues for this, glad you got it sorted, I will mark this as resolved :)


feat: pkarr relay with DNS server

Description
Imports https://github.com/n0-computer/iroh-dns-server into this repo.
See n0-computer/iroh-dns-server#5 for previous review/discussion.
Now includes an integration smoke test in iroh-dns-server/src/lib.rs.
Notes & open questions
I think I addressed most review points that came up in the initial review. Prominently still open is:

The redb store is used from async context but only exposes a sync interface (redb default). I think this is fine for medium load. However for better performance we should reuse transactions, which likely means we need an actor on a separate thread, as we do in iroh-bytes and iroh-sync.

Change checklist

[ ] Self-review.
[ ] Documentation updates if relevant.
[ ] Tests if relevant.

The redb store is used from async context but only exposes a sync interface (redb default). I think this is fine for medium load. However for better performance we should reuse transactions, which likely means we need an actor on a separate thread, as we do in iroh-bytes and iroh-sync.

Let's add the batching asap, since I am currently finding out that adding it to a big code base like iroh-sync is no fun at all.
But it does not have to happen in this PR.


VS Code: Release 1.8.0

VS Code: Release 1.8.0 - Stable Release.
Blog post: https://github.com/sourcegraph/about/pull/6791
Test plan

Version bump

[x] vscode/changelog.md
[x] vscode/package.json
[x] agent recordings

gogogogogo!


[NEW] CD Foundation Swag

CD Foundation Swag Added

@swapnilsparsh thank you for the PR! Changing no_of_pr to 10 for Sort List consistency!


[EN Number] Handling "100 over 80" case

First off thank you, I recognize this is hard work.
I work in the field of healthcare and we regularly deal with blood pressures.
It's pretty much the norm for someone to say "100 over 80" to define systolic (100) and diastolic (80) blood pressures.
However, when this is put through the RecognizeNumber method, it yields the result of division (100/80) instead of two distinct values.  Here's are failing unit tests.
    [Fact]
    public void TestBloodPressure()
    {
        var result = NumberRecognizer.RecognizeNumber("100 over 80", Microsoft.Recognizers.Text.Culture.English);
        Assert.Equal(2, result.Count);
        var num1 = (int)result[0].Resolution["value"];
        var num2 = (int)result[1].Resolution["value"];

        Assert.Equal(100, num1);
        Assert.Equal(80, num2);
    }

    [Fact]
    public void TestBloodPressure2()
    {
        var result = NumberRecognizer.RecognizeNumber("one hundred over eighty", Microsoft.Recognizers.Text.Culture.English);
        Assert.Equal(2, result.Count);
        var num1 = (int)result[0].Resolution["value"];
        var num2 = (int)result[1].Resolution["value"];

        Assert.Equal(100, num1);
        Assert.Equal(80, num2);
    }

@meikeric unfortunately it's hard to cover this particular case in a general domain-independent way. It's much more common to see "n over m" in fraction cases.
For your scenario, can't you "backtrack" from the recognized entity and re-parse?
For example, the recognizers response will say:
{
"Text": "100 over 80",
"Start": 0,
"End": 10,
"TypeName": "number",
"Resolution": {
"subtype": "fraction",
"value": "1.25"
}
}
If subtype is "fraction" and Text includes the word "over", you can split the Text string on "over" and call the recognizers again to get the numbers. I know this is not ideal, but there is no much better approach.
In the future we can consider adding the fraction numerator and denominator in the entity response for ease of consumption, but you'd still need special code to check for the "over" keyword.
How does this sound?

Sure I could do that...
But if you’re targeting lowest common demonitor, why are you forcing the calculation on the user at all? I could at least understand performing the computation when you say “100 divided by 80”, then it would make some sense to do the math.  However, if the user says “100 over 80” it would at least make more sense to return a value of “100/80” instead of “1.25”.  That way, based on contextual analysis, the program could then determine to further refine/execute the expression or not.  Why does the library make that determination?  Maybe a time least parameterize it as an option?
The supposition that the intent is to always get directly to the end product (execution of the expression) seems presumptive at best.  There are many fields of study and conversation in general when we’re talking about numbers as discrete data points and don’t intend for any calculation to be performed on them.  This blood pressure example, case in point.

I understand where you're coming from, and I agree to a large extent. But by design the "value" attribute was supposed to represent a final fully evaluated resolution. This may not always be the best design in all cases, but it's something we can't change now so to not cause a breaking change.
Having said that, adding a separate property for the not-fully-evaluated resolution, like the "100/80" you suggest is definitely something we can do. Similar to the denominator and numerator properties I mentioned.


Update python worker in dockerfile

PR has the following:

Update the Dockerfile with multi-stage build
Use latest python image (tested with 2.0.12491) from registry
Use pipenv for dependency installation

@asavaritayal , I believe this can help others dealing with Azure Functions Python while using container image and pipenv (instead of requirement.txt)


Email not sent while using AppDomain.CurrentDomain.UnhandledException handler

Hello,
I want to configure NLog to log all exception in application, for this I found this way to do - https://stackoverflow.com/a/13896150
check out my code below
lass Program
    {
        private static Logger logger = LogManager.GetCurrentClassLogger();

        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(AppDomain_CurrentDomain_UnhandledException);

            try
            {
                logger.Info("This is the first line of Main method.");
                logger.Fatal("No Exception.");
                // NLog Mail function needs time?
                Thread.Sleep(10000);
                throw new Exception("Test Exception.");
            }
            catch (Exception e)
            {
                // Mail not working.
                logger.Fatal(e.Message);
                Thread.Sleep(10000);
            }

            throw new Exception("unhandled   Exception.");

        }

        private static void AppDomain_CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            var ex = e.ExceptionObject as Exception;
            logger.Fatal(ex.Message);
        }
    }

Type (choose one):

Bug

NLog version: (e.g. 4.2.3)
Platform: .Net 3.5 / .Net 4.0 / .Net 4.5 / Mono 4 / Silverlight 4 / Silverlight 5 / Xamarin Android / Xamarin iOs / .NET Core
Current NLog config (xml or C#, if relevant)
<nlog>
  <targets>
  </targets>
  <rules>
  </rules>
</nlog>

In case of a BUG:

What is the current result?
Mail is not sending in AppDomain_CurrentDomain_UnhandledException method
What is the expected result?
Mail should be sent in AppDomain_CurrentDomain_UnhandledException method
Did you checked the Internal log?
No
Please post full exception details (message, stacktrace, inner exceptions)
Are there any work arrounds? yes/no
No
Is there a version in which it did worked?
Can you help us by writing an unit test?

in case of a FEATURE REQUEST:

Why do we need it?
An example of the XML config, if relevant.

Please check the internal log (trace level). Please post it here as text. Thx

Hello,
There isn't anything update in internal log, no error nothing happened to internal log.

Then probably your config can't be found. On trace level there should be tens of lines there.

Config is found, as I am getting email for exception handled outside AppDomain_CurrentDomain_UnhandledException method, I am getting emails from AppDomain_CurrentDomain_UnhandledException method also but not always. and regarding internal log I can see every time different log in internal-log file and sometimes no log.
Internal log content
2017-05-31 14:55:47.7769 Error Error sending mail. Exception: System.Net.Mail.SmtpException: The operation has timed out.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at NLog.Internal.MySmtpClient.NLog.Internal.ISmtpClient.Send(MailMessage )
at NLog.Targets.MailTarget.ProcessSingleMailMessage(IList1 events) 2017-05-31 15:00:10.3032 Error Error sending mail. Exception: System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)    at System.Net.TlsStream.CallProcessAuthentication(Object state)    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)    at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)    at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)    at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)    at System.Net.Mail.SmtpConnection.Flush()    at System.Net.Mail.ReadLinesCommand.Send(SmtpConnection conn)    at System.Net.Mail.EHelloCommand.Send(SmtpConnection conn, String domain)    at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)    at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)    at System.Net.Mail.SmtpClient.GetConnection()    at System.Net.Mail.SmtpClient.Send(MailMessage message)    --- End of inner exception stack trace ---    at System.Net.Mail.SmtpClient.Send(MailMessage message)    at NLog.Internal.MySmtpClient.NLog.Internal.ISmtpClient.Send(MailMessage )    at NLog.Targets.MailTarget.ProcessSingleMailMessage(IList1 events)
2017-05-31 15:02:44.1727 Error Error sending mail. Exception: System.Net.Mail.SmtpException: The operation has timed out.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at NLog.Internal.MySmtpClient.NLog.Internal.ISmtpClient.Send(MailMessage )
at NLog.Targets.MailTarget.ProcessSingleMailMessage(IList`1 events)

Authentication failed because the remote party has closed the transport stream.

sounds like a config error!

Closing this due to inactivity. Please let us know if this still an issue and please provide the requested info.


EZ contrib

With a proper commit name/description I'd merge. Take a look at my commit names since 2020-09-28. Also if you have a commit you don't want to include you can just revert it/go back and start from the previous one.

It was a joke à la people in powercord trying to get a contributor role, but I can do an actual PR if you would like.


token.botframework.com is missing viewport meta tag

Currently token.botframework.com doesn't scale well on mobile, because it doesn't have a meta tag to define the viewport and scale. This makes it very small and hard to read, without manually zooming.
<meta name="viewport" content="width=device-width, initial-scale=1">

Thank you for reporting this!
I checked in a fix for this, but it won't be deployed for another few weeks, so look for this to roll out in April. It's a lot easier to use with the Viewport tag on there :-)

Thanks @Jeffders!

This has now been deployed.


Expense - No option to cancel payment for paid expense as 3-dot menu is removed

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

Version Number: 9.0.5-6
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:

Admin and employee are in the same workspace
Workspace is connected to bank account
Employee has personal bank account

Go to staging.new.expensify.com
[Employee] Go to workspace chat and submit an expense
[Admin] Go to the expense report from employee
[Admin] Pay the expense with Expensify
[Admin] On expense report, click on the report header

Expected Result:
There should be an option to cancel payment. On prod, cancel payment option is accessible from 3-dot menu
Actual Result:
There is no option to cancel payment for paid expense as 3-dot menu is removed
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/9f19c210-a7a1-4cd0-9a2a-a8bde5d57a94
View all open jobs on GitHub

@Gonals  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 1

This was caused by the PR I worked on from the Details Revamp that removed the 3-dot menu, it must've been something that we overlooked while testing during the removal. I will create a PR that re-adds this feature into the Details page.

@parasharrajat I've looked back and no, this button was never considered in the design doc nor was it included anywhere in the issue descriptions / discussion threads that we did. We have added others for deleting, booking a call etc. but this one was missed during considerations.

I'll focus on getting a PR up for this one as soon as possible.

@cdOut, how is this going?

@Gonals I've created a PR for it and moved it to review.

https://github.com/Expensify/App/pull/45130#issuecomment-2220119935 QA worked well in staging

Can we close out this issue as the PR for it has been merged?

Payment summary as follows:

$250 to @allroundexperts for the PR review

Feel free to request, closing!


32bit?

it doesn't run on win7 32bit any suggestion?

Hmm, I'll look into building it for 32 bit

Looked into this any seemingly it should be working on 32 bit.
Are you running the .exe or from Python? Are you using Python 3.6+ and the correct bitness of Python?
Are you getting any specific error or behavior?
I built it with both the 32 bit and 64 bit version of Python and both came out with 32 bit .dll's and .exe's...
cobertos@DESKTOP-1V2V7M0 MINGW64 ~/Workspace/projects/unitypackage_extractor2/unitypackage_extractor
$ find . -type f | xargs file
./base_library.zip:       Zip archive data, at least v2.0 to extract
./extractor.exe:          PE32 executable (console) Intel 80386, for MS Windows
./extractor.exe.manifest: XML 1.0 document, ASCII text, with CRLF line terminators
./pyexpat.pyd:            PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./python36.dll:           PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./select.pyd:             PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./unicodedata.pyd:        PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./VCRUNTIME140.dll:       PE32 executable (DLL) (console) Intel 80386, for MS Windows
./_bz2.pyd:               PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./_hashlib.pyd:           PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
./_lzma.pyd:              PE32 executable (DLL) (GUI) Intel 80386, for MS Windows

My bad, that was the output of the newly built .zip, I'm definitely shipping x64 binaries currently.
I will update.

Fixed in 0.5.0


cfoldmapSpecialize does not properly lift de Bruijn indices

Currently, the transition obtained after our transformations is wrong for the MultiSigStateMachine contract.

                         (Bool_match (foldr0 @ByteString
                                 @Bool
                                 (λ (a : ByteString) (b : Bool)
                                  . Bool_match (b/ifThenElse @Bool
!                                         (b/equalsByteString 1#a 0#pk1110)
                                          True
                                          False)
                                      @Bool
                                      True
                                      0#b)
                                 False
                                 1#pks1108)
                             @Bool
                             False
                             True)
                         False)

This is caused, by the cfoldmapSpecialize function, since if we disable it (by commenting the associated line in the Main, the term obtained does not contains any wrong de Bruijn index.

Solved by #28


feat: auth private page added for private consultations

@avikt  yes bro removed the button logic from consultationlist
Checking the error and then re-directing in consulationProfile component

@Harshwardhan18 No its still there. Tagging you again on the comments


Text edits

Please make the title of your PRs more descriptive.  For example, this one would be something like Fix typos in SBS getting started


Add uart voice command reporting

This pull request introduces a routine that sends detected commands over UART in a predefined format.

Good job @plonajakub!


Remove + meaning union

One would most likely to expect that arithmetic with intervals is interval arithmetic, not union.

Already done in approxfun-support branch

Good, less confusion is better. We should be using \cup anyway to make unions rather than +.


go1.8: support for additional features

Many new important features will land in go1.8. Please see document:
https://docs.google.com/document/d/1F778e7ZSNiSmbju3jsEWzShcb8lIO4kDyfKDNm4PNd8/edit?usp=sharing for the full list.
Because these features are new we want drivers to implement them before they are released. Ideally they should be implemented by 2016-12-12 to allow for any driver provided feedback from implementation if necessary.

Look into it in later. But context.Context is used for the new feature. How do you think backward compatibility?

You make a valid point. I'm looking into it now.

Use "golang.org/x/net/context" and arrange your files like the sample in the google docs in the section "Supporting pre-go1.8 side by side."

Okay, at the first, I'll add code without context features. ex ColumnTypeXXX. Thanks.

I'm implementing HasNextResultSet, I have one question. When the several queries in a string, driver should send all of queries? if the part of query was wrong, following queries should not be executed?

My understand with sqlite (which could be wrong) is that it will execute
multiple sql statements in a single prepared batch so long as they are
separated by semicolon. However from initial looking it doesn't seem like
the sqlite engine supports multiple result sets. This is distinct from say
MS SQL Server or My SQL which will return from the server multiple result
sets from just a single query.
So I think you should just send any query string to sqlite like normally.
It just may not support NextResultSet, but unsure.
On Fri, Nov 4, 2016 at 12:19 AM mattn<EMAIL_ADDRESS>wrote:

I'm implementing HasNextResultSet, I have one question. When the several
queries in a string, driver should send all of queries? if the part of
query was wrong, following queries should not be executed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mattn/go-sqlite3/issues/346#issuecomment-258360322,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuFse9y1lXotZjIpdMhJMqfg2VEbI3jks5q6tyYgaJpZM4KmTnu
.

Merged into master branch. https://github.com/mattn/go-sqlite3/pull/348
Thanks.

However, I have some projects to do same. :-(

Ah, I miss IsolationContext.

SQLite3 doesn't support transaction isolate level. It only support single lock transaction per database. So I don't support IsolationContext for go-sqlite3.
@kardianos thanks your advices.


MISSING_VAR misreported on code

The following is valid syntax and misreported
// Create HTTP object
var oHTTP = new HTTP(
	method 			= arguments.method,
	url 			= "#variables.serviceURL#/api/#variables.version#/#arguments.resource#",
	charset 		= "utf-8",
	timeout 		= arguments.timeout,
	throwOnError 	= false,
	redirect 		= true
);

Probably a duplicate of #517

Should I close?


[BUG] Unable to Submit Treasury Type Proposal

Context & versions

Encountered a ParseIntError (Empty) error when submitting a treasury-type proposal.

Proposal Metadata:
{
  "@context": {
    "@language": "en-us",
    "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#",
    "CIP108": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#",
    "hashAlgorithm": "CIP100:hashAlgorithm",
    "body": {
      "@id": "CIP108:body",
      "@context": {
        "references": {
          "@id": "CIP108:references",
          "@container": "@set",
          "@context": {
            "GovernanceMetadata": "CIP100:GovernanceMetadataReference",
            "Other": "CIP100:OtherReference",
            "label": "CIP100:reference-label",
            "uri": "CIP100:reference-uri",
            "referenceHash": {
              "@id": "CIP108:referenceHash",
              "@context": {
                "hashDigest": "CIP108:hashDigest",
                "hashAlgorithm": "CIP100:hashAlgorithm"
              }
            }
          }
        },
        "title": "CIP108:title",
        "abstract": "CIP108:abstract",
        "motivation": "CIP108:motivation",
        "rationale": "CIP108:rationale"
      }
    },
    "authors": {
      "@id": "CIP100:authors",
      "@container": "@set",
      "@context": {
        "name": "http://xmlns.com/foaf/0.1/name",
        "witness": {
          "@id": "CIP100:witness",
          "@context": {
            "witnessAlgorithm": "CIP100:witnessAlgorithm",
            "publicKey": "CIP100:publicKey",
            "signature": "CIP100:signature"
          }
        }
      }
    }
  },
  "authors": [],
  "hashAlgorithm": {
    "@value": "blake2b-256"
  },
  "body": {
    "abstract": {
      "@value": "Test "
    },
    "motivation": {
      "@value": "Test"
    },
    "rationale": {
      "@value": "Test"
    },
    "references": [],
    "title": {
      "@value": "Test"
    }
  }
}

I have added stake1up0nm089rryg9w8kv0x60xf0u6e44zy92suaxagwjc0ewqgn273q3 as the receiving address and 1000 as the amount.
Steps to reproduce

Create a treasury-type proposal
Submit it as a governance action

Actual behaviour

I think this is for Byron team.
CC @jdyczka @pmbinapps @MSzalowski @jankun4

@bosko-m We found the problem, it will be solved in the next version of the PDF package

also; this will fail at submit time because we havent added the proposal policy when building the tx

@Ryun1 Is the policy defined or is yet to be defined?

Actually, it has been renamed to the guardrails script.

was only recently deployed to sanchonet

give me some time and ill do a reference implementation using CSL
itll be fairly straight forward

@teske00 any update on this? I couldn't test it properly due to
{
  "code": 2,
  "info": "Wallet could not send the tx.",
  "message": "{\"contents\":{\"contents\":{\"contents\":{\"era\":\"ShelleyBasedEraConway\",\"error\":[\"ConwayUtxowFailure (UtxoFailure (ValueNotConservedUTxO (MaryValue (Coin<PHONE_NUMBER>00) (MultiAsset (fromList []))) (MaryValue (Coin<PHONE_NUMBER>00) (MultiAsset (fromList [])))))\",\"ConwayGovFailure (ProposalDepositIncorrect (Coin 0) (Coin<PHONE_NUMBER>00))\",\"ConwayGovFailure (InvalidPolicyHash SNothing (SJust (ScriptHash \\\"edcd84c10e36ae810dc50847477083069db796219b39ccde790484e0\\\")))\"],\"kind\":\"ShelleyTxValidationError\"},\"tag\":\"TxValidationErrorInCardanoMode\"},\"tag\":\"TxCmdTxSubmitValidationError\"},\"tag\":\"TxSubmitFail\"}"
}

@MSzalowski Do you perhaps know what could be the problem here, it looks like it's up to the proposal build tx function, maybe it needs to be updated based on what Ryan wrote above. I don't know if you have any info on what is happening with it and how it should look cc @kneerose @bosko-m

@Ryun1 Did you do reference implementation using CSL?

Not yet @bosko-m
This error is because of incorrect deposit amount and missing guard rails script, because DBSync is reporting incorrect protocol params

ProposalDepositIncorrect (same issue as https://github.com/IntersectMBO/govtool/issues/1591)
InvalidPolicyHash

Feels like it should go to To Do.

Ill try to implement today via;

https://github.com/Ryun1/cip95-cardano-wallet-connector/pull/78

As soon as this and issues around this one are solved - this will be fixed as well as: https://github.com/IntersectMBO/govtool/issues/1591

Treasury Withdrawal and Parameter Update proposals need to be either added directly on the transaction or  with reference UtXo containing script.
Current Error Message
"ShelleyBasedEraConway\",\"error\":[
   \"ConwayGovFailure (InvalidPolicyHash SNothing (SJust (ScriptHash \\\"edcd84c10e36ae810dc50847477083069db796219b39ccde790484e0\\\")))\"],
   \"kind\":\"ShelleyTxValidationError\"},
   \"tag\":\"TxValidationErrorInCardanoMode\"},\"tag\":\"TxCmdTxSubmitValidationError\"},
   \"tag\":\"TxSubmitFail\"}"

@MSzalowski how are we sourcing that script? is it hardcoded?  Current error InvalidPolicyHash is because the script is not correct.

@mesudip

@MSzalowski how are we sourcing the guardrail-script? is it hardcoded? Current error InvalidPolicyHash is because the script is not correct.

We aren't right now
I have been working on a reference implementation for this, but it is taking some time

Thanks to @mesudip
I am pleased to share that guardrail script support has been added to my demos example dApp via Pull 78.
@MSzalowski I hope this should provide a base to show how guardrail support on treasury withdrawals could be added.

Will close, as fix pushed but carry on conversation here: https://github.com/IntersectMBO/govtool/issues/1845


Synchronization validation errors in texture_array example

When I run it with validation on, I this message (with API calls provided for context):
Thread 0, Frame 0:
vkBeginCommandBuffer(commandBuffer, pBeginInfo) returns VkResult VK_SUCCESS (0):
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    pBeginInfo:                     const VkCommandBufferBeginInfo*  = 0x7ffcc7f38098:
        sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO (42)
        pNext:                          const void*                      = NULL
        flags:                          VkCommandBufferUsageFlags        = 0
        pInheritanceInfo:               const VkCommandBufferInheritanceInfo* = UNUSED

Thread 0, Frame 0:
vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcStageMask:                   VkPipelineStageFlags             = 8192 (VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT)
    dstStageMask:                   VkPipelineStageFlags             = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT)
    dependencyFlags:                VkDependencyFlags                = 1 (VK_DEPENDENCY_BY_REGION_BIT)
    memoryBarrierCount:             uint32_t                         = 0
    pMemoryBarriers:                const VkMemoryBarrier*           = 0x7ffcc7f3c098
    bufferMemoryBarrierCount:       uint32_t                         = 0
    pBufferMemoryBarriers:          const VkBufferMemoryBarrier*     = 0x7ffcc7f3c0d8
    imageMemoryBarrierCount:        uint32_t                         = 1
    pImageMemoryBarriers:           const VkImageMemoryBarrier*      = 0x7ffcc7f3c2a8
        pImageMemoryBarriers[0]:        const VkImageMemoryBarrier       = 0x7ffcc7f3c2a8:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL (7)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x7ffcc7f3c2d8:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 0
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1

Thread 0, Frame 0:
vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcBuffer:                      VkBuffer                         = 0x55ceb94af3d0
    dstImage:                       VkImage                          = 0x55ceb94a2170
    dstImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL (7)
    regionCount:                    uint32_t                         = 1
    pRegions:                       const VkBufferImageCopy*         = 0x7ffcc7f38908
        pRegions[0]:                    const VkBufferImageCopy          = 0x7ffcc7f38908:
            bufferOffset:                   VkDeviceSize                     = 0
            bufferRowLength:                uint32_t                         = 0
            bufferImageHeight:              uint32_t                         = 0
            imageSubresource:               VkImageSubresourceLayers         = 0x7ffcc7f38918:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 0
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 3
            imageOffset:                    VkOffset3D                       = 0x7ffcc7f38928:
                x:                              int32_t                          = 0
                y:                              int32_t                          = 0
                z:                              int32_t                          = 0
            imageExtent:                    VkExtent3D                       = 0x7ffcc7f38934:
                width:                          uint32_t                         = 128
                height:                         uint32_t                         = 128
                depth:                          uint32_t                         = 1

Thread 0, Frame 0:
vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcStageMask:                   VkPipelineStageFlags             = 12288 (VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT)
    dstStageMask:                   VkPipelineStageFlags             = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT)
    dependencyFlags:                VkDependencyFlags                = 1 (VK_DEPENDENCY_BY_REGION_BIT)
    memoryBarrierCount:             uint32_t                         = 0
    pMemoryBarriers:                const VkMemoryBarrier*           = 0x7ffcc7f3b530
    bufferMemoryBarrierCount:       uint32_t                         = 0
    pBufferMemoryBarriers:          const VkBufferMemoryBarrier*     = 0x7ffcc7f3b570
    imageMemoryBarrierCount:        uint32_t                         = 21
    pImageMemoryBarriers:           const VkImageMemoryBarrier*      = 0x55ceb9484bc0
        pImageMemoryBarriers[0]:        const VkImageMemoryBarrier       = 0x55ceb9484bc0:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL (7)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484bf0:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 0
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[1]:        const VkImageMemoryBarrier       = 0x55ceb9484c08:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484c38:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 0
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[2]:        const VkImageMemoryBarrier       = 0x55ceb9484c50:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484c80:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 0
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[3]:        const VkImageMemoryBarrier       = 0x55ceb9484c98:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484cc8:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 1
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[4]:        const VkImageMemoryBarrier       = 0x55ceb9484ce0:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484d10:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 1
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[5]:        const VkImageMemoryBarrier       = 0x55ceb9484d28:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484d58:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 1
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[6]:        const VkImageMemoryBarrier       = 0x55ceb9484d70:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484da0:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 2
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[7]:        const VkImageMemoryBarrier       = 0x55ceb9484db8:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484de8:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 2
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[8]:        const VkImageMemoryBarrier       = 0x55ceb9484e00:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484e30:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 2
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[9]:        const VkImageMemoryBarrier       = 0x55ceb9484e48:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484e78:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 3
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[10]:       const VkImageMemoryBarrier       = 0x55ceb9484e90:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484ec0:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 3
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[11]:       const VkImageMemoryBarrier       = 0x55ceb9484ed8:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484f08:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 3
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[12]:       const VkImageMemoryBarrier       = 0x55ceb9484f20:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484f50:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 4
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[13]:       const VkImageMemoryBarrier       = 0x55ceb9484f68:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484f98:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 4
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[14]:       const VkImageMemoryBarrier       = 0x55ceb9484fb0:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9484fe0:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 4
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[15]:       const VkImageMemoryBarrier       = 0x55ceb9484ff8:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9485028:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 5
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[16]:       const VkImageMemoryBarrier       = 0x55ceb9485040:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9485070:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 5
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[17]:       const VkImageMemoryBarrier       = 0x55ceb9485088:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb94850b8:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 5
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[18]:       const VkImageMemoryBarrier       = 0x55ceb94850d0:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9485100:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 6
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[19]:       const VkImageMemoryBarrier       = 0x55ceb9485118:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9485148:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 6
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
        pImageMemoryBarriers[20]:       const VkImageMemoryBarrier       = 0x55ceb9485160:
            sType:                          VkStructureType                  = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
            pNext:                          const void*                      = NULL
            srcAccessMask:                  VkAccessFlags                    = 0 (VK_ACCESS_NONE_KHR)
            dstAccessMask:                  VkAccessFlags                    = 6144 (VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT)
            oldLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_UNDEFINED (0)
            newLayout:                      VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
            srcQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            dstQueueFamilyIndex:            uint32_t                         =<PHONE_NUMBER>
            image:                          VkImage                          = 0x55ceb94a2170
            subresourceRange:               VkImageSubresourceRange          = 0x55ceb9485190:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                baseMipLevel:                   uint32_t                         = 6
                levelCount:                     uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1

Thread 0, Frame 0:
vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcImage:                       VkImage                          = 0x55ceb94a2170
    srcImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    dstImage:                       VkImage                          = 0x55ceb94a2170
    dstImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    regionCount:                    uint32_t                         = 1
    pRegions:                       const VkImageBlit*               = 0x7ffcc7f3a174
        pRegions[0]:                    const VkImageBlit                = 0x7ffcc7f3a174:
            srcSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a174:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 0
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
            srcOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a184
                srcOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a184:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                srcOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a190:
                    x:                              int32_t                          = 128
                    y:                              int32_t                          = 128
                    z:                              int32_t                          = 1
            dstSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a19c:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
            dstOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a1ac
                dstOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a1ac:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                dstOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a1b8:
                    x:                              int32_t                          = 64
                    y:                              int32_t                          = 64
                    z:                              int32_t                          = 1
    filter:                         VkFilter                         = VK_FILTER_LINEAR (1)

Thread 0, Frame 0:
vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcImage:                       VkImage                          = 0x55ceb94a2170
    srcImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    dstImage:                       VkImage                          = 0x55ceb94a2170
    dstImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    regionCount:                    uint32_t                         = 1
    pRegions:                       const VkImageBlit*               = 0x7ffcc7f3a174
        pRegions[0]:                    const VkImageBlit                = 0x7ffcc7f3a174:
            srcSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a174:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 0
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
            srcOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a184
                srcOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a184:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                srcOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a190:
                    x:                              int32_t                          = 128
                    y:                              int32_t                          = 128
                    z:                              int32_t                          = 1
            dstSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a19c:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 1
                layerCount:                     uint32_t                         = 1
            dstOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a1ac
                dstOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a1ac:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                dstOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a1b8:
                    x:                              int32_t                          = 64
                    y:                              int32_t                          = 64
                    z:                              int32_t                          = 1
    filter:                         VkFilter                         = VK_FILTER_LINEAR (1)

Thread 0, Frame 0:
vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcImage:                       VkImage                          = 0x55ceb94a2170
    srcImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    dstImage:                       VkImage                          = 0x55ceb94a2170
    dstImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    regionCount:                    uint32_t                         = 1
    pRegions:                       const VkImageBlit*               = 0x7ffcc7f3a174
        pRegions[0]:                    const VkImageBlit                = 0x7ffcc7f3a174:
            srcSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a174:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 0
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
            srcOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a184
                srcOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a184:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                srcOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a190:
                    x:                              int32_t                          = 128
                    y:                              int32_t                          = 128
                    z:                              int32_t                          = 1
            dstSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a19c:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 2
                layerCount:                     uint32_t                         = 1
            dstOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a1ac
                dstOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a1ac:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                dstOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a1b8:
                    x:                              int32_t                          = 64
                    y:                              int32_t                          = 64
                    z:                              int32_t                          = 1
    filter:                         VkFilter                         = VK_FILTER_LINEAR (1)

        [0] 0x55ceb90c1a00, type: 6, name: NULL
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum:<PHONE_NUMBER> -
Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x55ceb94a2170, type = VK_OBJECT_TYPE_IMAGE;
| MessageID = 0x4cb75b2d
| vkCmdBlitImage: Hazard READ_AFTER_WRITE for srcImage VkImage 0x55ceb94a2170[], region 0.
Access info (usage: SYNC_BLIT_TRANSFER_READ, prior_usage: SYNC_BLIT_TRANSFER_WRITE, write_barriers: 0,
command: vkCmdBlitImage, seq_no: 4, reset_no: 1).
    Objects: 1
        [0] 0x55ceb94a2170, type: 10, name: NULL
Thread 0, Frame 0:
vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) returns void:
    commandBuffer:                  VkCommandBuffer                  = 0x55ceb90c1a00
    srcImage:                       VkImage                          = 0x55ceb94a2170
    srcImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    dstImage:                       VkImage                          = 0x55ceb94a2170
    dstImageLayout:                 VkImageLayout                    = VK_IMAGE_LAYOUT_GENERAL (1)
    regionCount:                    uint32_t                         = 1
    pRegions:                       const VkImageBlit*               = 0x7ffcc7f3a174
        pRegions[0]:                    const VkImageBlit                = 0x7ffcc7f3a174:
            srcSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a174:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 1
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
            srcOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a184
                srcOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a184:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                srcOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a190:
                    x:                              int32_t                          = 64
                    y:                              int32_t                          = 64
                    z:                              int32_t                          = 1
            dstSubresource:                 VkImageSubresourceLayers         = 0x7ffcc7f3a19c:
                aspectMask:                     VkImageAspectFlags               = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                mipLevel:                       uint32_t                         = 2
                baseArrayLayer:                 uint32_t                         = 0
                layerCount:                     uint32_t                         = 1
            dstOffsets:                     VkOffset3D[2]                    = 0x7ffcc7f3a1ac
                dstOffsets[0]:                  VkOffset3D                       = 0x7ffcc7f3a1ac:
                    x:                              int32_t                          = 0
                    y:                              int32_t                          = 0
                    z:                              int32_t                          = 0
                dstOffsets[1]:                  VkOffset3D                       = 0x7ffcc7f3a1b8:
                    x:                              int32_t                          = 32
                    y:                              int32_t                          = 32
                    z:                              int32_t                          = 1
    filter:                         VkFilter                         = VK_FILTER_LINEAR (1)

These calls correspond to the part of the example that copies the initial image data into the images:
https://github.com/vulkano-rs/vulkano/blob/96c52ad11a4b650f99cde2325e8d5742485e36f1/examples/src/bin/texture_array/main.rs#L181-L187
Because mipmaps are being generated, there is an initial buffer-to-image copy, followed by an image barrier that changes the layout of all the mip levels and array layers from Undefined to General in preparation for generating the mipmap images using blits. Then mip level 1 is generated by blitting from level 0 for array layers 0, 1 and 2. Then the process continues by using the newly generated mip level 1 to generate mip level 2, and this seems to be where the hazard occurs, because it reads from level 1 after previously writing it and no image barrier has been inserted.
This is probably a bug somewhere in SyncCommandBufferBuilder. I don't think the example has anything wrong with it, it's probably just hitting the right conditions by accident.
@Amjad50 since this seems to be related to self-copying, do you think you could take a look at it?

Sure, let me look into it.


[4117] Save deferral date during HESA updates

Context
https://trello.com/c/NkWnDd3G/4117-investigate-missing-dates-from-hesa-import
Changes proposed in this pull request
HESA doesn't send us a deferral date, but where available we can use the ENDDATE for deferred trainees.
Guidance to review
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Investigate missing dates from HESA import


appendToBody Tab out of selection

When using appendToBody = true, if you type in a select box to select something and tab out, it selects the correct item but it tabs to the first input field on the page. This doesn't happen with appendToBody = false.
http://plnkr.co/edit/SZQMgiL27lfdYGFAi8s4?p=preview
steps

Click first select box
Type in "adam" w/o quotes
Hit Tab

It will tab out correctly if you follow these steps instead.

Click first select box
Type in "adam" w/o quotes
Hit Enter
Hit Tab


Reading single chunk takes 10x longer than remfile

Using remfile as below:
import remfile
import h5py
import pynwb
import timeit

# URL to HDF5 NWB file
s3_url = "https://dandiarchive.s3.amazonaws.com/blobs/fec/8a6/fec8a690-2ece-4437-8877-8a002ff8bd8a"
byte_stream = remfile.File(url=s3_url)
file = h5py.File(name=byte_stream)
io = pynwb.NWBHDF5IO(file=file)
nwbfile = io.read()
data_to_slice = nwbfile.acquisition["ElectricalSeriesAp"].data

start = timeit.default_timer()
data_to_slice[0:10,0:384]
end = timeit.default_timer()
print(end - start)

Takes 0.2 seconds on my laptop.
Using lindi as below:
import lindi
import pynwb
import timeit

# URL to LINDI JSON of NWB file
s3_url = "https://dandi-api-staging-dandisets.s3.amazonaws.com/blobs/914/6aa/9146aa46-9c01-45be-9d2a-693e6a7bb778"
client = lindi.LindiH5pyFile.from_lindi_file(url_or_path=s3_url)
io = pynwb.NWBHDF5IO(file=client)
nwbfile = io.read()
data_to_slice = nwbfile.acquisition["ElectricalSeriesAp"].data

start = timeit.default_timer()
data_to_slice[0:10,0:384]
end = timeit.default_timer()
print(end - start)

Takes 2.4 seconds on my laptop.
The data chunk size is (13653, 384) with no compression. Nothing stands out in the LINDI JSON. I'm not sure if I am doing something wrong or if there is an efficiency somewhere in the system.
I'll start looking into it. @magland, do you have any ideas about what might be going on?

@rly
I think what's going on here...
h5py can read partial chunks - and in this case there is no compression so this is possible
whereas lindi/zarr is set up to always read entire chunks
According to the lindi.json file, the chunk size is [13653, 384]
Maybe this is a zarr limitation/constraint/feature?

Ah, that makes sense. After changing the slice size to equal the chunk size, lindi is now only ~2x the speed of remfile. In inspecting the execution, it looks like zarr makes the request for key acquisition/ElectricalSeriesAp/data/0.0 twice. I'm trying to figure out why.
But also in digging through the Zarr code, I found that Zarr might be able to support partial reads:
https://github.com/zarr-developers/zarr-python/blob/b1f4c509abaee1cb8dec18e3a973e1199226011a/src/zarr/v2/core.py#L2054-L2095
Right now, execution is going through the else because "get_partial_values" is not an attribute of LindiReferenceFileSystemStore.

Ah. It will be good to figure out whether the duplicate request can be avoided... and/or whether we should implement some caching for this type of situation.
Do you think we should set the get_partial_values attribute somehow?

Do you think we should set the get_partial_values attribute somehow?

Yeah, I think that would be nice, but not urgent. For most large reads, I think it would not make a big difference because the read will be mostly full chunks and some part of a chunk on each axis. And most big datasets are compressed.
If you have time, it would be great if you can take a look but no pressure. Otherwise, I'll try to take a look at it next week.