Skip to content
This repository was archived by the owner on Aug 2, 2023. It is now read-only.

Conversation

TylerBrinkley
Copy link
Contributor

Closes #446

@ahsonkhan
Copy link
Contributor

https://ci.dot.net/job/dotnet_corefxlab/job/master/job/osx10.12_debug_prtest/2898/consoleFull#-21145193672d31e50d-1517-49fc-92b3-2ca637122019

[xUnit.net 00:00:05.0944042]     System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory [FAIL]
06:17:22 [xUnit.net 00:00:05.1003895]     System.Text.JsonLab.Tests.JsonReaderStreamTests.StreamTokenSizeOverflow [SKIP]
06:17:22 [xUnit.net 00:00:05.1008299]     System.Text.JsonLab.Tests.ReadFromPipeTests.ReadFromPipeUsingSpan [SKIP]
06:17:22 Skipped  System.Text.JsonLab.Tests.JsonParserTests.ReadJsonSpecialStrings
06:17:22 Failed   System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory
06:17:22 Error Message:
06:17:22  System.AggregateException : One or more errors occurred. ('{' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: 0 | BytePositionInLine: 160.)
06:17:22 ---- System.Text.Json.JsonReaderException : '{' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: 0 | BytePositionInLine: 160.
06:17:22 Stack Trace:
06:17:22    at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
06:17:22    at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout)
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory() in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 91
06:17:22 ----- Inner Stack Trace -----
06:17:22    at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
06:17:22    at System.Text.Json.Utf8JsonReader.ConsumeNextToken(Byte marker)
06:17:22    at System.Text.Json.Utf8JsonReader.ConsumeNextTokenOrRollback(Byte marker)
06:17:22    at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
06:17:22    at System.Text.Json.Utf8JsonReader.Read()
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.ProcessData(ReadOnlySequence`1 ros, Boolean isFinalBlock, JsonReaderState state) in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 181
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.<>c__DisplayClass6_0.<<WriteToPipeUsingMemory>b__0>d.MoveNext() in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 68
06:17:22 Skipped  System.Text.JsonLab.Tests.JsonReaderStreamTests.StreamTokenSizeOverflow
06:17:22 Skipped  System.Text.JsonLab.Tests.ReadFromPipeTests.ReadFromPipeUsingSpan
06:19:21 
06:19:21

I have seen tests like this (using JsonReader within async and pipes) fail intermittently on OSX. I will try to repro locally and see what's going on when I get some time. In the meantime, I will disable it.

[Fact(Skip = "This needs to be fixed and re-enabled or removed. Fails specficially on Unix.")]

@ahsonkhan
Copy link
Contributor

@dotnet-bot test Innerloop OSX10.12 Debug Build and Test

@danmoseley
Copy link
Member

This will need careful review, it might take a bit of time to get to.

@sdcb
Copy link

sdcb commented May 29, 2019

@danmosemsft Do we have any good news on this? Can't wait to have BiDictionary now :)

@TylerBrinkley
Copy link
Contributor Author

@danmosemsft Is corefxlab able to consume C#8 yet or will that have to wait until after .NET Core 3 is released? Just wondering if I should update this PR for nullable references.

@Symbai
Copy link

Symbai commented Dec 3, 2019

Any update on this?

@gfoidl gfoidl mentioned this pull request Dec 3, 2019
@danmoseley
Copy link
Member

with respect to C#8, @pgovind was working on the infra in this repo and can answer that.

@pgovind , perhaps this is something you can help shepherd? You may have feedback on the API but being in corefxlab it does not go through the .NET API approvals process.

More generally, I know we (continue to do) a less than great job at helping build a set of "non core collections". I'm exploring a possible new approach. Meantime, we can keep doing it here.

@sdcb
Copy link

sdcb commented Dec 4, 2019

@danmosemsft I copied related the code and published a (temp) nuget package: https://github.com/sdcb/Sdcb.Collections NuGet

Hope it helps :)

@safern
Copy link
Member

safern commented Dec 5, 2019

Once this is merged: #2795 we will be able to have a new enough compiler so that we set LangVersion to 8 or latest.

@Symbai
Copy link

Symbai commented Dec 5, 2019

Would it be possible to also add the thread-safe concurrent version of it? In relation to ConcurrentDirectionary / Dictionary.

@TylerBrinkley
Copy link
Contributor Author

@Symbai I'm afraid that's beyond my current area of expertise and would require someone else with far greater concurrency knowledge than myself.

@TylerBrinkley
Copy link
Contributor Author

@danmosemsft Is this experimental collections package dead?

@danmoseley
Copy link
Member

danmoseley commented Jul 28, 2020

@TylerBrinkley no, but we have been fully occupied with work on .NET 5.0: realistically, reviewing/designing/implementing collections API is expensive and it's always going to contend for our resources vs other product work, unfortunately. As mentioned before, it would be great to find a model for collections that would allow the community to move more quickly, but still have the attributes of reliability and trustworthiness.

One possibility we've discussed in the past is for several community members to create and own a project for it, which would aspire to be within the dotnet foundation ("dotnet/collections" perhaps?). So it wouldn't be owned by the .NET Libraries team, but would aim to be the de-facto, trustworthy collections package - the primary place that the .NET team would point folks to. Depending on how things pan out, I could imagine the collections in this repo potentially migrating there to start things off. With the right set of folks interested in running such a project, we could potentially help with the conversation with the DNF as well. I expect we would sometimes offer PR's there, too.

I don't know whether that's an idea that resonates with folks.

@danmoseley
Copy link
Member

BTW, I apologize for not being more responsive. I think this illustrates we haven't found the right model to operate at a reasonable pace here (having tried two models -- working directly in the product, and working here in corefxlab)

@safern
Copy link
Member

safern commented Jul 28, 2020

cc: @layomia @eiriktsarpalis

@TylerBrinkley
Copy link
Contributor Author

TylerBrinkley commented Jul 28, 2020

Thanks @danmosemsft for your response. I understand.

Given the lack of resources Microsoft has dedicated to this I agree the best course of action would be to move this to a community driven project ideally under the .NET Foundation with some key members, hopefully a few from Microsoft, to curate it.

I think it would be very important to state from the outset that the project's goal is not to build a new set of collections from the ground up and not to address deficiencies in the BCL collections implementations or interface hierarchy. The goal should be to complement the existing BCL collections with the hopes that some may prove useful enough to be included directly in the BCL itself. We could then Type Forward the implementation in that case. If we multi-target we would then need to maintain our own implementation copy for earlier targets.

I'd love to be involved but as of late I haven't been able to dedicate nearly as much time to OSS due to various factors so for now would only be able to help in a limited fashion.

@pgovind pgovind added the OpenBeforeArchiving These issues were open before the repo was archived. For re-open them, file them in the new repo label Mar 11, 2021
@pgovind pgovind closed this Mar 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
OpenBeforeArchiving These issues were open before the repo was archived. For re-open them, file them in the new repo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider adding a Bidirectional Dictionary
7 participants