Migration from Core 1.1 to 2.0 not working

Dear All,
I have a dotnet core 1.1 project running in production. I upgraded it with core 2.0 and keep getting error from the EntityFramework core 2.0 and I don't get any debugger information.

Then I created from scratch a new .net core 2.0 project and regenerated the entity framework using the instructions here
https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
Then when I run the project and try to query the content of a table in my database I get the same error message.
Regards
Sebastien

I also migrated my project from Core 1.1 to 2.0.
Core 1.1 was working fine but getting the same error in core 2.0 and not get any debugger information.

Hi,
I got the same mistake.

@seb999 Can you let us know which version of VS you are using, and also which versions of the .NET Core SDK are insatalled. Also, what happens if you run the app not in the debugger? What error/exception/message/stack trace do you see, if any?

@seb999 You need Visual Studio 2017 in version 15.3 (the new one). Also you need to update all your NuGet packages to v2.0 and also you need to install .NET Core SDK 2.0 from: https://www.microsoft.com/net/core#windowscmd

Hej,
I have Visual Studio enterprise 2017 Version 15.3.0 (I installed the update package),
I have intalled the .net core SDK 2.0
My .csproj contain only 2.0 packages:
<Project Sdk="Microsoft.NET.Sdk">   <PropertyGroup>     <TargetFramework>netcoreapp2.0</TargetFramework>     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>     <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>   </PropertyGroup>   <ItemGroup>     <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />     <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />     <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />   </ItemGroup>   <ItemGroup>     <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />     <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />   </ItemGroup> </Project>

Same issue. Visual studio 15.3.1, all package upgraded to 2.0, dotnet sdk 2.0, dot cli tool all 2.0. It's a critical issue. Everything related to EntityFramework core is not working, however the usermanager and rolemanager is still working well.

Same issue as seb999 with Visual Studio 15.3.1, dotnet sdk 2.0 and all .NET Core packages updated to 2.0!

Check also you .csproj and check if all references are ok.

@seb999 Do you get any more information with the Bad Gateway error? Any call stacks, etc?
It seems unlikely that this is related to EF Core specirfically. Does it still repro if you remove EF packages?

Hi Arthur,
It’s working without EF package. I migrated other projects (bit simpler without db or with basic MySql) and it works well.
I got this output :
The thread 0x1dc4 has exited with code 0 (0x0).
An unhandled exception of type 'System.StackOverflowException' occurred in System.Private.CoreLib.dll
Thanks.

I just upgraded to 2.0 without issues. I did find that to get things working I removed all the individual packages and just used the meta package instead.
For what it is worth, this project has been upgraded from 1.0-BETA project.json through to 2.0 with all the hiccups that were (and were not) expected along that journey.
Here my csproj file if it helps in any way. Also note I am using SQL Server in-case there is a problem with the different drivers.
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <VersionPrefix>1.2.1</VersionPrefix>
    <Version>1.2.1</Version>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <None Remove="Properties\PublishProfiles\Default.pubxml" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="MediatR" Version="3.0.1" />
    <PackageReference Include="NuGet.CommandLine" Version="4.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>

</Project>

I had to scaffold from the database in an empty project. And replaced all contents of the models-folder for all projects that had efcore contexts.

Anyone able to solve this chaos?

Unfortunately, I didn't manage to sort it out.

@seb999 @badyalsk @joelmartinez @Wayne-Mather @DNS-Cihang @mparlak Could one of you attach a project that reproduces the issue so that we can investigate?

@ajcvickers - Unfortunately my solution is for a corporate entity so I cannot supply a solution. Hopefully others who have issues can assist.

@seb999 @badyalsk @mparlak - Silly question, but did you update your Main.cs and Startup.cs as per the upgrade guide?
Specifically:
public class Program
{
    public static void Main(string[] args)
    {
         BuildWebHost(args).Run();
    }
    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
}

and the new constructor in Startup.cs (only if you currently use a property in your startup class)
public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

This is a dummy project where i created the EF model based on my existing database with the Scaffolding tool.
Joining the database is a bit complicated, but eventually you can generate the database base on the model. I also tried this approach and it is not working.
TestEntityCore2.zip

Getting error: An unhandled exception of type 'System.StackOverflowException' occurred in System.Private.CoreLib.dll

@Wayne-Mather
My current application is running fine with Microsoft.EntityFrameworkCore.SqlServer version = "1.1.2". But if I upgrade to Microsoft.EntityFrameworkCore.SqlServer version = "2.0.0" and run the application, it gives a StackOverflowException error.

Thanks @seb999 for the project.
@AndriySvyryd Looks like this is a stack overflow in the model validator. Assigning to you to investigate as a high priority.

@seb999 This is caused by a self referencing FK defined on the PK:
entity.HasOne(d => d.Pet)
    .WithOne(p => p.InversePet)
    .HasForeignKey<PendingExpenseTransfer>(d => d.PetId)
    .OnDelete(DeleteBehavior.ClientSetNull)
    .HasConstraintName("FK_PendingExpenseTransfer_PendingExpenseTransfer");

This would result in a useless relationship, since it would always point to itself.
To fix it add another property, like TransferPetId, to PendingExpenseTransfer and use it for the FK.

Duplicate of #9478

Thanks a lot Andriy for your intervention. I commented out this self reference in the DBContext as well as the property InversePet in the table PendingExpenseTransfer and it works.

Was this self reference reflected in the output or error list?

Hi Johan, on my side it was not visible in the error list.

Hey Guys,
Is there any way to find out the self-referencing FK defined on the PK? so that we can get the list of all chaos entities/self-referencing FK and fix it right away to run the project in EF2.0.

@badyalsk Something like this:
select    s1.name as from_schema
,        o1.Name as from_table
,        s2.name as to_schema
,        o2.Name as to_table
from    sys.foreign_keys fk
inner    join sys.objects o1
on        fk.parent_object_id = o1.object_id
inner    join sys.schemas s1
on        o1.schema_id = s1.schema_id
inner    join sys.objects o2
on        fk.referenced_object_id = o2.object_id
inner    join sys.schemas s2
on        o2.schema_id = s2.schema_id
where      (    s1.name = s2.name
            and    o1.name = o2.name)

Thanks a lot @ErikEJ for sharing query. I just commented out the self-referencing table in the DBContext and it works.

Hi @seb999, @badyalsk, @johanskoldekrans, @joelmartinez, @Wayne-Mather, @DNS-Cihang, @mparlak. We are gathering information on the use of EF Core pre-release builds. You reported this issue shortly after the release of 2.0.0 RTM. It would be really helpful if you could let us know:

Did you consider testing your code against the pre-release builds?
Was there anything blocking you from using pre-release builds?
What do you think could make it easier for you to use pre-release builds in the future?

Thanks in advance for any feedback. Hopefully this will help us to increase the value of pre-release builds going forward.

I have to host the web sites on IIS and since I couldn't get hold of the
updated server hosting for the previews I had to downgrade which is
extremely frustrating since just have fixed so many bugs since release. And
the strategy to not release those fixes as patches is something I just
can't understand.
On version 1.* when you had another documentation site you could choose the
dev-bransch and download the server hosting files. But it is still scary to
go live with preview versions for production systems.
So patch up, test and release would be something I would appreciate more.
ATB,
Johan
2017-09-12 19:55 GMT+02:00 Arthur Vickers<EMAIL_ADDRESS>
Hi @seb999 https://github.com/seb999, @badyalsk
https://github.com/badyalsk, @johanskoldekrans
https://github.com/johanskoldekrans, @joelmartinez
https://github.com/joelmartinez, @Wayne-Mather
https://github.com/wayne-mather, @DNS-Cihang
https://github.com/dns-cihang, @mparlak https://github.com/mparlak.
We are gathering information on the use of EF Core pre-release builds. You
reported this issue shortly after the release of 2.0.0 RTM. It would be
really helpful if you could let us know:

Did you consider testing your code against the pre-release builds?
Was there anything blocking you from using pre-release builds?
What do you think could make it easier for you to use pre-release
builds in the future?

Thanks in advance for any feedback. Hopefully this will help us to
increase the value of pre-release builds going forward.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/EntityFrameworkCore/issues/9462#issuecomment-328932116,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR1Ti2oGJ4dS1iCbEYFlgI9_SrY8txGYks5shsWJgaJpZM4O7UU7
.

--
Johan Sköldekrans
IT
Telefon +46 8 463 8000 <+4684638000>
Direkt +46 8 463 8029 <+4684638029>
Mobil +0760856512
Erik Penser Bank
Apelbergsgatan 27
Box 7405
103 91 Stockholm
--
www.penser.se
Disclaimer: www.penser.se/disclaimer

Hi @ajcvickers.
I have tested now. No problem in working.
Thanks

Hi Arthur, I actually installed the pre-release. The process was strange to install another Visual Studio version. When I opened my project, I started the migration and got lot of error to fix before being able to run the project. I rollback and decided to build a new project and migrate only the EF  and got this issue. I stopped here.
When the RTM was release, and got the same problem I finally try to get some help and opened the issue on Github.
So I would say as it was a pre-release I didn't really try to go further and decided to wait the RTM. It was also the first time I reported a problem to the community on Github. I didn't want to bother you with my local issue. So sorry about that, maybe I have a wrong approach and you prefer to have lot of feedback even « imaginary issue » that are in fact user mistake. What do you think ?

@seb999 Thanks for the feedback. The process of getting the 2.0 pre-releases working with VS was very difficult; this is something that hopefully will get better going forward. Also, our documentation in this area (tooling/migrations) has some holes. Hopefully with better documentation on what should work and pre-release builds that are easier to use you won't run into the same kind of issue in the future and it will be more clear which issues it is worth filing. Thanks again for the feedback.

@ajcvickers I tried the pre-release version on another machine but with so many errors at that time I decided to wait until 2.0 was nearer to RTM. As my solution had come from the DNX days, I thought it was best to wait until 2.0 to save all the problems I had when moving through all the alphas and betas for ASP.NET vNext.

@Wayne-Mather Thanks for the feedback; much appreciated.

Hi,
I just ran into the same issue upgrading an asp.net project from 1.0 to 2.0 --- StackOverflowException with complete website shutdown as soon as a dbset is touched either via code or quick watch.
My db model is pretty complex so finding the specific entity was going to time consuming but @ErikEJ SQL found the bad table right away!!!!! Thanks that saved a whole bunch of headache.

@fspataro We upgraded to the October-patch and haven’t had any problems since.

Hi @johanskoldekrans --- which patch are you referring to?  I just started this upgrade with a clean install of VS2017 and pulled all the updates and patches the VS showed me.  I did notice VS 15.4.4 today --- currently on 15.4.3.

Try this https://github.com/dotnet/core/blob/master/release-notes/download-archive.md

15 nov. 2017 kl. 20:41 skrev Fred Spataro<EMAIL_ADDRESS>Hi @johanskoldekrans --- which patch are you referring to? I just started this upgrade with a clean install of VS2017 and pulled all the updates and patches the VS showed me. I did notice VS 15.4.4 today --- currently on 15.4.3.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

--
www.penser.se
Disclaimer: www.penser.se/disclaimer

@johanskoldekrans thanks!


最新版本 typescript alias 似乎不生效

提示错误

I assume these issues have been stabilized in the latest 2.x versions. If you're still encountering problems, please create a new issue. Best case: Provide an example project that we can look into, thanks!


Feature/improve examples in some minor ways

Hey @postspectacular
to ease out this infrastructure week I made some minor, joyful, relaxed changes:)
Happy to hear your opinion about them and very happy about the shape of this project now!
Cheers, Jan

There're so many webdev & config tidbits I don't know... :) But thank you for these! The SVG favicon is a fun idea! Let's merge... 🎉


Creating custom layout scene copy creates wrong references

When using the Make Custom button in the Layout tab it will also copy scripts needed by the scene, however the actually copied scene still references the original scripts...

This isn't relevant anymore as the Make custom functionality has been removed.


Fix dead links

Fix dead links on the documentation page

Thank you for fixing the links, @Marcel0024.


Feat: Devpost Hackathon Scraper

Describe the feature
To scrape the hackathons available in Devpost website and retrieve every details
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC 23 contributor
[X] I want to work on this issue

Go ahead @Mihan786Chistie
Note

Create a separate module for this, as per the folder and project structure
Do not use the `selenium web driver as it is not compatible with all devices and cloud platforms.
Before you make any changes, please check whether the module you want to add already exists. If yes, then add your functionality as a method only else make a separate module and class for it.

All the best 👨💻


LCD not working with Pico 2 RP2350

One can fit the device with a Pico 2 RP2350 board, the VM works fine, disk access to SD card and the RGB LED are working, but the LCD shows garbage. Tried with SPI clock frequencies in the rage 5 - ~40 MHz makes no difference.

In the meantime I also tried running the RP2350 with 125 MHz instead of the default 150 MHz. Doesn't help, timing for clocking commands/data into the shift register must be off the limits in some way. Guess needs logic analyzer to compare protocols and see the difference.


STYLE: Rename _GetImageViewFromArray to GetImageViewFromContiguousArray

Aims to clarify the difference between the C++ itk::PyBuffer member function (which only supports contiguous arrays as input) and the Python method itkPyBuffer.GetImageViewFromArray (which supports both contiguous and non-contiguous arrays).
This commit also removes the leading underscore, as identifiers beginning with an underscore, followed by an uppercase letter are reserved by the C++ standard.

Follow-up to pull request #4888

@thewtex Thank you for explaining! Now I see at https://docs.python.org/3.13/tutorial/classes.html#private-variables

there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API (whether it is a function, a method or a data member). It should be considered an implementation detail and subject to change without notice.

However, the C++ standard specifically reserves identifiers beginning with an underscore, followed by an uppercase letter. So then, would it be OK to you to change the proposed name to underscore + lowercase letter (_getImageViewFromContiguousArray)?
Of course, we can also go all the way Pythonic, and use snake case: _get_image_view_from_contiguous_array. That's also fine by me. As long as we can avoid challenging the C++ standard  😇 What do you think?

_get_image_view_from_contiguous_array

@N-Dekker yes, this is compatible with both Python and C++ :+1:


[stdlib][WIP perf experiment] Sequence internals with struct instead of class.

_DropFirstSequence, _PrefixSequence and _DropWhileSequence as structs.
I think we DON’T require reference semantics to keep track of how many elements we've already taken from the underlying sequence.
… that’s taken care of by the underlying sequence, which has to have reference semantics if it needs them.
@dabrahams Can you trigger a benchmark for me, please? (I have to compile and test here because of SR-4955).

I think this requires a clean build before benchmark, incremental builds got unstable on my machine.

Please benchmark @dabrahams @airspeedswift

@gottesmm @shahmishal Please benchmark?

@swift-ci Please benchmark

@swift-ci Please test

Build comment file:
Optimized (O)

Regression (3)

TEST
OLD
NEW
DELTA
SPEEDUP

BitCount
12
13
+8.3%
0.92x

CaptureProp
4468
4806
+7.6%
0.93x (?)

IterateData
710
758
+6.8%
0.94x

Improvement (21)

TEST
OLD
NEW
DELTA
SPEEDUP

DropWhileSequence
2949
1461
-50.5%
2.02x

PrefixSequenceLazy
2471
1445
-41.5%
1.71x

PrefixSequence
2385
1483
-37.8%
1.61x

DropFirstSequence
2893
1977
-31.7%
1.46x

DropFirstSequenceLazy
2859
2003
-29.9%
1.43x

PrefixAnySequence
6204
5039
-18.8%
1.23x

PrefixAnySequenceLazy
6024
5033
-16.5%
1.20x

DropWhileAnySequence
7447
6327
-15.0%
1.18x

DropFirstAnySequenceLazy
6828
5860
-14.2%
1.17x

DropFirstAnySequence
6762
5811
-14.1%
1.16x

DropLastArrayLazy
8
7
-12.5%
1.14x

PrefixAnySeqCRangeIterLazy
22404
20012
-10.7%
1.12x

DropFirstAnySeqCRangeIter
29401
26368
-10.3%
1.12x

DropFirstAnySeqCRangeIterLazy
29420
26724
-9.2%
1.10x

ProtocolDispatch
2696
2462
-8.7%
1.10x

DropWhileAnySeqCRangeIter
22302
20538
-7.9%
1.09x

PrefixAnySeqCRangeIter
21859
20138
-7.9%
1.09x (?)

DropLastAnySeqCntRange
16
15
-6.2%
1.07x

SuffixAnySeqCntRange
16
15
-6.2%
1.07x

ProtocolDispatch2
169
160
-5.3%
1.06x

ObjectiveCBridgeStubFromNSDate
3779
3592
-4.9%
1.05x

No Changes (248)

TEST
OLD
NEW
DELTA
SPEEDUP

AngryPhonebook
2873
2908
+1.2%
0.99x (?)

AnyHashableWithAClass
68511
68842
+0.5%
1.00x (?)

Array2D
2036
2013
-1.1%
1.01x (?)

ArrayAppend
728
748
+2.7%
0.97x (?)

ArrayAppendArrayOfInt
579
579
+0.0%
1.00x

ArrayAppendAscii
22854
22272
-2.5%
1.03x (?)

ArrayAppendFromGeneric
564
571
+1.2%
0.99x (?)

ArrayAppendGenericStructs
1156
1136
-1.7%
1.02x (?)

ArrayAppendLatin1
42175
43403
+2.9%
0.97x (?)

ArrayAppendLazyMap
939
948
+1.0%
0.99x (?)

ArrayAppendOptionals
1138
1144
+0.5%
0.99x (?)

ArrayAppendRepeatCol
838
838
+0.0%
1.00x

ArrayAppendReserved
504
519
+3.0%
0.97x (?)

ArrayAppendSequence
892
926
+3.8%
0.96x (?)

ArrayAppendStrings
13248
13239
-0.1%
1.00x (?)

ArrayAppendToFromGeneric
579
579
+0.0%
1.00x

ArrayAppendToGeneric
564
565
+0.2%
1.00x (?)

ArrayAppendUTF16
40551
40947
+1.0%
0.99x (?)

ArrayInClass
63
61
-3.2%
1.03x (?)

ArrayLiteral
1188
1191
+0.3%
1.00x (?)

ArrayOfGenericPOD
207
208
+0.5%
1.00x (?)

ArrayOfGenericRef
3828
3899
+1.9%
0.98x (?)

ArrayOfPOD
156
161
+3.2%
0.97x

ArrayOfRef
3740
3726
-0.4%
1.00x (?)

ArrayPlusEqualArrayOfInt
564
579
+2.7%
0.97x (?)

ArrayPlusEqualFiveElementCollection
4425
4494
+1.6%
0.98x (?)

ArrayPlusEqualSingleElementCollection
746
746
+0.0%
1.00x

ArrayPlusEqualThreeElements
1558
1571
+0.8%
0.99x (?)

ArraySubscript
1400
1419
+1.4%
0.99x (?)

ArrayValueProp
5
5
+0.0%
1.00x

ArrayValueProp2
5
5
+0.0%
1.00x

ArrayValueProp3
5
5
+0.0%
1.00x

ArrayValueProp4
5
5
+0.0%
1.00x

ByteSwap
0
0
+0.0%
1.00x

CStringLongAscii
5031
5072
+0.8%
0.99x (?)

CStringLongNonAscii
2270
2300
+1.3%
0.99x (?)

CStringShortAscii
5569
5624
+1.0%
0.99x (?)

Calculator
34
33
-2.9%
1.03x

CharacterLiteralsLarge
8533
8592
+0.7%
0.99x (?)

CharacterLiteralsSmall
307
307
+0.0%
1.00x

Chars
1922
1851
-3.7%
1.04x

ClassArrayGetter
13
13
+0.0%
1.00x

DeadArray
177
186
+5.1%
0.95x (?)

Dictionary
574
581
+1.2%
0.99x (?)

Dictionary2
1766
1761
-0.3%
1.00x (?)

Dictionary2OfObjects
3272
3304
+1.0%
0.99x (?)

Dictionary3
454
444
-2.2%
1.02x (?)

Dictionary3OfObjects
874
875
+0.1%
1.00x (?)

DictionaryBridge
2624
2575
-1.9%
1.02x (?)

DictionaryLiteral
1450
1471
+1.4%
0.99x (?)

DictionaryOfObjects
2264
2268
+0.2%
1.00x (?)

DictionaryRemove
2521
2415
-4.2%
1.04x (?)

DictionaryRemoveOfObjects
22058
22112
+0.2%
1.00x (?)

DictionarySwap
422
428
+1.4%
0.99x (?)

DictionarySwapOfObjects
6684
6595
-1.3%
1.01x (?)

DropFirstAnyCollection
53
54
+1.9%
0.98x (?)

DropFirstAnyCollectionLazy
43677
43570
-0.2%
1.00x (?)

DropFirstAnySeqCntRange
48
48
+0.0%
1.00x

DropFirstAnySeqCntRangeLazy
48
48
+0.0%
1.00x

DropFirstArray
23
23
+0.0%
1.00x

DropFirstArrayLazy
23
23
+0.0%
1.00x

DropFirstCountableRange
30
30
+0.0%
1.00x

DropFirstCountableRangeLazy
30
30
+0.0%
1.00x

DropLastAnyCollection
21
21
+0.0%
1.00x

DropLastAnyCollectionLazy
14168
14155
-0.1%
1.00x (?)

DropLastAnySeqCRangeIter
4358
4354
-0.1%
1.00x (?)

DropLastAnySeqCRangeIterLazy
4426
4474
+1.1%
0.99x (?)

DropLastAnySeqCntRangeLazy
15
15
+0.0%
1.00x

DropLastAnySequence
6464
6398
-1.0%
1.01x (?)

DropLastAnySequenceLazy
6550
6536
-0.2%
1.00x (?)

DropLastArray
7
7
+0.0%
1.00x

DropLastCountableRange
10
10
+0.0%
1.00x

DropLastCountableRangeLazy
10
10
+0.0%
1.00x

DropLastSequence
546
566
+3.7%
0.96x (?)

DropLastSequenceLazy
563
582
+3.4%
0.97x (?)

DropWhileAnyCollection
66
66
+0.0%
1.00x

DropWhileAnyCollectionLazy
98
98
+0.0%
1.00x

DropWhileAnySeqCRangeIterLazy
98
98
+0.0%
1.00x

DropWhileAnySeqCntRange
60
60
+0.0%
1.00x

DropWhileAnySeqCntRangeLazy
98
98
+0.0%
1.00x

DropWhileAnySequenceLazy
1932
1923
-0.5%
1.00x (?)

DropWhileArray
35
35
+0.0%
1.00x

DropWhileArrayLazy
75
74
-1.3%
1.01x (?)

DropWhileCountableRange
34
33
-2.9%
1.03x (?)

DropWhileCountableRangeLazy
64
64
+0.0%
1.00x

DropWhileSequenceLazy
61
61
+0.0%
1.00x

ErrorHandling
2988
2878
-3.7%
1.04x (?)

GlobalClass
0
0
+0.0%
1.00x

Hanoi
3327
3262
-2.0%
1.02x (?)

HashTest
1766
1715
-2.9%
1.03x (?)

Histogram
298
295
-1.0%
1.01x (?)

Integrate
264
260
-1.5%
1.02x (?)

Join
434
435
+0.2%
1.00x (?)

LazilyFilteredArrays
63048
63141
+0.1%
1.00x (?)

LazilyFilteredRange
3664
3662
-0.1%
1.00x (?)

LinkedList
6647
6647
+0.0%
1.00x

MapReduce
304
303
-0.3%
1.00x (?)

MapReduceAnyCollection
338
343
+1.5%
0.99x (?)

MapReduceAnyCollectionShort
1939
1897
-2.2%
1.02x (?)

MapReduceClass
2878
2886
+0.3%
1.00x (?)

MapReduceClassShort
4294
4357
+1.5%
0.99x (?)

MapReduceLazyCollection
15
15
+0.0%
1.00x

MapReduceLazyCollectionShort
43
43
+0.0%
1.00x

MapReduceLazySequence
85
85
+0.0%
1.00x

MapReduceSequence
431
434
+0.7%
0.99x (?)

MapReduceShort
1844
1879
+1.9%
0.98x (?)

MapReduceShortString
21
21
+0.0%
1.00x

MapReduceString
113
110
-2.7%
1.03x (?)

Memset
221
221
+0.0%
1.00x

MonteCarloE
9556
9514
-0.4%
1.00x (?)

MonteCarloPi
41606
41429
-0.4%
1.00x

NSDictionaryCastToSwift
5219
5341
+2.3%
0.98x (?)

NSError
281
274
-2.5%
1.03x (?)

NSStringConversion
751
733
-2.4%
1.02x (?)

NopDeinit
29084
29735
+2.2%
0.98x (?)

ObjectAllocation
170
172
+1.2%
0.99x (?)

ObjectiveCBridgeFromNSArrayAnyObject
23739
23995
+1.1%
0.99x (?)

ObjectiveCBridgeFromNSArrayAnyObjectForced
4508
4462
-1.0%
1.01x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToString
44463
43794
-1.5%
1.02x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToStringForced
38494
38110
-1.0%
1.01x (?)

ObjectiveCBridgeFromNSDictionaryAnyObject
117512
117378
-0.1%
1.00x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectForced
5171
5173
+0.0%
1.00x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectToString
97290
96916
-0.4%
1.00x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced
91177
91015
-0.2%
1.00x (?)

ObjectiveCBridgeFromNSSetAnyObject
64088
63692
-0.6%
1.01x (?)

ObjectiveCBridgeFromNSSetAnyObjectForced
4165
4172
+0.2%
1.00x (?)

ObjectiveCBridgeFromNSSetAnyObjectToString
72843
71692
-1.6%
1.02x (?)

ObjectiveCBridgeFromNSSetAnyObjectToStringForced
63135
62189
-1.5%
1.02x (?)

ObjectiveCBridgeFromNSString
1424
1409
-1.1%
1.01x (?)

ObjectiveCBridgeFromNSStringForced
2374
2328
-1.9%
1.02x (?)

ObjectiveCBridgeStubDataAppend
3568
3592
+0.7%
0.99x (?)

ObjectiveCBridgeStubDateAccess
177
177
+0.0%
1.00x

ObjectiveCBridgeStubDateMutation
264
264
+0.0%
1.00x

ObjectiveCBridgeStubFromArrayOfNSString
29472
29045
-1.4%
1.01x (?)

ObjectiveCBridgeStubFromNSDateRef
3611
3512
-2.7%
1.03x (?)

ObjectiveCBridgeStubFromNSString
962
918
-4.6%
1.05x (?)

ObjectiveCBridgeStubFromNSStringRef
179
177
-1.1%
1.01x (?)

ObjectiveCBridgeStubNSDataAppend
2295
2311
+0.7%
0.99x (?)

ObjectiveCBridgeStubNSDateMutationRef
12456
12401
-0.4%
1.00x (?)

ObjectiveCBridgeStubNSDateRefAccess
348
346
-0.6%
1.01x (?)

ObjectiveCBridgeStubToArrayOfNSString
28880
28470
-1.4%
1.01x (?)

ObjectiveCBridgeStubToNSDate
14148
13892
-1.8%
1.02x (?)

ObjectiveCBridgeStubToNSDateRef
3214
3216
+0.1%
1.00x (?)

ObjectiveCBridgeStubToNSString
1433
1434
+0.1%
1.00x (?)

ObjectiveCBridgeStubToNSStringRef
106
105
-0.9%
1.01x (?)

ObjectiveCBridgeStubURLAppendPath
220441
227226
+3.1%
0.97x (?)

ObjectiveCBridgeStubURLAppendPathRef
220660
225871
+2.4%
0.98x (?)

ObjectiveCBridgeToNSArray
29069
28781
-1.0%
1.01x (?)

ObjectiveCBridgeToNSDictionary
45454
45673
+0.5%
1.00x (?)

ObjectiveCBridgeToNSSet
39284
38948
-0.9%
1.01x (?)

ObjectiveCBridgeToNSString
1214
1233
+1.6%
0.98x (?)

ObserverClosure
2175
2203
+1.3%
0.99x (?)

ObserverForwarderStruct
1045
1044
-0.1%
1.00x (?)

ObserverPartiallyAppliedMethod
3623
3619
-0.1%
1.00x (?)

ObserverUnappliedMethod
2555
2543
-0.5%
1.00x (?)

OpenClose
53
53
+0.0%
1.00x

Phonebook
6933
6948
+0.2%
1.00x (?)

PolymorphicCalls
20
20
+0.0%
1.00x

PopFrontArray
1056
1055
-0.1%
1.00x (?)

PopFrontArrayGeneric
1098
1098
+0.0%
1.00x

PopFrontUnsafePointer
8540
8524
-0.2%
1.00x (?)

PrefixAnyCollection
53
53
+0.0%
1.00x

PrefixAnyCollectionLazy
43663
43671
+0.0%
1.00x (?)

PrefixAnySeqCntRange
48
48
+0.0%
1.00x

PrefixAnySeqCntRangeLazy
48
48
+0.0%
1.00x

PrefixArray
23
23
+0.0%
1.00x

PrefixArrayLazy
23
23
+0.0%
1.00x

PrefixCountableRange
30
30
+0.0%
1.00x

PrefixCountableRangeLazy
30
30
+0.0%
1.00x

PrefixWhileAnyCollection
91
91
+0.0%
1.00x

PrefixWhileAnyCollectionLazy
71
71
+0.0%
1.00x

PrefixWhileAnySeqCRangeIter
11837
11825
-0.1%
1.00x (?)

PrefixWhileAnySeqCRangeIterLazy
71
71
+0.0%
1.00x

PrefixWhileAnySeqCntRange
85
85
+0.0%
1.00x

PrefixWhileAnySeqCntRangeLazy
71
73
+2.8%
0.97x

PrefixWhileAnySequence
13257
13275
+0.1%
1.00x (?)

PrefixWhileAnySequenceLazy
1451
1449
-0.1%
1.00x (?)

PrefixWhileArray
59
59
+0.0%
1.00x

PrefixWhileArrayLazy
47
48
+2.1%
0.98x (?)

PrefixWhileCountableRange
34
34
+0.0%
1.00x

PrefixWhileCountableRangeLazy
30
30
+0.0%
1.00x

PrefixWhileSequence
295
295
+0.0%
1.00x

PrefixWhileSequenceLazy
26
26
+0.0%
1.00x

Prims
720
724
+0.6%
0.99x (?)

RC4
153
155
+1.3%
0.99x (?)

RGBHistogram
2409
2378
-1.3%
1.01x (?)

RGBHistogramOfObjects
22883
22904
+0.1%
1.00x (?)

RangeAssignment
303
302
-0.3%
1.00x (?)

RecursiveOwnedParameter
2202
2203
+0.0%
1.00x (?)

ReversedArray
47
47
+0.0%
1.00x

ReversedBidirectional
27457
27476
+0.1%
1.00x (?)

ReversedDictionary
104
101
-2.9%
1.03x (?)

SetExclusiveOr
2989
2972
-0.6%
1.01x (?)

SetExclusiveOr_OfObjects
9116
9097
-0.2%
1.00x (?)

SetIntersect
274
277
+1.1%
0.99x (?)

SetIntersect_OfObjects
1627
1625
-0.1%
1.00x (?)

SetIsSubsetOf
270
270
+0.0%
1.00x

SetIsSubsetOf_OfObjects
338
338
+0.0%
1.00x

SetUnion
2690
2648
-1.6%
1.02x (?)

SetUnion_OfObjects
7688
7603
-1.1%
1.01x (?)

SevenBoom
1422
1415
-0.5%
1.00x (?)

Sim2DArray
277
276
-0.4%
1.00x (?)

SortLargeExistentials
7760
7595
-2.1%
1.02x (?)

SortLettersInPlace
1111
1108
-0.3%
1.00x (?)

SortSortedStrings
855
879
+2.8%
0.97x (?)

SortStrings
1639
1648
+0.5%
0.99x (?)

SortStringsUnicode
7540
7724
+2.4%
0.98x (?)

StackPromo
21049
20957
-0.4%
1.00x (?)

StaticArray
17
17
+0.0%
1.00x

StrComplexWalk
681
690
+1.3%
0.99x (?)

StrToInt
2281
2256
-1.1%
1.01x (?)

StringAdder
0
0
+0.0%
1.00x

StringBuilder
1323
1302
-1.6%
1.02x (?)

StringBuilderLong
924
956
+3.5%
0.97x (?)

StringEdits
212024
212599
+0.3%
1.00x (?)

StringEqualPointerComparison
7281
7441
+2.2%
0.98x (?)

StringFromLongWholeSubstring
14743
14858
+0.8%
0.99x (?)

StringFromLongWholeSubstringGeneric
207
207
+0.0%
1.00x

StringHasPrefix
31
31
+0.0%
1.00x

StringHasPrefixUnicode
14065
14397
+2.4%
0.98x (?)

StringHasSuffix
31
31
+0.0%
1.00x

StringHasSuffixUnicode
59926
60070
+0.2%
1.00x (?)

StringInterpolation
10998
11058
+0.5%
0.99x (?)

StringMatch
9230
9099
-1.4%
1.01x (?)

StringUTF16Builder
2149
2145
-0.2%
1.00x (?)

StringWalk
1246
1240
-0.5%
1.00x (?)

StringWithCString
132750
133450
+0.5%
0.99x (?)

SubstringFromLongString
149
150
+0.7%
0.99x (?)

SubstringFromLongStringGeneric
323
322
-0.3%
1.00x (?)

SuffixAnyCollection
21
21
+0.0%
1.00x

SuffixAnyCollectionLazy
14140
14174
+0.2%
1.00x (?)

SuffixAnySeqCRangeIter
4683
4715
+0.7%
0.99x (?)

SuffixAnySeqCRangeIterLazy
4728
4665
-1.3%
1.01x (?)

SuffixAnySeqCntRangeLazy
15
15
+0.0%
1.00x

SuffixAnySequence
6287
6375
+1.4%
0.99x (?)

SuffixAnySequenceLazy
6411
6299
-1.7%
1.02x (?)

SuffixArray
8
8
+0.0%
1.00x

SuffixArrayLazy
8
8
+0.0%
1.00x

SuffixCountableRange
10
10
+0.0%
1.00x

SuffixCountableRangeLazy
10
10
+0.0%
1.00x

SuffixSequence
4238
4239
+0.0%
1.00x (?)

SuffixSequenceLazy
4238
4276
+0.9%
0.99x (?)

SuperChars
100417
95751
-4.6%
1.05x (?)

TwoSum
950
943
-0.7%
1.01x (?)

TypeFlood
0
0
+0.0%
1.00x

UTF8Decode
244
246
+0.8%
0.99x (?)

Walsh
348
359
+3.2%
0.97x (?)

XorLoop
327
328
+0.3%
1.00x (?)

**Unoptimized (Onone)**

Regression (7)

TEST
OLD
NEW
DELTA
SPEEDUP

StringWithCString
136362
187682
+37.6%
0.73x (?)

Chars
50352
56541
+12.3%
0.89x (?)

ObjectiveCBridgeToNSDictionary
43155
46442
+7.6%
0.93x (?)

DictionaryLiteral
7866
8406
+6.9%
0.94x (?)

ObjectiveCBridgeStubToNSDate
14183
15089
+6.4%
0.94x (?)

StringHasSuffix
1778
1878
+5.6%
0.95x (?)

PrefixWhileArray
16573
17451
+5.3%
0.95x (?)

Improvement (14)

TEST
OLD
NEW
DELTA
SPEEDUP

DropFirstSequenceLazy
13217
11928
-9.8%
1.11x

SuffixAnySeqCRangeIterLazy
42956
39068
-9.1%
1.10x

PrefixSequence
10743
9793
-8.8%
1.10x

DropFirstAnySequenceLazy
14299
13048
-8.7%
1.10x

PrefixAnySequence
11848
10919
-7.8%
1.09x

TypeFlood
168
156
-7.1%
1.08x (?)

ArrayAppendArrayOfInt
652
614
-5.8%
1.06x

SuffixArray
2133
2009
-5.8%
1.06x

PrefixSequenceLazy
11028
10392
-5.8%
1.06x

PrefixAnySequenceLazy
11472
10887
-5.1%
1.05x

Array2D
602514
573031
-4.9%
1.05x

DropFirstAnySeqCRangeIterLazy
30468
28989
-4.9%
1.05x

DropFirstSequence
13256
12613
-4.9%
1.05x

CStringLongNonAscii
2481
2361
-4.8%
1.05x (?)

No Changes (251)

TEST
OLD
NEW
DELTA
SPEEDUP

AngryPhonebook
4686
4762
+1.6%
0.98x (?)

AnyHashableWithAClass
83338
82687
-0.8%
1.01x (?)

ArrayAppend
3789
3865
+2.0%
0.98x (?)

ArrayAppendAscii
60224
60444
+0.4%
1.00x (?)

ArrayAppendFromGeneric
618
618
+0.0%
1.00x

ArrayAppendGenericStructs
1195
1226
+2.6%
0.97x

ArrayAppendLatin1
80800
82839
+2.5%
0.98x (?)

ArrayAppendLazyMap
206681
204461
-1.1%
1.01x (?)

ArrayAppendOptionals
1266
1229
-2.9%
1.03x

ArrayAppendRepeatCol
216424
213518
-1.3%
1.01x (?)

ArrayAppendReserved
3602
3533
-1.9%
1.02x (?)

ArrayAppendSequence
79332
79597
+0.3%
1.00x (?)

ArrayAppendStrings
13663
13651
-0.1%
1.00x (?)

ArrayAppendToFromGeneric
635
635
+0.0%
1.00x

ArrayAppendToGeneric
619
620
+0.2%
1.00x (?)

ArrayAppendUTF16
79022
81469
+3.1%
0.97x (?)

ArrayInClass
4470
4594
+2.8%
0.97x

ArrayLiteral
1657
1730
+4.4%
0.96x (?)

ArrayOfGenericPOD
3050
3042
-0.3%
1.00x (?)

ArrayOfGenericRef
9216
9299
+0.9%
0.99x (?)

ArrayOfPOD
1784
1833
+2.7%
0.97x (?)

ArrayOfRef
8384
8748
+4.3%
0.96x

ArrayPlusEqualArrayOfInt
633
651
+2.8%
0.97x (?)

ArrayPlusEqualFiveElementCollection
300356
294265
-2.0%
1.02x (?)

ArrayPlusEqualSingleElementCollection
294490
295722
+0.4%
1.00x (?)

ArrayPlusEqualThreeElements
10311
10238
-0.7%
1.01x (?)

ArraySubscript
3947
3990
+1.1%
0.99x (?)

ArrayValueProp
3343
3352
+0.3%
1.00x (?)

ArrayValueProp2
18602
18911
+1.7%
0.98x (?)

ArrayValueProp3
3868
3925
+1.5%
0.99x (?)

ArrayValueProp4
3805
3841
+0.9%
0.99x (?)

BitCount
168
169
+0.6%
0.99x (?)

ByteSwap
26
26
+0.0%
1.00x

CStringLongAscii
5223
5314
+1.7%
0.98x (?)

CStringShortAscii
9481
9526
+0.5%
1.00x (?)

Calculator
1107
1119
+1.1%
0.99x (?)

CaptureProp
107330
108174
+0.8%
0.99x (?)

CharacterLiteralsLarge
10109
10138
+0.3%
1.00x (?)

CharacterLiteralsSmall
982
1001
+1.9%
0.98x (?)

ClassArrayGetter
877
902
+2.9%
0.97x

DeadArray
116305
119795
+3.0%
0.97x (?)

Dictionary
3024
3010
-0.5%
1.00x (?)

Dictionary2
3507
3484
-0.7%
1.01x (?)

Dictionary2OfObjects
5876
5690
-3.2%
1.03x

Dictionary3
1352
1332
-1.5%
1.02x (?)

Dictionary3OfObjects
2182
2181
-0.0%
1.00x (?)

DictionaryBridge
2754
2712
-1.5%
1.02x (?)

DictionaryOfObjects
5890
5847
-0.7%
1.01x (?)

DictionaryRemove
21119
22014
+4.2%
0.96x

DictionaryRemoveOfObjects
55520
54176
-2.4%
1.02x (?)

DictionarySwap
5579
5455
-2.2%
1.02x (?)

DictionarySwapOfObjects
19312
19490
+0.9%
0.99x (?)

DropFirstAnyCollection
19769
19518
-1.3%
1.01x (?)

DropFirstAnyCollectionLazy
136019
132719
-2.4%
1.02x (?)

DropFirstAnySeqCRangeIter
29490
29208
-1.0%
1.01x (?)

DropFirstAnySeqCntRange
20093
19682
-2.0%
1.02x (?)

DropFirstAnySeqCntRangeLazy
19313
19408
+0.5%
1.00x (?)

DropFirstAnySequence
14006
13505
-3.6%
1.04x

DropFirstArray
6326
6335
+0.1%
1.00x (?)

DropFirstArrayLazy
45374
46024
+1.4%
0.99x (?)

DropFirstCountableRange
337
337
+0.0%
1.00x

DropFirstCountableRangeLazy
38886
39006
+0.3%
1.00x (?)

DropLastAnyCollection
6601
6602
+0.0%
1.00x (?)

DropLastAnyCollectionLazy
43887
45399
+3.4%
0.97x (?)

DropLastAnySeqCRangeIter
43490
42727
-1.8%
1.02x (?)

DropLastAnySeqCRangeIterLazy
44349
43551
-1.8%
1.02x (?)

DropLastAnySeqCntRange
6703
6469
-3.5%
1.04x

DropLastAnySeqCntRangeLazy
6643
6457
-2.8%
1.03x (?)

DropLastAnySequence
29065
29056
-0.0%
1.00x (?)

DropLastAnySequenceLazy
28472
28934
+1.6%
0.98x (?)

DropLastArray
2131
2064
-3.1%
1.03x

DropLastArrayLazy
14757
15267
+3.5%
0.97x

DropLastCountableRange
117
117
+0.0%
1.00x

DropLastCountableRangeLazy
12792
13204
+3.2%
0.97x

DropLastSequence
28808
28736
-0.2%
1.00x (?)

DropLastSequenceLazy
28779
27976
-2.8%
1.03x

DropWhileAnyCollection
25028
24925
-0.4%
1.00x (?)

DropWhileAnyCollectionLazy
27685
27441
-0.9%
1.01x (?)

DropWhileAnySeqCRangeIter
32238
32160
-0.2%
1.00x (?)

DropWhileAnySeqCRangeIterLazy
27232
27270
+0.1%
1.00x (?)

DropWhileAnySeqCntRange
25049
25187
+0.6%
0.99x (?)

DropWhileAnySeqCntRangeLazy
27769
27380
-1.4%
1.01x (?)

DropWhileAnySequence
16165
15434
-4.5%
1.05x (?)

DropWhileAnySequenceLazy
12599
12643
+0.3%
1.00x (?)

DropWhileArray
9954
9850
-1.0%
1.01x (?)

DropWhileArrayLazy
16484
16783
+1.8%
0.98x

DropWhileCountableRange
6086
5848
-3.9%
1.04x (?)

DropWhileCountableRangeLazy
27352
26276
-3.9%
1.04x (?)

DropWhileSequence
15172
14469
-4.6%
1.05x

DropWhileSequenceLazy
11580
11395
-1.6%
1.02x

ErrorHandling
6844
6814
-0.4%
1.00x (?)

GlobalClass
0
0
+0.0%
1.00x

Hanoi
17045
17302
+1.5%
0.99x

HashTest
14618
14742
+0.8%
0.99x (?)

Histogram
8868
8839
-0.3%
1.00x (?)

Integrate
401
411
+2.5%
0.98x (?)

IterateData
12724
12681
-0.3%
1.00x (?)

Join
1243
1240
-0.2%
1.00x (?)

LazilyFilteredArrays
1698194
1680613
-1.0%
1.01x (?)

LazilyFilteredRange
691557
659399
-4.7%
1.05x

LinkedList
31308
31273
-0.1%
1.00x (?)

MapReduce
36724
36513
-0.6%
1.01x (?)

MapReduceAnyCollection
35812
36106
+0.8%
0.99x (?)

MapReduceAnyCollectionShort
47774
50048
+4.8%
0.95x

MapReduceClass
41730
42474
+1.8%
0.98x (?)

MapReduceClassShort
51864
52849
+1.9%
0.98x (?)

MapReduceLazyCollection
31648
32809
+3.7%
0.96x (?)

MapReduceLazyCollectionShort
43846
44419
+1.3%
0.99x (?)

MapReduceLazySequence
25314
25709
+1.6%
0.98x (?)

MapReduceSequence
40862
41175
+0.8%
0.99x (?)

MapReduceShort
49860
48510
-2.7%
1.03x (?)

MapReduceShortString
274
266
-2.9%
1.03x

MapReduceString
2522
2555
+1.3%
0.99x (?)

Memset
41532
41699
+0.4%
1.00x (?)

MonteCarloE
107108
105276
-1.7%
1.02x (?)

MonteCarloPi
49763
49786
+0.0%
1.00x (?)

NSDictionaryCastToSwift
6318
6404
+1.4%
0.99x (?)

NSError
717
706
-1.5%
1.02x (?)

NSStringConversion
1318
1322
+0.3%
1.00x (?)

NopDeinit
53768
54967
+2.2%
0.98x (?)

ObjectAllocation
1332
1377
+3.4%
0.97x (?)

ObjectiveCBridgeFromNSArrayAnyObject
25153
25407
+1.0%
0.99x (?)

ObjectiveCBridgeFromNSArrayAnyObjectForced
7837
7813
-0.3%
1.00x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToString
45563
46048
+1.1%
0.99x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToStringForced
38891
39278
+1.0%
0.99x (?)

ObjectiveCBridgeFromNSDictionaryAnyObject
123531
122513
-0.8%
1.01x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectForced
7476
7461
-0.2%
1.00x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectToString
100195
102133
+1.9%
0.98x (?)

ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced
93924
93244
-0.7%
1.01x (?)

ObjectiveCBridgeFromNSSetAnyObject
68069
67705
-0.5%
1.01x (?)

ObjectiveCBridgeFromNSSetAnyObjectForced
6961
7204
+3.5%
0.97x (?)

ObjectiveCBridgeFromNSSetAnyObjectToString
76724
76146
-0.8%
1.01x (?)

ObjectiveCBridgeFromNSSetAnyObjectToStringForced
67194
66683
-0.8%
1.01x (?)

ObjectiveCBridgeFromNSString
4110
4098
-0.3%
1.00x (?)

ObjectiveCBridgeFromNSStringForced
2735
2726
-0.3%
1.00x (?)

ObjectiveCBridgeStubDataAppend
3981
3963
-0.5%
1.00x (?)

ObjectiveCBridgeStubDateAccess
1003
1019
+1.6%
0.98x (?)

ObjectiveCBridgeStubDateMutation
533
548
+2.8%
0.97x

ObjectiveCBridgeStubFromArrayOfNSString
30559
29778
-2.6%
1.03x (?)

ObjectiveCBridgeStubFromNSDate
4242
4187
-1.3%
1.01x (?)

ObjectiveCBridgeStubFromNSDateRef
3919
4036
+3.0%
0.97x (?)

ObjectiveCBridgeStubFromNSString
957
959
+0.2%
1.00x (?)

ObjectiveCBridgeStubFromNSStringRef
207
200
-3.4%
1.03x

ObjectiveCBridgeStubNSDataAppend
2789
2689
-3.6%
1.04x (?)

ObjectiveCBridgeStubNSDateMutationRef
14423
14952
+3.7%
0.96x (?)

ObjectiveCBridgeStubNSDateRefAccess
1196
1251
+4.6%
0.96x (?)

ObjectiveCBridgeStubToArrayOfNSString
29715
29456
-0.9%
1.01x (?)

ObjectiveCBridgeStubToNSDateRef
3219
3238
+0.6%
0.99x (?)

ObjectiveCBridgeStubToNSString
1521
1520
-0.1%
1.00x (?)

ObjectiveCBridgeStubToNSStringRef
144
144
+0.0%
1.00x

ObjectiveCBridgeStubURLAppendPath
226278
223180
-1.4%
1.01x (?)

ObjectiveCBridgeStubURLAppendPathRef
222170
221854
-0.1%
1.00x (?)

ObjectiveCBridgeToNSArray
28664
29082
+1.5%
0.99x (?)

ObjectiveCBridgeToNSSet
40042
39315
-1.8%
1.02x (?)

ObjectiveCBridgeToNSString
1265
1307
+3.3%
0.97x

ObserverClosure
6351
6428
+1.2%
0.99x (?)

ObserverForwarderStruct
4563
4474
-2.0%
1.02x (?)

ObserverPartiallyAppliedMethod
7726
7850
+1.6%
0.98x (?)

ObserverUnappliedMethod
7999
8174
+2.2%
0.98x (?)

OpenClose
382
387
+1.3%
0.99x (?)

Phonebook
21988
22059
+0.3%
1.00x (?)

PolymorphicCalls
2872
2866
-0.2%
1.00x (?)

PopFrontArray
7465
7300
-2.2%
1.02x (?)

PopFrontArrayGeneric
6185
6341
+2.5%
0.98x (?)

PopFrontUnsafePointer
97340
97188
-0.2%
1.00x (?)

PrefixAnyCollection
20232
19921
-1.5%
1.02x (?)

PrefixAnyCollectionLazy
135260
136221
+0.7%
0.99x (?)

PrefixAnySeqCRangeIter
23792
23599
-0.8%
1.01x (?)

PrefixAnySeqCRangeIterLazy
24001
23286
-3.0%
1.03x

PrefixAnySeqCntRange
19600
19536
-0.3%
1.00x (?)

PrefixAnySeqCntRangeLazy
19508
19260
-1.3%
1.01x (?)

PrefixArray
6365
6223
-2.2%
1.02x (?)

PrefixArrayLazy
45063
45820
+1.7%
0.98x (?)

PrefixCountableRange
336
343
+2.1%
0.98x (?)

PrefixCountableRangeLazy
38464
38538
+0.2%
1.00x (?)

PrefixWhileAnyCollection
36558
36323
-0.6%
1.01x (?)

PrefixWhileAnyCollectionLazy
24026
23777
-1.0%
1.01x (?)

PrefixWhileAnySeqCRangeIter
40923
40468
-1.1%
1.01x

PrefixWhileAnySeqCRangeIterLazy
23613
23319
-1.2%
1.01x (?)

PrefixWhileAnySeqCntRange
37027
36377
-1.8%
1.02x

PrefixWhileAnySeqCntRangeLazy
23225
23576
+1.5%
0.99x (?)

PrefixWhileAnySequence
28694
29320
+2.2%
0.98x (?)

PrefixWhileAnySequenceLazy
11698
11253
-3.8%
1.04x (?)

PrefixWhileArrayLazy
14421
15064
+4.5%
0.96x

PrefixWhileCountableRange
17437
17329
-0.6%
1.01x (?)

PrefixWhileCountableRangeLazy
22770
23372
+2.6%
0.97x

PrefixWhileSequence
27706
28180
+1.7%
0.98x (?)

PrefixWhileSequenceLazy
10138
10301
+1.6%
0.98x (?)

Prims
9516
9448
-0.7%
1.01x (?)

ProtocolDispatch
6899
6907
+0.1%
1.00x (?)

ProtocolDispatch2
492
493
+0.2%
1.00x (?)

RC4
19724
19453
-1.4%
1.01x (?)

RGBHistogram
33354
32949
-1.2%
1.01x (?)

RGBHistogramOfObjects
95378
97324
+2.0%
0.98x (?)

RangeAssignment
5713
5714
+0.0%
1.00x (?)

RecursiveOwnedParameter
9136
9115
-0.2%
1.00x (?)

ReversedArray
41909
43740
+4.4%
0.96x

ReversedBidirectional
75306
73535
-2.4%
1.02x (?)

ReversedDictionary
25192
25921
+2.9%
0.97x

SetExclusiveOr
20867
21232
+1.7%
0.98x (?)

SetExclusiveOr_OfObjects
40440
40546
+0.3%
1.00x (?)

SetIntersect
10679
10498
-1.7%
1.02x (?)

SetIntersect_OfObjects
10968
11394
+3.9%
0.96x (?)

SetIsSubsetOf
1655
1628
-1.6%
1.02x (?)

SetIsSubsetOf_OfObjects
1477
1527
+3.4%
0.97x

SetUnion
11956
11778
-1.5%
1.02x (?)

SetUnion_OfObjects
28656
28920
+0.9%
0.99x (?)

SevenBoom
1555
1540
-1.0%
1.01x (?)

Sim2DArray
28402
28652
+0.9%
0.99x (?)

SortLargeExistentials
17159
17161
+0.0%
1.00x (?)

SortLettersInPlace
2791
2790
-0.0%
1.00x (?)

SortSortedStrings
1368
1376
+0.6%
0.99x (?)

SortStrings
2418
2484
+2.7%
0.97x (?)

SortStringsUnicode
8908
9147
+2.7%
0.97x (?)

StackPromo
100350
100883
+0.5%
0.99x (?)

StaticArray
4422
4506
+1.9%
0.98x

StrComplexWalk
6714
6828
+1.7%
0.98x (?)

StrToInt
97007
98606
+1.6%
0.98x (?)

StringAdder
48
46
-4.2%
1.04x

StringBuilder
7369
7139
-3.1%
1.03x

StringBuilderLong
1099
1113
+1.3%
0.99x (?)

StringEdits
514255
503453
-2.1%
1.02x (?)

StringEqualPointerComparison
9704
9668
-0.4%
1.00x (?)

StringFromLongWholeSubstring
15102
15154
+0.3%
1.00x (?)

StringFromLongWholeSubstringGeneric
254
253
-0.4%
1.00x (?)

StringHasPrefix
1681
1683
+0.1%
1.00x (?)

StringHasPrefixUnicode
16126
16647
+3.2%
0.97x (?)

StringHasSuffixUnicode
63418
63837
+0.7%
0.99x (?)

StringInterpolation
14545
14379
-1.1%
1.01x (?)

StringMatch
31629
31569
-0.2%
1.00x (?)

StringUTF16Builder
8194
8060
-1.6%
1.02x (?)

StringWalk
4211
4378
+4.0%
0.96x

SubstringFromLongString
165
170
+3.0%
0.97x

SubstringFromLongStringGeneric
372
373
+0.3%
1.00x (?)

SuffixAnyCollection
6508
6615
+1.6%
0.98x (?)

SuffixAnyCollectionLazy
45287
45697
+0.9%
0.99x (?)

SuffixAnySeqCRangeIter
41771
40404
-3.3%
1.03x (?)

SuffixAnySeqCntRange
6594
6519
-1.1%
1.01x

SuffixAnySeqCntRangeLazy
6446
6248
-3.1%
1.03x (?)

SuffixAnySequence
26429
26322
-0.4%
1.00x (?)

SuffixAnySequenceLazy
25492
25763
+1.1%
0.99x (?)

SuffixArrayLazy
15022
15084
+0.4%
1.00x (?)

SuffixCountableRange
118
118
+0.0%
1.00x

SuffixCountableRangeLazy
12846
12886
+0.3%
1.00x (?)

SuffixSequence
25798
26018
+0.9%
0.99x (?)

SuffixSequenceLazy
25935
25875
-0.2%
1.00x (?)

SuperChars
207850
206301
-0.7%
1.01x (?)

TwoSum
4263
4298
+0.8%
0.99x (?)

UTF8Decode
35163
35372
+0.6%
0.99x (?)

Walsh
11207
11218
+0.1%
1.00x (?)

XorLoop
22392
22398
+0.0%
1.00x (?)

**Hardware Overview**
      Model Name: Mac mini
      Model Identifier: Macmini7,1
      Processor Name: Intel Core i7
      Processor Speed: 3 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache (per Core): 256 KB
      L3 Cache: 4 MB
      Memory: 16 GB

What do you think, @dabrahams, @airspeedswift ?
This is second part of why I wanted to do #9639. I stumbled upon this, specifically _PrefixSequence wrapped in AnySequence to be insurmountable optimization barrier, while working on Swifty expression of Mandelbrot generator from Haskell. I'll try adding it as multi-source benchmark soon.

The improvements look really good. But I find your comment a little misleading. I think the fact that structs work in this case is because of the AnyWhateverBox (that holds a struct when it's wrapped into an AnySequence), which is a class, so there is only one instance of the _PrefixSequence and mutating next does not COW. Can someone please correct me? @dabrahams, @airspeedswift?

To the best of my understanding after performing git archeology deep dive:

The foundational reasoning behind current implementation from Jul 18 2015 by @bitjammer seems to be that The underlying generator's sequence may be infinite. That forces you to go with lazy implementation...

Note that @dabrahams introduced "the basis of the new lazy sequence
system" two weeks before that on Jul 1 2015, but the default implementations for dropFirst and prefix on Sequence doesn't take advantage of it and is done with internal classes instead, because new lazy system was still taking shape.

On Jul 13 2015 Dave added rudimentary LazySequenceProtocol but it took until Aug 1 2015 for the new lazy system to mature.

Now, all the lazy sequences (that implement protocol LazySequence) are implemented as structs. They don't care about the base having reference or value semantics. They all correctly implement protocol Sequence. What would be the reason for prefix and dropFirst to be special and require reference semantics?!?
My whole point as argued in largely ignored SE proposal for Sequence Cleanup is that current implementation with inner classes is a historic remnant, that should be cleaned up before ABI freeze in Swift 4. @airspeedswift told me that ...some implementation proof of concept showing performance or usability wins would be the best first step for something like this. So here I am with this PR and #9639, trying to get serious data.

@moiseev What is the case that you think wouldn't work properly without the AnySequence wrapper?  The only  difference in behavior that I can find looks like an improvement to me:
extension Sequence {
  func lazyDropFirst(_ n: Int = 1) -> _DropFirstSequence<Self.Iterator> {
    return _DropFirstSequence(_iterator: makeIterator(), limit: 3)
  }
}

let x = (0...10).lazyDropFirst()
print(Array(x)) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(Array(x)) // before: []   after: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

I'm inclined to accept.

BTW, just to be clear, I'm not proposing to merge this as is, but as one of inputs for passing Sequence Cleanup.

Why not merge it? Incremental development is better
Sent from my moss-covered three-handled family gradunza

On May 24, 2017, at 5:02 AM, Pavol Vaskovic<EMAIL_ADDRESS>wrote:
BTW, just to be clear, I'm not proposing to merge this as is

I would have thought that proper implementation of lazy Prefix and DropFirst should be patterned after @natecook1000's PrefixWhile.swift.gyb and DropWhile.swift.gyb. The inconsistency in implementation is what has drawn me into this whole thing in the first place. Also I fear it would make you less willing to proceed with the rest of the sequence cleanup I'm suggesting.
I'm suggesting this part of the code is so fundamental, and will be frozen in forever when ABI stability locks, that we should clean this up proper, instead of applying opportunistic optimizations.

Once there is an implementation precedence, there is a strong conservative incentive to follow the established pattern. That's why there's also non-lazy implementation of drop(while:) using inner class patterned after _DropFirstSequence and _PrefixSequence.
I'm coming from experience of the [collections rewrite in Scala 2.8](https://www.scala-lang.org/old/sites/default/files/sids/admin/Tue,%202010-07-20,%2010:39/collections.pdf) back in 2010. The result was IMHO beautiful. I'm not suggesting we go that far here, but given my impression of how ABI stability goal is freezing everything in the current stdlib implementation, I'm having very strong feelings about what gets mummified here. I would hate to read a book titled "Swift: The Good Parts" in a few years. Therefore I'm applying myself here, in the area I started my learning of Swift 3 years ago...

Will it be harder to "clean up proper" if we accept this?
A track record of successful, small, improvements only makes me more inclined to accept future contributions from you.
s/precedence/precedent/ (sorry for nitpicking; everybody gets that wrong and it bugs me)

@dabrahams Did my comment read like I am against it? I'm all :+1:, but just want to understand why. That's all.

@dabrahams I've fixed the unprecedented typo, thanks! 😬👍
You're right, technically speaking, accepting this does not prevent proper clean up. It just lowers the improvement delta of later changes, moving them more into esthetics territory. I fear those will then miss Swift 4 due to super-conservative nature of accepted changes this late in the release cycle.
Do you want me to fix the missing period at the end of comment sentence @xvu picked upon?

@moiseev I have struggled with understanding the original reasoning from @bitjammer's comment about the need for reference semantics. When I asked @airspeedswift about why it could be there, he offered example of file stream as underlying sequence. I guess the linchpin here is the internal func dropFirst on _DropFirstSequence and internal func prefix on _PrefixSequence:
 internal func dropFirst(_ n: Int) -> AnySequence<Base.Element> {
    // If this is already a _DropFirstSequence, we need to fold in
    // the current drop count and drop limit so no data is lost.
    //
    // i.e. [1,2,3,4].dropFirst(1).dropFirst(1) should be equivalent to
    // [1,2,3,4].dropFirst(2).
    return AnySequence(
      _DropFirstSequence(
        _iterator: _iterator, limit: _limit + n, dropped: _dropped))
  }

But this is where even the value types maintain proper references to reference types. When the underlying _iterator has reference semantics, the struct is doing proper reference counting for that variable, and when _DropFirstSequence gets copied, the _iterator will be passed by reference. If this were not the case, we would not be able to mix value and reference types at all. Therefore I don't think the correctness of this implementation depends on the fact that AnySequence is implemented as a class. Am I understanding and explaining this correctly, @dabrahams?

@palimondo sounds right to me.
I wrote:

Will it be harder to "clean up proper" if we accept this?
A track record of successful, small, improvements only makes me more inclined to accept future contributions from you.
s/precedence/precedent/ (sorry for nitpicking; everybody gets that wrong and it bugs me)

Max wrote:

Did my comment read like I am against it?

@moiseev I was addressing @palimondo with that comment

@dabrahams I know, I was replying to another one. Let's just merge it.

on Wed May 24 2017, Pavol Vaskovic <notifications-AT-github.com> wrote:

@dabrahams I've fixed the unprecedented typo, thanks! 😬👍
You're right, technically speaking, accepting this does not prevent
proper clean up. It just lowers the improvement delta of later
changes, moving them more into esthetics territory. I fear those will
then miss Swift 4 due to super-conservative nature of accepted changes
this late in the release cycle.

It truly doesn't matter whether aesthetic changes make it into Swift 4.
The main thing is that we want to get them into the codebase.  If they
are API changes there's little chance of getting them into Swift 4.

Do you want me to fix the missing period at the end of comment
sentence @xvu picked upon?

Yes please.
--
-Dave


fix: add brew unlink again

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

CircleCI Orb
GitHub release

Your semantic-release bot :package::rocket:


Enable retain runs.

Enable run retention when tag is applied to repo.

Related: https://github.com/Azure/azure-sdk/issues/1059


Certain tests cause segfaults on ROCArrays

The issue does not seem to be present on Array or CuArray and seems to be an issue in the following tests:
            layering_testsuite(ArrayType)
            chaos_testsuite(ArrayType)
            object_testsuite(ArrayType)

It could be because the gridsize is less than the number of threads being used? I thought that was taken care of in KA with the ndrange variable, but might be mistaken.
I am tracking this issue separately in case the segfault appears elsewhere.
Note: This can cause a system freeze if you are using the GPU for visualization as well.

Check out AMDGPU#jps/dev and see if it is fixed

This seems to be fixed as of #64


Use with Streaming (ChannelReader in the Backend)

Does this npm-package support streaming for signalr? We´re currently in the decision-making whether we to use streaming or events? As far as I can tell from your code, this package only supports events because there is no stream() function in use from the @microsoft/signalr package.
If you cannot yet support this, are there any plans for the future?
And if you support this, are there any examples that we can learn from?
Thanks in advance

Hi dear.
Yes, I will to support streaming.

Because this issue is have opened a long time ago, if it is steel needed from you, I will start to work on it.


Wahoo SYSTM Error: Cannot return null for non-nullable field CompletionData.name.

Hi, thank you very much for this helpful little tool. Since today I'm getting the following error: Wahoo SYSTM Error: Cannot return null for non-nullable field CompletionData.name.
I checked and rebuild the config file without success. Was there something changed on the Wahoo side?
Thank you

What workout did it report the error message on? I can check later this week, perhaps something changed with Wahoo now als adding support for outdoor rides in SYSTM.

@DennisSch81 did you manage to resolve this, or have any more details on what might've caused the issue so I can investigate further?

Hi Bakermat, I'm sorry at the moment I have no active subscription to test it...

No problem, I'll close the issue for now in that case.


Write docs

Open Questions:

[ ] How to learn psm?

Plutus simple model is also a Haskell library and is the one used in this course (PPP fourth cohort). It doesn't use the contract monad and is easier to use than emulator traces. A forthcoming lecture on testing will use "Plutus simple model" (as do the tests in the homeworks).
https://cardano.stackexchange.com/questions/9898/is-plutus-off-chain-code-relevant-for-testing/10935#10935

https://wiki.haskell.org/State_Monad

https://github.com/input-output-hk/plutus-pioneer-program/tree/fourth-iteration/code/Week06


Versioning and tags

Would it be possible to start creating releases/tags that we can us to control which version of junit2xml we are importing and using?

Sure, makes sense. Let's "projectize" this repo.
In theory, I'm using goreleaser for that, so creating the tag would do it 🤔


frost-radio

#fix#
#Fix #237

Rework radio button and radio group
Update documentation
Update tests
Update demo

could you update the PR description with the Changelog header so at least the changes are tracked in there.

:+1:


Check return value of Context.attach() in a more meaningful way.

In gRPC 1.14.0 Context.attach() is annotated with @CheckReturnValue. As @zhangkun83 mentioned in https://github.com/grpc/grpc-java/issues/4817#issuecomment-418396475, this is intended and we should check the returned value to verify attaching/detaching the context.
Currently we have a work around to pass the findBugs check (https://github.com/census-instrumentation/opencensus-java/pull/1404#discussion_r214448178). Consider changing the check in a more meaningful way.

To clarify, the returned object of attach() needs to be saved and later passed to detach() when exiting the scope of the context.

Already fixed.


The HTML..

Like..
Anyways, I might try to fix this in my fork.

What's wrong with it?

@liam4 What's wrong with it?

..Everything? :P
Did you convert to HTML from a rich text document somewhere?

Indentation = terrible, <script>s and <link>s all over the place, closing tags are all in the wrong places, etc.

:P I didn't convert from a rich text file. I just write horrible html code. Whenever I needed a script tag, I would just put it in the closest spot. Please fix it :package:

What is even this code?
    var qs = (function(a) {
    if (a == "") return {};
    var b = {};
    for (var i = 0; i < a.length; ++i)
    {
        var p=a[i].split('=', 2);
        if (p.length == 1)
            b[p[0]] = "";
        else
            b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
    }
    return b;
})(window.location.search.substr(1).split('&'));
projectId=qs["url"]
projectId = projectId.replace("://scratch.mit.edu/projects/", "").replace("https", "").replace("http", "");
  projectId = parseInt(projectId);
  if(isNaN(projectId)){
    var myCodeMirror = CodeMirror(document.body, {
    value: "ERROR: INVALID URL",
    mode:  "javascript"
  });
  }
  var myCodeMirror
  window.onload = function() {
    fetch("https://crossorigin.me/https://cdn.projects.scratch.mit.edu/internalapi/project/"+projectId+"/get/")
  .then(function(response) {
    response.text().then(function(text) {
        myCodeMirror = CodeMirror(codemirroreditor, {
        value: text,
        mode:  {name: "javascript", json: true},
      });
myCodeMirror.setSize("100%", "100%")
    });
  })
}

:P

:P Do you actually want me to explain what that does? When you (or I) fix the code, I'll add comments

I'm doing a little html fixing. You might want to merge.

You really should merge...

Major html changes, inline js

More major changes

@liam4 You should really make a pull with your changes. I'll accept


aws/flatcar-linux cluster has unhealthy targets

Description
once craeted a cluster using
module "bruvio" {
  source = "git::https://github.com/poseidon/typhoon//aws/flatcar-linux/kubernetes?ref=v1.31.0"

  cluster_name       = var.cluster_name
  dns_zone           = var.dns_zone
  dns_zone_id        = var.dns_zone_id
  ssh_authorized_key = var.ssh_authorized_key

  # optional
  host_cidr             = "<IP_ADDRESS>/16"
  controller_count      = 1
  worker_count          = 2
  worker_node_labels = ["worker"]
}

resource "local_file" "kubeconfig-bruvio" {
  content  = module.bruvio.kubeconfig-admin
  filename = "bruvio-config"
}

i see that the health checks on the workers target group all fail, so traffic is not routed to the pod.
I can ssh into the worker and i see the service (a simple nginx pod) runs fine.
If I open the port assigned by the cp in the security group of the worker and curl the public ip of the instance the service works.
A clear and concise description of what the bug is.
Steps to Reproduce
Provide clear steps to reproduce the bug.

[x] Explored using a vanilla cluster from the tutorials. Ruled out customizations.

Expected behavior
A clear and concise description of what you expected to happen.
Environment

Platform: aws
OS: flatcar-linux
Release: Typhoon version 1.31.0
Terraform: 1.8.4
Plugins:
├── provider[registry.terraform.io/hashicorp/aws] 5.46.0
├── provider[registry.terraform.io/hashicorp/local]
├── provider[registry.terraform.io/poseidon/ct] 0.13.0
└── module.bruvio
├── provider[registry.terraform.io/hashicorp/null] >= 2.1.0
├── provider[registry.terraform.io/poseidon/ct] ~> 0.13
├── provider[registry.terraform.io/hashicorp/aws] >= 2.23.0, <= 6.0.0
├── module.bootstrap
│   ├── provider[registry.terraform.io/hashicorp/random] ~> 3.1
│   └── provider[registry.terraform.io/hashicorp/tls] ~> 4.0
└── module.workers
├── provider[registry.terraform.io/hashicorp/aws] >= 2.23.0, <= 6.0.0
└── provider[registry.terraform.io/poseidon/ct] ~> 0.13

This is expected, independent of OS and platform.
The LB is setup to health check workers so it can be used with an ingress controller of your choice (if you wish). If you want to use this feature, any worker that runs an ingress controller to satisfy the GET 10254 /healthz check can serve ingress 80/443 traffic.
It's up to you to choose an ingress controller and deploy it to the cluster. Out of the box, the load balancer won't send 80/443 traffic to workers without an ingress controller, but that doesn't affect anything unless you're choosing to set it up. For tips on adding the Nginx Ingress controller (if that's your preference) the docs provide some example manifests. https://github.com/poseidon/typhoon/tree/main/addons/nginx-ingress/aws
https://typhoon.psdn.io/architecture/aws/
https://typhoon.psdn.io/addons/ingress/


roc test all builtins

We only used to test Dict.roc and Str.roc before

Thanks @brian-carroll :)


[Alert Manager] Test case preparation for alert manager scenarios

Issue/Feature Description:
Test case document to be prepared for alert manager scenarios
Why this issue to fixed / feature is needed(give scenarios or use cases):
Test case document to be prepared for alert manager scenarios
How to reproduce, in case of a bug:
Other Notes /  Environment Information: (Please give the env information, log link or any useful information for this issue)

Testcase preparation, review, rework completed


plugins/copilot: switch to from copilot.vim to copilot.lua

This PR adds the support of the copilot.lua while keeping the support for the previously used copilot.vim.
Fixes #437.

I'm not really in favour of desiging the copilot.vim plugin as "legacy", as is it is maintained under github, and as such would be a better "source of truth".
I'd rather either rather:

Package copilot.lua as copilot-lua and leave copilot as copilot.vim
Rename the current copilot as copilot-vim and make copilot the copilot.lua implementation
Rename the current copilot as copilot-vim and implement this as copilot-lua (I think this is the clearest option).

I don't think nixvim should be opinionated on what is the "best" plugin, it should be a simple mapping from Nix to lua/vim configurations.
If we want something more opinionated I think we can have another module system upon nixvim that would act like a distrubution, you could imagine something ala LunarNixVim.

I'm not really in favour of desiging the copilot.vim plugin as "legacy", as is it is maintained under github, and as such would be a better "source of truth".
I'd rather either rather:
* Package copilot.lua as `copilot-lua` and leave `copilot` as `copilot.vim`

* Rename the current copilot as `copilot-vim` and make `copilot` the copilot.lua implementation

* Rename the current copilot as `copilot-vim` and implement this as `copilot-lua` (I think this is the clearest option).

I don't think nixvim should be opinionated on what is the "best" plugin, it should be a simple mapping from Nix to lua/vim configurations.
If we want something more opinionated I think we can have another module system upon nixvim that would act like a distrubution, you could imagine something ala LunarNixVim.

After a bit of thinking I came to the same conclusion and now agree with your comment.
I went with your recommended solution (the third one) as it is indeed the most logical one.


Incorrect conversion to pixel formats RGB24 and RGB48 under some common conditions.

Conversion to RGBS is not affected, even if conversion happens from RGB24 or RGB48. Using high precision YUV as an intermediate seems to be able to mitigate the issue. Also, conversion from RGB48 to RGB24 is interestingly correct (maybe just because the error is quantized away), but the other way around, from RGB24 to RGB48, the conversion is incorrect, although that error is small enough to not survive quantization back to RGB24. Conversion to RGB48 or RGB24 from RGBS is incorrect.
Using error diffusion dither did not mitigate the issue.
This appears to be an issue inherited from swscale.
The error was indiscernible to me on the images I've tried. The error is largest for conversion from RGBS to RGB24.
I used ImageMagick as reference. But the fact that a zimg conversion from RGB24 to RGBS back to RGB24 is lossy, is proof that there is definitely something wrong with zimg:
ffmpeg -i rgb24.png -vf zscale,format=gbrpf32le,zscale,format=rgb24 distorted.png
This command will produce an output not pixel-perfect to the input.

You must add 'format=gbrp16le' after 'zscale'. Otherwise, FFmpeg instructs z.lib to perform a no-op conversion from YUV to YUV, and instead uses its internal code (swscale) to convert to RGB24.
See https://trac.ffmpeg.org/ticket/8034

Using high precision YUV as an intermediate seems to be able to mitigate the issue

That phrase makes no sense. 8 bit YCbCr is not enough to preserve RGB24, you need 9.5 bit YCbCr.
What is the mistake when you got from RGB24 to RGB48?

gbrpf32le

It is quite hard to get float format like that correctly, I do not think ffmpeg does.

You must add 'format=gbrp16le' after 'zscale'. Otherwise, FFmpeg instructs z.lib to perform a no-op conversion from YUV to YUV, and instead uses its internal code (swscale) to convert to RGB24.
See https://trac.ffmpeg.org/ticket/8034

Using high precision YUV as an intermediate seems to be able to mitigate the issue

That phrase makes no sense. 8 bit YCbCr is not enough to preserve RGB24, you need 9.5 bit YCbCr.
Yes, that's, why I said high precision, I used 16-bit.

What is the mistake when you got from RGB24 to RGB48?

gbrpf32le

It is quite hard to get float format like that correctly, I do not think ffmpeg does.

The output is also incorrect when going directly from RGB24 to RGB48, according to ImageMagick anyway.
Does zimg really not support 32-bit float as output, so swscale has to take over in FFmpeg? Why not? That's hard to believe. It definitely supports it as input... And I do not see how it would be hard to get the RGB24 to 32-bit float conversion correct. Actually, I am convinced that the RGB24 to 32-bit float conversion is done with no significant distortion, if any at all, because ffmpeg -i rgb24.png -vf zscale,format=gbrpf32le,zscale=matrix=1,format=yuv444p16le,zscale,format=rgb24 out.png produces a pixel-perfect output.

And I do not see how it would be hard to get the RGB24 to 32-bit float conversion correct

Each of those conversions you talk about had or still have bugs in the past, float or integer, matrix or primaries or chroma siting.
Here is this, and author was complaining there is still big error after he fixed it.

These are floating points scaled to 16-bit values.
Even with my patch, I'm kinda disturbed how much error there is.

<EMAIL_ADDRESS>I am asking you to give some hex values where the issue is conpared to imagemagick.

The logic of when to use z.lib vs swscale is within FFmpeg. This case is sent to swscale, because the formats are not planar.

Nice, known bug: https://trac.ffmpeg.org/ticket/7978#comment:14

Thanks, that is some crucial information.
Sticking to planar formats (gbrp/gbrp16) in FFmpeg indeed solves this. Very nice.


chore: remove refs to deprecated io/ioutil

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

this should be resolved now in #681 cc @nnmin-aws

this should be resolved now in #681 cc @nnmin-aws

can i close this since it has been resolved by #681

yes!


When using the /imagine command, it receives the /setting command

the code that reproduces this issue or a replay of the bug
The message is: Adjust your settings here. Current suffix:
Describe the bug
When using the /imagine command, it receives the /setting command
error log
imagine start:  girl, 18 years old, student, seaside, girl, white dress, sunshine, light, 35mm focal length, angle, natural light, bright, soft, minimalist, clear subject, captured with a half-body lens.
--ar 9:16 --v 5
open.time 0 2023-08-11T05:23:33.028Z
event READY 2023-08-11T05:23:35.397Z
🎊 ws ready!!! Hi: null
event READY_SUPPLEMENTAL 2023-08-11T05:23:35.400Z
open.time 1 2023-08-11T05:23:35.652Z
event READY 2023-08-11T05:23:37.872Z
event READY_SUPPLEMENTAL 2023-08-11T05:23:37.874Z
open.time 2 2023-08-11T05:23:38.140Z
event READY 2023-08-11T05:23:40.065Z
event READY_SUPPLEMENTAL 2023-08-11T05:23:40.071Z
open.time 3 2023-08-11T05:23:40.323Z
heartbeat 0 2023-08-11T05:23:50.325Z
heartbeat 1 2023-08-11T05:24:30.326Z
heartbeat 2 2023-08-11T05:25:10.327Z
heartbeat 3 2023-08-11T05:25:50.331Z
heartbeat 4 2023-08-11T05:26:30.332Z
heartbeat 5 2023-08-11T05:27:10.333Z

Try it out
await client.init();
await Sleep(3000);
client.Imagine()

Use Connect() method instead of client.init() because init() always calls Settings()


 Only necessary if the answer is a reference (e.g., object,
[2021-11-10T06:53:08.174Z]             list, map)
[2021-11-10T06:53:08.174Z]         :param target_id: the name of the object from which the answer comes from
[2021-11-10T06:53:08.174Z]             (e.g., *object1* in `object1.hello()`). Optional.
[2021-11-10T06:53:08.174Z]         :param name: the name of the member from which the answer comes from
[2021-11-10T06:53:08.174Z]             (e.g., *hello* in `object1.hello()`). Optional.
[2021-11-10T06:53:08.174Z]         """
[2021-11-10T06:53:08.174Z]         if is_error(answer)[0]:
[2021-11-10T06:53:08.174Z]             if len(answer) > 1:
[2021-11-10T06:53:08.174Z]                 type = answer[1]
[2021-11-10T06:53:08.174Z]                 value = OUTPUT_CONVERTER[type](answer[2:], gateway_client)
[2021-11-10T06:53:08.174Z]                 if answer[1] == REFERENCE_TYPE:
[2021-11-10T06:53:08.174Z] >                   raise Py4JJavaError(
[2021-11-10T06:53:08.174Z]                         "An error occurred while calling {0}{1}{2}.\n".
[2021-11-10T06:53:08.174Z]                         format(target_id, ".", name), value)
[2021-11-10T06:53:08.174Z]                    py4j.protocol.Py4JJavaError: An error occurred while calling o499859.collectToPython.
[2021-11-10T06:53:08.174Z]                    : org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 14363.0 failed 1 times, most recent failure: Lost task 1.0 in stage 14363.0 (TID 56503) (ip-10-59-180-78.us-west-2.compute.internal executor driver): ai.rapids.cudf.CudfException: cuDF failure at: /home/jenkins/agent/workspace/jenkins-cudf_nightly-dev-github-518-cuda11/cpp/src/io/parquet/reader_impl.cu:386: Found no metadata for schema index
[2021-11-10T06:53:08.174Z]                    	at ai.rapids.cudf.Table.readParquet(Native Method)
[2021-11-10T06:53:08.174Z]                    	at ai.rapids.cudf.Table.readParquet(Table.java:862)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.$anonfun$readToTable$1(GpuParquetScanBase.scala:1491)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.FilePartitionReaderBase.withResource(GpuMultiFileReader.scala:236)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.readToTable(GpuParquetScanBase.scala:1490)
[2021-11-10T06:53:08.174Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.$anonfun$readBatch$1(GpuParquetScanBase.scala:1451)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.FilePartitionReaderBase.withResource(GpuMultiFileReader.scala:236)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.readBatch(GpuParquetScanBase.scala:1439)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.next(GpuParquetScanBase.scala:1424)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.PartitionReaderWithBytesRead.next(GpuDataSourceRDD.scala:94)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarPartitionReaderWithPartitionValues.next(ColumnarPartitionReaderWithPartitionValues.scala:36)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.sql.execution.datasources.v2.PartitionedFileReader.next(FilePartitionReaderFactory.scala:54)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.sql.execution.datasources.v2.FilePartitionReader.next(FilePartitionReader.scala:67)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.PartitionIterator.hasNext(GpuDataSourceRDD.scala:61)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.MetricsBatchIterator.hasNext(GpuDataSourceRDD.scala:78)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
[2021-11-10T06:53:08.175Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.175Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.$anonfun$fetchNextBatch$2(GpuColumnarToRowExec.scala:223)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.withResource(GpuColumnarToRowExec.scala:178)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.fetchNextBatch(GpuColumnarToRowExec.scala:222)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.loadNextBatch(GpuColumnarToRowExec.scala:199)
[2021-11-10T06:53:08.175Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.hasNext(GpuColumnarToRowExec.scala:239)
[2021-11-10T06:53:08.175Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.sql.execution.collect.UnsafeRowBatchUtils$.encodeUnsafeRows(UnsafeRowBatchUtils.scala:80)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.sql.execution.collect.Collector.$anonfun$processFunc$1(Collector.scala:178)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$3(ResultTask.scala:75)
[2021-11-10T06:53:08.175Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$1(ResultTask.scala:75)
[2021-11-10T06:53:08.175Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:55)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.Task.doRunTask(Task.scala:150)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.Task.$anonfun$run$1(Task.scala:119)
[2021-11-10T06:53:08.175Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.scheduler.Task.run(Task.scala:91)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$13(Executor.scala:813)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1605)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:816)
[2021-11-10T06:53:08.175Z]                    	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[2021-11-10T06:53:08.175Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.175Z]                    	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:672)
[2021-11-10T06:53:08.175Z]                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[2021-11-10T06:53:08.175Z]                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[2021-11-10T06:53:08.176Z]                    	at java.lang.Thread.run(Thread.java:748)
[2021-11-10T06:53:08.176Z]
[2021-11-10T06:53:08.176Z]                    Driver stacktrace:
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2828)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2775)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:2769)
[2021-11-10T06:53:08.176Z]                    	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
[2021-11-10T06:53:08.176Z]                    	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
[2021-11-10T06:53:08.176Z]                    	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:2769)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1305)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1305)
[2021-11-10T06:53:08.176Z]                    	at scala.Option.foreach(Option.scala:407)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1305)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:3036)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2977)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2965)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:1067)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.SparkContext.runJobInternal(SparkContext.scala:2476)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.Collector.runSparkJobs(Collector.scala:264)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.Collector.collect(Collector.scala:299)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.Collector$.collect(Collector.scala:82)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.Collector$.collect(Collector.scala:88)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.InternalRowFormat$.collect(cachedSparkResults.scala:75)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.collect.InternalRowFormat$.collect(cachedSparkResults.scala:62)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.ResultCacheManager.$anonfun$getOrComputeResultInternal$1(ResultCacheManager.scala:512)
[2021-11-10T06:53:08.176Z]                    	at scala.Option.getOrElse(Option.scala:189)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.ResultCacheManager.getOrComputeResultInternal(ResultCacheManager.scala:511)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.ResultCacheManager.getOrComputeResult(ResultCacheManager.scala:399)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.ResultCacheManager.getOrComputeResult(ResultCacheManager.scala:374)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.SparkPlan.executeCollectResult(SparkPlan.scala:406)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.Dataset.$anonfun$collectToPython$1(Dataset.scala:3613)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.Dataset.$anonfun$withAction$1(Dataset.scala:3825)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withCustomExecutionEnv$5(SQLExecution.scala:130)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:273)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withCustomExecutionEnv$1(SQLExecution.scala:104)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:854)
[2021-11-10T06:53:08.176Z]                    	at org.apache.spark.sql.execution.SQLExecution$.withCustomExecutionEnv(SQLExecution.scala:77)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:223)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3823)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.sql.Dataset.collectToPython(Dataset.scala:3611)
[2021-11-10T06:53:08.177Z]                    	at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
[2021-11-10T06:53:08.177Z]                    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2021-11-10T06:53:08.177Z]                    	at java.lang.reflect.Method.invoke(Method.java:498)
[2021-11-10T06:53:08.177Z]                    	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
[2021-11-10T06:53:08.177Z]                    	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:380)
[2021-11-10T06:53:08.177Z]                    	at py4j.Gateway.invoke(Gateway.java:295)
[2021-11-10T06:53:08.177Z]                    	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
[2021-11-10T06:53:08.177Z]                    	at py4j.commands.CallCommand.execute(CallCommand.java:79)
[2021-11-10T06:53:08.177Z]                    	at py4j.GatewayConnection.run(GatewayConnection.java:251)
[2021-11-10T06:53:08.177Z]                    	at java.lang.Thread.run(Thread.java:748)
[2021-11-10T06:53:08.177Z]                    Caused by: ai.rapids.cudf.CudfException: cuDF failure at: /home/jenkins/agent/workspace/jenkins-cudf_nightly-dev-github-518-cuda11/cpp/src/io/parquet/reader_impl.cu:386: Found no metadata for schema index
[2021-11-10T06:53:08.177Z]                    	at ai.rapids.cudf.Table.readParquet(Native Method)
[2021-11-10T06:53:08.177Z]                    	at ai.rapids.cudf.Table.readParquet(Table.java:862)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.$anonfun$readToTable$1(GpuParquetScanBase.scala:1491)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.FilePartitionReaderBase.withResource(GpuMultiFileReader.scala:236)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.readToTable(GpuParquetScanBase.scala:1490)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.$anonfun$readBatch$1(GpuParquetScanBase.scala:1451)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.FilePartitionReaderBase.withResource(GpuMultiFileReader.scala:236)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.readBatch(GpuParquetScanBase.scala:1439)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ParquetPartitionReader.next(GpuParquetScanBase.scala:1424)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.PartitionReaderWithBytesRead.next(GpuDataSourceRDD.scala:94)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ColumnarPartitionReaderWithPartitionValues.next(ColumnarPartitionReaderWithPartitionValues.scala:36)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.sql.execution.datasources.v2.PartitionedFileReader.next(FilePartitionReaderFactory.scala:54)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.sql.execution.datasources.v2.FilePartitionReader.next(FilePartitionReader.scala:67)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.PartitionIterator.hasNext(GpuDataSourceRDD.scala:61)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.MetricsBatchIterator.hasNext(GpuDataSourceRDD.scala:78)
[2021-11-10T06:53:08.177Z]                    	at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
[2021-11-10T06:53:08.177Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.177Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.$anonfun$fetchNextBatch$2(GpuColumnarToRowExec.scala:223)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
[2021-11-10T06:53:08.177Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.withResource(GpuColumnarToRowExec.scala:178)
[2021-11-10T06:53:08.178Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.fetchNextBatch(GpuColumnarToRowExec.scala:222)
[2021-11-10T06:53:08.178Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.loadNextBatch(GpuColumnarToRowExec.scala:199)
[2021-11-10T06:53:08.178Z]                    	at com.nvidia.spark.rapids.ColumnarToRowIterator.hasNext(GpuColumnarToRowExec.scala:239)
[2021-11-10T06:53:08.178Z]                    	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.sql.execution.collect.UnsafeRowBatchUtils$.encodeUnsafeRows(UnsafeRowBatchUtils.scala:80)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.sql.execution.collect.Collector.$anonfun$processFunc$1(Collector.scala:178)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$3(ResultTask.scala:75)
[2021-11-10T06:53:08.178Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$1(ResultTask.scala:75)
[2021-11-10T06:53:08.178Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:55)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.Task.doRunTask(Task.scala:150)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.Task.$anonfun$run$1(Task.scala:119)
[2021-11-10T06:53:08.178Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.scheduler.Task.run(Task.scala:91)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$13(Executor.scala:813)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1605)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:816)
[2021-11-10T06:53:08.178Z]                    	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[2021-11-10T06:53:08.178Z]                    	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
[2021-11-10T06:53:08.178Z]                    	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:672)
[2021-11-10T06:53:08.178Z]                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[2021-11-10T06:53:08.178Z]                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[2021-11-10T06:53:08.178Z]                    	... 1 more
[2021-11-10T06:53:08.178Z]
[2021-11-10T06:53:08.178Z] /databricks/spark/python/lib/py4j-0.10.9-src.zip/py4j/protocol.py:326: Py4JJavaError
[2021-11-10T06:53:08.178Z] ----------------------------- Captured stdout call -----------------------------
.....
2021-11-10T06:53:08.875Z] =========================== short test summary info ============================
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs0-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['STRUCT', Struct(['case_INSENsitive', Long])]]]
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs0-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['struct', Struct(['CASE_INSENSITIVE', Long])]]]
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs0-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['stRUct', Struct(['CASE_INSENSITIVE', Long])]]]
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs1-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['STRUCT', Struct(['case_INSENsitive', Long])]]]
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs1-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['struct', Struct(['CASE_INSENSITIVE', Long])]]]
[2021-11-10T06:53:08.875Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs1-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['stRUct', Struct(['CASE_INSENSITIVE', Long])]]]
[2021-11-10T06:53:08.876Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs2-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3', Short])]]-[['STRUCT', Struct(['case_INSENsitive', Long])]]]
[2021-11-10T06:53:08.876Z] FAILED ../../src/main/python/parquet_test.py::test_nested_pruning_and_case_insensitive[true--reader_confs2-[['struct', Struct(['c_1', String],['case_insensitive', Long],['c_3',
14:53:09  = 36 failed, 10781 passed, 136 skipped, 404 xfailed, 156 xpassed, 76 warnings in 6261.85s (1:44:21) =

Steps/Code to reproduce bug
Build rapids-4-spark and run IT on Databricks 9.1 ML spark-3.1.2
Environment details (please complete the following information)

Environment location: [Local spark, Databricks 9.1ML spark-3.1.2]

@wbo4958  Does #3982 related to this issue?

@wbo4958  parquet tests only failed on DB9.1,
tests PASS on DB7.3/DB8.2 and other non-DB environments

Looks like 9.1 runtime has changed the API "ParquetReadSupport.clipParquetSchema" which result in different result

For DB 9.1 3.1.2 runtime

 clippedSchemaTmp:message spark_schema {
  optional group STRUCT {
    optional int64 case_INSENsitive;
  }
}

spark 3.1.2

 clippedSchemaTmp:message spark_schema {
  optional group struct {
    optional int64 case_insensitive;
  }
}

will continue check tomorrow

"ParquetReadSupport.clipParquetSchema" in DB9.1 will return the same name with readDataSchema instead of parquet file schema which will result clipBlocks return empty ColumnChunkMetaData. So issue happened


OpenXR doesn't support acceleration and angularAcceleration

Hi,
Hardware providers rely more and more on OpenXR. However, OpenXR does not support acceleration and angularAcceleration input (not velocity derived), which are, as position and orientation, key inputs of XR devices and tha are available for many headset products on the market. Accelerations and AngularAccelerations are the only vectors which are available when the handler are not visible by the headset. As such, they allow for the estimation of the movement when the disappearance of the handlers are momentary.
Would it be possible to add a feature to get the instant acceleration and angular acceleration from the devices ? This lack is a major issue since, at the present time, there is no other way to get this informations.
Best Regards
**

**

The runtime is expected to use acceleration data itself to perform the tracking for the app. We do not want to delegate dead-reckoning tracking to the application because there are far too many ways to get it subtly wrong, among other reasons. Do you have any other use cases besides handling degraded tracking quality?

Dear all,
Not being a member of KhronosGroup, I will be unable to follow the issue. First of all, I want to thank you for your massive work for VR.
Summary: linear and angular accelerations a precious data for the reconstruction of the handler movement from the moment it becomes undetected and maybe also for the solving of the motion sickness issue.
Please let me explain why linear and angular accelerations are in my humble opinion precious data :

First of all, headset without external captors for handler detection and location are the most popular products. For these types of product, as soon as the handler is out of the FOV of the detection and location cameras, position and velocity are lost, and will only be available when (for the position) and 1 frame after (for the velocity) the redetection of the handler.
Consequently, all the gesture information meanwhile is lost and the first velocity value is at best (0,0,0), and in the worst case completely "random" (what is the case for the Meta Quest 1, 2 & 3)
The only information that remains valid when the handers are invisible is the handler acceleration (linear and angular). They allow for the reconstruction of all the gesture during the handler non detection time interval. This reconstruction is crucial for the following types of games (non exhaustive list):
   a) FPS when you want to throw a grenade
   b) Ball sport games   c) Games requiring large gesture identification.   etc.

For solving the motion sickness issue, two types of values are of importance : the velocity of the avatar versus the scenery, which indicates the discrepancies between the eye and the inner ear, and the headset instant acceleration and angular acceleration, which informs on the inner ear perturbation.
Therefore, acceleration is more invaluable than it seems. Several projects of mine are blocked due to the "disappearance" of accelerations, since they work only on Unity until 2020 and Unreal Engine until 4.27. This represents years of work. I thought the "loss" of acceleration was a bug to be corrected, while it was a design choice for OpenXR and the result of the (otherwise beneficial) standardization of VR, AR and MR sofware through OpenXR choice.
I deeply and sincerely hope you will consider the inclusion of acceleration into OpenXR. Would it be possible to be have news of the issue when you have reached a decision?

Best Regards,
Renaud Maroy
Note : I am an scientist in applied mathematics working on tools for game developers that would allow them to develop games that are impossible or difficult to develop right now.
Le jeudi 26 septembre 2024 à 17:40:55 UTC+2, rpavlik-bot<EMAIL_ADDRESS>a écrit :

An issue (number 2373) has been filed to correspond to this issue in the internal Khronos GitLab (Khronos members only: KHR:openxr/openxr#2373 ), to facilitate working group processes.
This GitHub issue will continue to be the main site of discussion.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

"We do not want to delegate dead-reckoning tracking to the application because there are far too many ways to get it subtly wrong, among other reasons. So it is a conscious decision to not expose it to the application"
I understand your concern and your decision. Could it be possible not to expose accelerations as default, but to allow acceleration to be retrieved if specially needed, what is my case. I'm blocked in previous versions of UE and Unity, when accelerations were available.

My other use cases are:

I can't throw a ball in my sport game if the ball is detected by the camera during all the gesture (and it rarely is), so the game I develop is considerably degraded to the point I wonder if I'd better abandon it. It works admirably with the acceleration, with a gesture as natural as in real life.
Same problem with grenade throw for an FPS game
I can not identify correctly a "cut" combat gesture in my sword combat game (I am an expert in modern era fencing) for the opponent to react efficiently (with a minimum of anticipation)
I can not detect efficiently if the user is experiencing motion sickness when he turns the head while moving in the virtual environment