nextExpectedVersion & actualVersion weird when appending to empty stream

While using the client i found some weird corner cases that around appendToSTream when used on an empty stream.
Basically it does not seem to be possible based on the return message to identify that the stream was empty.
There are basically two different cases.

When appending an "empty" iterable on an empty stream:

    var result = client.appendToStream("foo", AppendToStreamOptions.get(), Collections.emptyIterator())
        .get();
    System.out.printf("NextExpectedRevision: %s%n", result.getNextExpectedRevision());
   // NextExpectedRevision: 1

When appending an event and provide an expected version on an empty stream:

    try {
      client
          .appendToStream(
              "foo",
              AppendToStreamOptions.get().expectedRevision(ExpectedRevision.expectedRevision(10)),
              EventDataBuilder.binary("bar", new byte[] {}).build())
          .get();
    } catch (ExecutionException e) {
      if (e.getCause() instanceof WrongExpectedVersionException) {
        System.out
            .printf("ActualRevision: %s%n", ((WrongExpectedVersionException) e.getCause()).getActualVersion());
      }
    }
// ActualRevision: 2

This seems rather odd to me since i would expect a token indicating that we are at the beginning of the stream (which is currently a bit problematic because a StreamVersion currently only holds an "unsigned" long.
By digging a bit deeper it looks like the two values are arbitrarily set by the client (in AppendToStream.java):
// Handling NO_STREAM result from EventStore. Around line nr. 46.
StreamRevision nextExpectedRevision;
if (success.getCurrentRevisionOptionCase() == StreamsOuterClass.AppendResp.Success.CurrentRevisionOptionCase.NO_STREAM) {
    nextExpectedRevision = new StreamRevision(1); // NO_STREAM
} else {
    nextExpectedRevision = new StreamRevision(success.getCurrentRevision());
}

and
// Handling NO_STREAM result from EventStore when expectation failed. Around line nr. 74
StreamRevision currentRevision;
if (wev.getCurrentRevisionOptionCase() == StreamsOuterClass.AppendResp.WrongExpectedVersion.CurrentRevisionOptionCase.NO_STREAM) {
    // TODO(jen20): This feels very wrong?
    currentRevision = new StreamRevision(2); //StreamState.Constants.NoStream
} else {
    currentRevision = new StreamRevision(wev.getCurrentRevision());
}

On hold, as we are reviewing an RFC on this very subject.

Are there any news on this? We are currently waiting on a few of the open issues in order to migrate to a newer eventstore version (the other client is currently not an option for us).

Any progress here?

It seems that some progress was made now. I did some tests with the latest snapshot version.
Regarding point 1 (see initial message):
This still seems to be broken. It will return now 0 instead of 1 which is still not an empty stream. I assume we need to change the type of getNextExpectedRevision to the new ExpectedRevision type so we can represent an empty stream.
Regarding point 2:
This works now as intended. Within the exception we now have the ExpectedRevision type which will return an ExpectedRevision.noStream() / NoStreamExpectedRevision.

Change will happen at that line: https://github.com/EventStore/EventStoreDB-Client-Java/blob/trunk/db-client-java/src/main/java/com/eventstore/dbclient/AppendToStream.java#L52
The protobuf api does descriminate between NoStream and actual stream revision. A patch will come soon.

@YoEight Any updates when the patch is coming?

Hi @YoEight :wave:.
I was wondering if you guys would be up for this to be contributed via a PR?
I wasn't sure since it might contain breaking changes (depending on how it is implemented) and it seemed as it would be done soon anyway.
Best regards,
David

Unfortunately I'm a Java developer (very little C# knowledge)

Sorry for the late response, the patch is there: https://github.com/EventStore/EventStoreDB-Client-Java/pull/196

Thank you @YoEight for the patch. Would you know when we can roughly expect a release with this fix included?

Thank you very much! We are looking forward to this landing :).

Client version 4.0.0 is available on Maven: https://central.sonatype.dev/artifact/com.eventstore/db-client-java/4.0.0


in scatter plot, the values of column 'datetime' are totally different from original data

hello :
When using code in jupyter notebook,
import plotly_express as px
px.scatter(datanew, x='datetime', y="vol",range_y=[0,200],hover_name='vol')
the values of column 'datetime' in figure is totally different datetime. all datetime values are earlier 8hour.
python version
'3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]'
datanew.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1904 entries, 0 to 1903
Data columns (total 10 columns):
datetime    1904 non-null datetime64[ns]
vol         1904 non-null int32
datanew['datetime']
0      2019-03-11 09:31:00
1      2019-03-11 09:32:00
.......
1902   2019-03-20 14:57:00
1903   2019-03-20 15:00:00
Name: datetime, Length: 1904, dtype: datetime64[ns]
in the Figure, all datetime values are earlier 8hour
such as:
2019-03-11 09:31:00 became 2019-03-11 01:31:00
how to deal with the issue, may be time zone issue?
thanks

Yes, this is a known issue in Plotly.py and will be fixed in the upcoming v4... See https://github.com/plotly/plotly.py/issues/209 for more details!

Yes, this is a known issue in Plotly.py and will be fixed in the upcoming v4... See plotly/plotly.py#209 for more details!

thank you for your information! waiting for your update

Yes, this is a known issue in Plotly.py and will be fixed in the upcoming v4... See plotly/plotly.py#209 for more details!

thank you for your information! waiting for your update


TypeError Python 3.5.2

Hi,
I get the following TypeError with newer versions of Python. Any suggestions how to fix this?
Kind regards,
e-neu
pyDOE.fullfact([1, 2])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-65-d26355a11123> in <module>()
----> 1 pyDOE.fullfact([1, 2])

C:\Users\XXX\AppData\Roaming\Python\Python35\site-packages\pydoe-0.3.8-py3.5.egg\pyDOE\doe_factorial.py in fullfact(levels)
     76         for j in range(levels[i]):
     77             lvl += [j]*level_repeat
---> 78         rng = lvl*range_repeat
     79         level_repeat *= levels[i]
     80         H[:, i] = rng

TypeError: 'numpy.float64' object cannot be interpreted as an integer

import sys
sys.version

'3.5.2 |Anaconda custom (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]'

import pyDOE
pyDOE.__version__

'0.3.8'

Ok, I looked into it and the solution seems to be quite simple. Just change the float division
range_repeat /= levels[i]
into a integer division.
range_repeat //= levels[i]
I've only recently started using Python, so I am not sure how this will affect earlier Python versions.


make auto persist optional

Description of changes
#653
Makes auto-persisting optional.
Test plan
Built and confirmed expected behavior.
Documentation Changes
Updates will be required to the Python Settings API docs

One work around is to clear atexit after creating the client. This is sub-optimal for obvious reasons.
    client = Client(
        Settings(
            chroma_db_impl="chromadb.db.duckdb.PersistentDuckDB",
            persist_directory=db_path,
        )
    )
    atexit._clear()

hi @riklopfer - really sorry about the trouble here and thank you for opening this PR. Chroma used to be held in-memory and then would flush to disk (using atexist for example). Tomorrow we are landing a large refactor where we will persist on every write. This will remove the need for atexit and hopefully avoid all the weird behavior that happened as a result. Thanks again for opening this!


nitweb: add graphs stubs

Add some very simple graphs tabs to nitweb:

Packages: http://nitweb.moz-code.org/package/popcorn
Groups: http://nitweb.moz-code.org/group/popcorn>
Modules: http://nitweb.moz-code.org/module/core::array
Classes: http://nitweb.moz-code.org/class/core::Array

+1 However, when there is a large number of inheritance or dependance the graph can become a mess. Is that possible to have less curvy graph ?

+1

:+1: +1
But, please change the font if you can: Times is so badly kerned that popcorn is displayed as popcom (for example). :smile:

The new interface is pretty cool :)
However, with angular the web page load before his content. Maybe, you can add a gif to highlight : content is comming

Major reroll of this PR:

switched to a minimalist dot library
added some heuristics to improve graph lisibility

Some examples:

package dependencies: http://nitweb.moz-code.org/package/mongodb
group importation: http://nitweb.moz-code.org/group/test_suite>
module importation: http://nitweb.moz-code.org/module/json::json
class inheritance: http://nitweb.moz-code.org/class/core::Text

One the API side, the parents/children depth can be given as argument:

http://nitweb.moz-code.org/api/graph/inheritance/core::Text (no args, full depth)
http://nitweb.moz-code.org/api/graph/inheritance/core::Text?cdepth=1 (children depth)
http://nitweb.moz-code.org/api/graph/inheritance/core::Text?pdepth=2 (parent depth)
http://nitweb.moz-code.org/api/graph/inheritance/core::Text?pdepth=1&cdepth=2

These look nice !
Having links on the entities is a nice plus, although they seem broken, at least on my machine.
The target of the link looks OK though, I'm not sure why I'm sent back to the index when clicking on an entity.
+1 !

@R4PaSs Can you try to purge your cache?

Yep, no changes on my part with a clear cache it seems

The new diagrams look more like UML. The only thing missing are the arrow ends. :wink:
I reiterate my :+1: +1

+1


Websockets are failing when attempting to authorize on a private channel

Related to #812

This only happens locally

Problem was in the local .env, where BROADCAST_DRIVER was set to pusher. Fixing in #812
Adding to .env.example


Does Azure CLI Action has access to GITHUB_WORKSPACE folder?

Hi!
I'm using your Action to push my Helm package to ACR and have a problem which I cannot solve (and understand why it's happening in the first place).
My workflow:

Create a Helm Package
Login into Azure
Push it into ACR with Azure CLI command az acr helm push

My workflow yaml:
   - name: Helm package
      run: 'helm package ${{ github.workspace }}/chart/${{ secrets.APP_NAME }}--version v${{ github.run_number }} --destination ${{ github.workspace }}/helm --app-version v${{ github.run_number }}'

   - name: Azure Login
      uses: Azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}

    - name: Push TO ACR
      uses<EMAIL_ADDRESS>      with:
        inlineScript: |
          az acr helm push ${{ github.workspace }}/helm/${{ secrets.APP_NAME }}-v${{ github.run_number }}.tgz --name ${{ secrets.ACR_NAME }} --force;

the result:

Paths are exactly the same, the package seems to exists.
Can you tell me what I am doing wrong?

Hi is anyone here? :)

We started having the same problem.  It worked at one time.

@akisiel1 the Action executes CLI script inside a container and for that it maps GITHUB_WORKSPACE folder from host to current directory in container but it won't have exact same folder structure from filesystem root as the host. This is the reason that host's path might not work in container.
The way to get it working, as hinted here, is to use $GITHUB_WORKSPACE environment variable inside your script instead of ${{ github.workspace }}.
az acr helm push $GITHUB_WORKSPACE/helm/${{ secrets.APP_NAME }}-v${{ github.run_number }}.tgz --name ${{ secrets.ACR_NAME }} --force;

@akisiel1 were you able to proceed?

@akisiel1 were you able to proceed?

Closing this for now.
@akisiel1 do let us know if you face any issue.


[Event Request] Codeunit 427 "ICInboxOutboxMgt" - Procedure CreateSalesLines - OnCreateSalesLinesOnBeforeValidateQuantity

Please add an Event OnCreateSalesLinesOnBeforeValidateQuantity in Procedure CreateSalesLines in Codeunit 427 "ICInboxOutboxMgt"
Procedure CreateSalesLines
    var
        SalesLine: Record "Sales Line";
        ICDocDim: Record "IC Document Dimension";
        Currency: Record Currency;
        Precision: Decimal;
        DimensionSetIDArr: array[10] of Integer;
   begin
        with ICInboxSalesLine do begin
            SalesLine.Init;
            ...
            OnCreateSalesLinesOnAfterValidateNo(SalesLine, SalesHeader, ICInboxSalesLine);

            SalesLine."Currency Code" := SalesHeader."Currency Code";
            SalesLine.Description := Description;
            if (SalesLine.Type <> SalesLine.Type::" ") and (Quantity <> 0) then begin
                if Currency.Get(SalesHeader."Currency Code") then
                    Precision := Currency."Unit-Amount Rounding Precision"
                else begin
                    GLSetup.Get;
                    if GLSetup."Unit-Amount Rounding Precision" <> 0 then
                        Precision := GLSetup."Unit-Amount Rounding Precision"
                    else
                        Precision := 0.01;
                end;

                IsHandled := false;
                OnCreateSalesLinesOnBeforeValidateQuantity(SalesLine, ICInboxSalesLine, IsHandled); <- NEW EVENT
                if not IsHandled then
                    SalesLine.Validate(Quantity, Quantity);

                SalesLine.Validate("Unit of Measure Code", "Unit of Measure Code");
            ...
   end;

[IntegrationEvent(false, false)]
 local procedure OnCreateSalesLinesOnBeforeValidateQuantity(var SalesLine: Record "Sales Line"; ICInboxSalesLine: Record "IC Inbox Sales Line"; var IsHandled: Boolean)
 begin
 end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 42636.


Synthesis failed for nodejs-bigquery-storage

Hello! Autosynth couldn't regenerate nodejs-bigquery-storage. :broken_heart:
Here's the output from running synth.py:
b'2020-06-05 04:45:41,479 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 04:45:42,389 synthtool [DEBUG] > Generating code for: google/cloud/bigquery/storage/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/bigquery/storage/v1beta1.\n2020-06-05 04:45:43,272 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py", line 34, in <module>\n    \'package-name\': f\'@google-cloud/bigquery-storage\',\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpk8wwq4l_ is empty.\n2020-06-05 04:45:43,311 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:45:43,311 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 04:45:43,317 autosynth [DEBUG] > Running: git checkout autosynth-self\nSwitched to branch \'autosynth-self\'\n2020-06-05 04:45:43,325 autosynth [ERROR] > Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n2020-06-05 04:45:43,474 autosynth [DEBUG] > Running: git checkout 20d9978cf09493d982bde1914f4ba1ef6fc21711\nNote: checking out \'20d9978cf09493d982bde1914f4ba1ef6fc21711\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by performing another checkout.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -b with the checkout command again. Example:\n\n  git checkout -b <new-branch-name>\n\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 04:45:43,479 autosynth [DEBUG] > Running: git checkout cd804bab06e46dd1a4f16c32155fd3cddb931b52\nPrevious HEAD position was a3a0bf0f BREAKING_CHANGE: Removing TimeSeriesQueryLanguageCondition as an alert condition type. The condition type is unsupported and unused. It was originally added for the Monitoring Query Language Alpha feature. refactor!: Drop support for TimeSeriesQueryLanguageCondition as an alert condition type.\nHEAD is now at cd804bab docs: cleaned docs for the Agents service and resource.\n2020-06-05 04:45:43,552 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nPrevious HEAD position was be74d3e build: do not fail builds on codecov errors (#528)\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 04:45:43,568 autosynth [DEBUG] > Running: git branch -f autosynth-128\n2020-06-05 04:45:43,573 autosynth [DEBUG] > Running: git checkout autosynth-128\nSwitched to branch \'autosynth-128\'\n2020-06-05 04:45:43,577 autosynth [INFO] > Running synthtool\n2020-06-05 04:45:43,578 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 04:45:43,580 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 04:45:43,784 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py.\nOn branch autosynth-128\nnothing to commit, working tree clean\n2020-06-05 04:45:43,919 synthtool [DEBUG] > Ensuring dependencies.\nDEBUG:synthtool:Ensuring dependencies.\n2020-06-05 04:45:43,925 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 04:45:43,926 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 04:45:43,929 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 04:45:44,821 synthtool [DEBUG] > Generating code for: google/cloud/bigquery/storage/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/bigquery/storage/v1beta1.\n2020-06-05 04:45:45,626 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py", line 34, in <module>\n    \'package-name\': f\'@google-cloud/bigquery-storage\',\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpdb4kuu_x is empty.\n2020-06-05 04:45:45,665 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:45:45,665 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 04:45:45,671 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 04:45:45,676 autosynth [DEBUG] > Running: git clean -fdx\nRemoving __pycache__/\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main\n    return _inner_main(temp_dir)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main\n    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop\n    synthesize_inner_loop(toolbox, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop\n    synthesizer, len(toolbox.versions) - 1\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch\n    synthesizer.synthesize(synth_log_path, self.environ)\n  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize\n    synth_proc.check_returncode()  # Raise an exception.\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode\n    self.stderr)\nsubprocess.CalledProcessError: Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n'

Google internal developers can see the full log here.

Autosynth is still having trouble generating nodejs-bigquery-storage. :sob:
Here's the output from running synth.py:
b'eapis\n2020-06-05 10:38:36,431 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:38:37,342 synthtool [DEBUG] > Generating code for: google/cloud/bigquery/storage/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/bigquery/storage/v1beta1.\n2020-06-05 10:38:38,232 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py", line 34, in <module>\n    \'package-name\': f\'@google-cloud/bigquery-storage\',\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpx2xxoxbc is empty.\n2020-06-05 10:38:38,274 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:38:38,275 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 10:38:38,280 autosynth [DEBUG] > Running: git checkout autosynth-self\nSwitched to branch \'autosynth-self\'\n2020-06-05 10:38:38,285 autosynth [ERROR] > Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n2020-06-05 10:38:38,425 autosynth [DEBUG] > Running: git checkout 20d9978cf09493d982bde1914f4ba1ef6fc21711\nNote: checking out \'20d9978cf09493d982bde1914f4ba1ef6fc21711\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by performing another checkout.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -b with the checkout command again. Example:\n\n  git checkout -b <new-branch-name>\n\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 10:38:38,431 autosynth [DEBUG] > Running: git checkout 40a354b0f47454be4986f9db504cca4d4371c8c3\nPrevious HEAD position was a3a0bf0f BREAKING_CHANGE: Removing TimeSeriesQueryLanguageCondition as an alert condition type. The condition type is unsupported and unused. It was originally added for the Monitoring Query Language Alpha feature. refactor!: Drop support for TimeSeriesQueryLanguageCondition as an alert condition type.\nHEAD is now at 40a354b0 chore: add protoc proto3_optional flag in bazelrc\n2020-06-05 10:38:38,495 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nPrevious HEAD position was be74d3e build: do not fail builds on codecov errors (#528)\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 10:38:38,511 autosynth [DEBUG] > Running: git branch -f autosynth-129\n2020-06-05 10:38:38,515 autosynth [DEBUG] > Running: git checkout autosynth-129\nSwitched to branch \'autosynth-129\'\n2020-06-05 10:38:38,520 autosynth [INFO] > Running synthtool\n2020-06-05 10:38:38,520 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 10:38:38,522 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 10:38:38,753 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py.\nOn branch autosynth-129\nnothing to commit, working tree clean\n2020-06-05 10:38:38,898 synthtool [DEBUG] > Ensuring dependencies.\nDEBUG:synthtool:Ensuring dependencies.\n2020-06-05 10:38:38,903 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 10:38:38,904 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:38:38,907 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:38:39,815 synthtool [DEBUG] > Generating code for: google/cloud/bigquery/storage/v1beta1.\nDEBUG:synthtool:Generating code for: google/cloud/bigquery/storage/v1beta1.\n2020-06-05 10:38:40,696 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-bigquery-storage/synth.py", line 34, in <module>\n    \'package-name\': f\'@google-cloud/bigquery-storage\',\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpm0ew0zw_ is empty.\n2020-06-05 10:38:40,738 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:38:40,738 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20d9978 chore: update protos.js\n2020-06-05 10:38:40,743 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 10:38:40,748 autosynth [DEBUG] > Running: git clean -fdx\nRemoving __pycache__/\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main\n    return _inner_main(temp_dir)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main\n    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop\n    synthesize_inner_loop(toolbox, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop\n    synthesizer, len(toolbox.versions) - 1\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch\n    synthesizer.synthesize(synth_log_path, self.environ)\n  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize\n    synth_proc.check_returncode()  # Raise an exception.\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode\n    self.stderr)\nsubprocess.CalledProcessError: Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n'

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


python3Packages.frozendict is failing its tests on darwin

Describe the bug
The tests for python3Packages.frozendict are currently failing on darwin and I don't think it's just a test issue and it may not be an upstream issue. Upstream cannot reproduce: https://github.com/Marco-Sulla/python-frozendict/issues/37 (ignore issue title, upstream renamed it)
Steps To Reproduce
Steps to reproduce the behavior:

Be on darwin (tested x86_64, macos 10.15)
Have a current nixpkgs
Set doCheck = false in pkgs/development/python-modules/frozendict/default.nix
Running the test suite is overkill to exhibit the issue, simply:

$ NIX_PATH="nixpkgs=$(pwd)" nix-shell -p python38Packages.frozendict --pure
[nix-shell:~/nixpkgs]$ python
Python 3.8.12 (default, Nov  6 2021, 01:30:52)
[Clang 7.1.0 (tags/RELEASE_710/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import frozendict
>>> frozendict.c_ext
True
>>> import pickle
>>> pickle.dumps(frozendict.frozendict({1:2}))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
_pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

Additional context
A valid way forward could be to simply disable these tests on darwin, because I gather the python-only variant of this package exhibits this same behaviour and so many/most people who just do a naive pip install frozendict just get this behaviour anyway. Alternatively we could disable building the c extension entirely on darwin in case some downstream code gets confused by frozendict.c_ext being True yet pickling not working properly.
Notify maintainers
@NixOS/darwin-maintainers
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: python3Packages.frozendict
# a list of nixos modules affected by the problem
module:

Set doCheck = false in pkgs/development/python-modules/frozendict/default.nix

We can simply add that test to disabledTests instead of disabling the test suite entirely. Would you like to open a PR?

That was only a step to enable the simple test to be reproduced.
We could indeed disable just the pickle tests, but as I noted it might lead to a less weird result to just turn off the c extension.

How about adding an argument to the derivation for building the C extension? It should default to off, but a user could easily enable it at their own risk for the time being (at least until we figure out the underlying issue).

Hello, I'm the new maintainer of frozendict.
I thought that @risicle simply tried to compile frozendict on MacOS. It seems on the contrary that it's using this package manager. Can you please print frozendict.__version__?

@Marco-Sulla I tried upgrading the nix derivation for frozendict to the latest commit you released 5 hours ago and there seems to be a lot of tests failing due to pickle errors in our build environment.

Can you please print frozendict.__version__?

# If I disable tests
[nix-shell:~/src/nixpkgs]$ python
Python 3.9.6 (default, Oct 31 2021, 15:37:00)
[Clang 7.1.0 (tags/RELEASE_710/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import frozendict
>>> frozendict.__version__
'2.1.0'

Build log:
@NightmareMoon:~/s/nixpkgs (master) ❯ nix run 'nixpkgs#nix-update' python3Packages.frozendict
[...]
Update 2.0.6 -> 2.1.0 in /Users/tristan/src/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
[...]
The package python3.9-frozendict-2.1.0 will be fetched as follows:
> import /Users/tristan/src/nixpkgs/pkgs/development/interpreters/python/fetchpypi.nix {
>   pname = "frozendict";
>   sha256 = "3f00de72805cf4c9e81b334f3f04809278b967d2fed84552313a0fcce511beb1";
>   version = "2.1.0";
> }
@NightmareMoon:~/s/nixpkgs (master) took 21s ❯ NIX_PATH=nixpkgs=. nix-shell --pure -p python3.pkgs.frozendict
this derivation will be built:
  /nix/store/7anksnsb8jnl4pi4nr5mkh7kr1aqv459-python3.9-frozendict-2.1.0.drv
[...]

E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[3] ________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
protocol = 3

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[4] ________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
protocol = 4

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[5] ________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
protocol = 5

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
__________________________________ test_repr ___________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
fd_dict = {'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'}

>   ???
E   AssertionError

<string>:158: AssertionError
___________________________________ test_str ___________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
fd_dict = {'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'}

>   ???
E   AssertionError

<string>:162: AssertionError
_________________________________ test_format __________________________________

fd = frozendict.frozendict({'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'})
fd_dict = {'Sulla': 'Marco', 'Hicks': 'Bill', frozendict.frozendict({1: 2}): 'frozen'}

>   ???

E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[3] ________________________________

fd = F({'Sulla': 'Marco', 'Hicks': 'Bill', F({1: 2}): 'frozen'}), protocol = 3

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[4] ________________________________

fd = F({'Sulla': 'Marco', 'Hicks': 'Bill', F({1: 2}): 'frozen'}), protocol = 4

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
________________________________ test_pickle[5] ________________________________

fd = F({'Sulla': 'Marco', 'Hicks': 'Bill', F({1: 2}): 'frozen'}), protocol = 5

>   ???
E   _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict

<string>:124: PicklingError
=========================== short test summary info ============================
FAILED test/test_frozendict_c.py::test_pickle[0] - TypeError: cannot pickle '...
FAILED test/test_frozendict_c.py::test_pickle[1] - TypeError: cannot pickle '...
FAILED test/test_frozendict_c.py::test_pickle[2] - _pickle.PicklingError: Can...
FAILED test/test_frozendict_c.py::test_pickle[3] - _pickle.PicklingError: Can...
FAILED test/test_frozendict_c.py::test_pickle[4] - _pickle.PicklingError: Can...
FAILED test/test_frozendict_c.py::test_pickle[5] - _pickle.PicklingError: Can...
FAILED test/test_frozendict_c.py::test_repr - AssertionError
FAILED test/test_frozendict_c.py::test_str - AssertionError
FAILED test/test_frozendict_c.py::test_format - AssertionError
FAILED test/test_frozendict_c_subclass.py::test_pickle[0] - TypeError: cannot...
FAILED test/test_frozendict_c_subclass.py::test_pickle[1] - TypeError: cannot...
FAILED test/test_frozendict_c_subclass.py::test_pickle[2] - _pickle.PicklingE...
FAILED test/test_frozendict_c_subclass.py::test_pickle[3] - _pickle.PicklingE...
FAILED test/test_frozendict_c_subclass.py::test_pickle[4] - _pickle.PicklingE...
FAILED test/test_frozendict_c_subclass.py::test_pickle[5] - _pickle.PicklingE...
================= 15 failed, 190 passed, 4 deselected in 0.38s =================
error: builder for '/nix/store/7anksnsb8jnl4pi4nr5mkh7kr1aqv459-python3.9-frozendict-2.1.0.drv' failed with exit code 1;
       last 10 log lines:
       > FAILED test/test_frozendict_c.py::test_repr - AssertionError
       > FAILED test/test_frozendict_c.py::test_str - AssertionError
       > FAILED test/test_frozendict_c.py::test_format - AssertionError
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[0] - TypeError: cannot...
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[1] - TypeError: cannot...
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[2] - _pickle.PicklingE...
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[3] - _pickle.PicklingE...
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[4] - _pickle.PicklingE...
       > FAILED test/test_frozendict_c_subclass.py::test_pickle[5] - _pickle.PicklingE...
       > ================= 15 failed, 190 passed, 4 deselected in 0.38s =================
       For full logs, run 'nix log /nix/store/7anksnsb8jnl4pi4nr5mkh7kr1aqv459-python3.9-frozendict-2.1.0.drv'.

@Marco-Sulla i'm increasingly thinking this might be our bug, possible related to the funny stuff we have to do to make the macos sdk "reproducible" (as much as is possible).

Yes, there are a lot of errors because I test every protocol of pickle. Currently the latest protocol is the number 5, so there are 6 pickle tests (it exists also the protocol zero), 6 tests for frozendict and 6 tests for a subclass of frozendict. The other 3 errors are trivial and can be ignored.
Can you do this test? You should open a terminal and do these commands:
git clone https://github.com/Marco-Sulla/python-frozendict.git
cd python-frozendict
python3 -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel pytest
./setup.py bdist_wheel
pip install --force frozendict-2.1.0*
cd test
pytest

@Marco-Sulla i'm increasingly thinking this might be our bug, possibly related to the funny stuff we have to do to make the macos sdk "reproducible" (as much as is possible).

I’m not so sure it’s just a Nix problem. I can also reproduce the problem using Python 3 from the Command-Line Tools and frozendict installed via pip.
$ which python3
/usr/bin/python3
$ python3 -m venv venv
$ source venv/bin/activate.fish
(venv) reckenrode@dyrstelice ~ [0|1]> pip install --no-binary=frozendict frozendict
Collecting frozendict
  Downloading frozendict-2.1.0.tar.gz (1.1 MB)
     |████████████████████████████████| 1.1 MB 2.7 MB/s
Skipping wheel build for frozendict, due to binaries being disabled for it.
Installing collected packages: frozendict
    Running setup.py install for frozendict ... done
Successfully installed frozendict-2.1.0
WARNING: You are using pip version 20.2.3; however, version 21.3.1 is available.
You should consider upgrading via the '/Users/reckenrode/venv/bin/python3 -m pip install --upgrade pip' command.
(venv) reckenrode@dyrstelice ~> python3
Python 3.8.9 (default, Aug  3 2021, 19:21:54)
[Clang 13.0.0 (clang-13<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import frozendict
>>> import pickle
>>> pickle.dumps(frozendict.frozendict({1: 2}))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
_pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
>>>

This is what I get using clang from Xcode 13.1.
$ clang --version
Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
Target: arm64-apple-darwin21.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

======================================================================================== short test summary info =========================================================================================
FAILED test_coold.py::test_pickle[0] - TypeError: cannot pickle 'dict' object
FAILED test_coold.py::test_pickle[1] - TypeError: cannot pickle 'dict' object
FAILED test_coold.py::test_pickle[2] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold.py::test_pickle[3] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold.py::test_pickle[4] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold.py::test_pickle[5] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold.py::test_repr - AssertionError
FAILED test_coold.py::test_str - AssertionError
FAILED test_coold.py::test_format - AssertionError
FAILED test_coold_subclass.py::test_pickle[0] - TypeError: cannot pickle 'dict' object
FAILED test_coold_subclass.py::test_pickle[1] - TypeError: cannot pickle 'dict' object
FAILED test_coold_subclass.py::test_pickle[2] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold_subclass.py::test_pickle[3] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold_subclass.py::test_pickle[4] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_coold_subclass.py::test_pickle[5] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c.py::test_pickle[0] - TypeError: cannot pickle 'dict' object
FAILED test_frozendict_c.py::test_pickle[1] - TypeError: cannot pickle 'dict' object
FAILED test_frozendict_c.py::test_pickle[2] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c.py::test_pickle[3] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c.py::test_pickle[4] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c.py::test_pickle[5] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c.py::test_repr - AssertionError
FAILED test_frozendict_c.py::test_str - AssertionError
FAILED test_frozendict_c.py::test_format - AssertionError
FAILED test_frozendict_c_subclass.py::test_pickle[0] - TypeError: cannot pickle 'dict' object
FAILED test_frozendict_c_subclass.py::test_pickle[1] - TypeError: cannot pickle 'dict' object
FAILED test_frozendict_c_subclass.py::test_pickle[2] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c_subclass.py::test_pickle[3] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c_subclass.py::test_pickle[4] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
FAILED test_frozendict_c_subclass.py::test_pickle[5] - _pickle.PicklingError: Can't pickle <class 'dict'>: it's not the same object as builtins.dict
===================================================================================== 30 failed, 287 passed in 0.41s =====================================================================================

$ otool -L ./frozendict/_frozendict.cpython-38-darwin.so
./frozendict/_frozendict.cpython-38-darwin.so (architecture x86_64):
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
./frozendict/_frozendict.cpython-38-darwin.so (architecture arm64):
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)

Ok, I have a suspect. The problem is I can't reproduce the bug, so I can't do experiments myself. What version of MacOS are you using?

I’m running macOS 12.0.1. I got the same results on an M1 Max as well as an x86_64 Mac.

I was using the latest version of macOS Monterey (12) in my testing.

This is a problem. I don't have the latest version of MacOS. So I can't test it myself. On my Mojave it works.
Could I commit on my repo what I think should be the solution, and someone can test it for me?

FWIW it was failing for me on macos 10.15, and hydra (our CI system https://hydra.nixos.org/eval/1724521?filter=frozendict&compare=1724426&full=) is running a mix of 10.15 and 10.14 (correct me?)

I don't know what to say other than "works on my machine" :D.
If you want I can try an alternative way to do reduce, using a tuple of items instead of a dict clone of frozendict as I do now. I can publish this code on my github repo, but I can't do an official release, because I'm not sure this will fix something.

Ok, I have Catalina now, and I can reproduce the bug with Python 3.8.2. I can try the workaround myself.

It should be fixed in frozendict 2.1.1. Can you confirm?

It appears to build and work with Python 3.8 that’s bundled with Xcode as well as Python 3.9 from Nix, but it crashes during the tests using Python 3.8 from Nix. Here’s the build log.
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing setuptools-build-hook
Using setuptoolsBuildPhase
Using setuptoolsShellHook
Sourcing pip-install-hook
Using pipInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing setuptools-check-hook
Using setuptoolsCheckPhase
Sourcing pytest-check-hook
Using pytestCheckPhase
Removing setuptoolsCheckPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/xvrxy3226g5ymq2yr783q1zlmgf4l7ii-frozendict-2.1.1.tar.gz
source root is frozendict-2.1.1
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file frozendict-2.1.1/setup.cfg
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
building
Executing setuptoolsBuildPhase
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.6-x86_64-3.8
creating build/lib.macosx-10.6-x86_64-3.8/frozendict
copying frozendict/__init__.py -> build/lib.macosx-10.6-x86_64-3.8/frozendict
copying frozendict/core.py -> build/lib.macosx-10.6-x86_64-3.8/frozendict
copying frozendict/VERSION -> build/lib.macosx-10.6-x86_64-3.8/frozendict
running build_ext
building 'frozendict._frozendict' extension
creating build/temp.macosx-10.6-x86_64-3.8
creating build/temp.macosx-10.6-x86_64-3.8/private
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src
creating build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/Include -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Include -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Include/internal -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/stringlib -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/clinic -I/nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/include/python3.8 -c /private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/frozendictobject.c -o build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/frozendictobject.o -DPY_SSIZE_T_CLEAN -DPy_BUILD_CORE
clang-7: warning: argument unused during compilation: '-fno-strict-overflow' [-Wunused-command-line-argument]
/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/frozendictobject.c:2421:20: warning: incompatible pointer to integer conversion returning 'void *' from a function with result type 'Py_hash_t' (aka 'long') [-Wint-conversion]
            return NULL;
                   ^~~~
/nix/store/gsfxxazc51sx6vjdrz6cq8s19x7h5mwh-clang-wrapper-7.1.0/resource-root/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/frozendictobject.c:297:1: warning: unused function 'dictkeys_incref' [-Wunused-function]
dictkeys_incref(PyDictKeysObject *dk)
^
2 warnings generated.
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/Include -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Include -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Include/internal -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/stringlib -I/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/clinic -I/nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/include/python3.8 -c /private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/dictobject.c -o build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/dictobject.o -DPY_SSIZE_T_CLEAN -DPy_BUILD_CORE
clang-7: warning: argument unused during compilation: '-fno-strict-overflow' [-Wunused-command-line-argument]
clang -bundle -undefined dynamic_lookup -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-zlib-1.2.11/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bzip2-<IP_ADDRESS>.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-expat-2.4.1/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-xz-5.2.5/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libffi-3.4.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gdbm-1.20/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-sqlite-3.36.0/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-readline-6.3p08/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ncurses-6.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-openssl-1.1.1l/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-configd-453.19/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-zlib-1.2.11/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bzip2-<IP_ADDRESS>.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-expat-2.4.1/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-xz-5.2.5/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libffi-3.4.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gdbm-1.20/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-sqlite-3.36.0/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-readline-6.3p08/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ncurses-6.2/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-openssl-1.1.1l/lib -L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-configd-453.19/lib build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/frozendictobject.o build/temp.macosx-10.6-x86_64-3.8/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/frozendict/src/3_8/cpython_src/Objects/dictobject.o -L/nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/lib -o build/lib.macosx-10.6-x86_64-3.8/frozendict/_frozendict.cpython-38-darwin.so
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-zlib-1.2.11/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bzip2-<IP_ADDRESS>.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-expat-2.4.1/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-xz-5.2.5/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libffi-3.4.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gdbm-1.20/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-sqlite-3.36.0/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-readline-6.3p08/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ncurses-6.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-openssl-1.1.1l/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-configd-453.19/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-zlib-1.2.11/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bzip2-<IP_ADDRESS>.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-expat-2.4.1/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-xz-5.2.5/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libffi-3.4.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gdbm-1.20/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-sqlite-3.36.0/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-readline-6.3p08/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ncurses-6.2/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-openssl-1.1.1l/lib'
ld: warning: directory not found for option '-L/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-configd-453.19/lib'
installing to build/bdist.macosx-10.6-x86_64/wheel
running install
running install_lib
creating build/bdist.macosx-10.6-x86_64
creating build/bdist.macosx-10.6-x86_64/wheel
creating build/bdist.macosx-10.6-x86_64/wheel/frozendict
copying build/lib.macosx-10.6-x86_64-3.8/frozendict/__init__.py -> build/bdist.macosx-10.6-x86_64/wheel/frozendict
copying build/lib.macosx-10.6-x86_64-3.8/frozendict/core.py -> build/bdist.macosx-10.6-x86_64/wheel/frozendict
copying build/lib.macosx-10.6-x86_64-3.8/frozendict/VERSION -> build/bdist.macosx-10.6-x86_64/wheel/frozendict
copying build/lib.macosx-10.6-x86_64-3.8/frozendict/_frozendict.cpython-38-darwin.so -> build/bdist.macosx-10.6-x86_64/wheel/frozendict
running install_egg_info
running egg_info
writing frozendict.egg-info/PKG-INFO
writing dependency_links to frozendict.egg-info/dependency_links.txt
writing top-level names to frozendict.egg-info/top_level.txt
reading manifest file 'frozendict.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'frozendict.egg-info/SOURCES.txt'
Copying frozendict.egg-info to build/bdist.macosx-10.6-x86_64/wheel/frozendict-2.1.1-py3.8.egg-info
running install_scripts
adding license file "LICENSE.txt" (matched pattern "LICEN[CS]E*")
creating build/bdist.macosx-10.6-x86_64/wheel/frozendict-2.1.1.dist-info/WHEEL
creating 'dist/frozendict-2.1.1-cp38-cp38-macosx_10_12_x86_64.whl' and adding 'build/bdist.macosx-10.6-x86_64/wheel' to it
adding 'frozendict/VERSION'
adding 'frozendict/__init__.py'
adding 'frozendict/_frozendict.cpython-38-darwin.so'
adding 'frozendict/core.py'
adding 'frozendict-2.1.1.dist-info/LICENSE.txt'
adding 'frozendict-2.1.1.dist-info/METADATA'
adding 'frozendict-2.1.1.dist-info/WHEEL'
adding 'frozendict-2.1.1.dist-info/top_level.txt'
adding 'frozendict-2.1.1.dist-info/RECORD'
removing build/bdist.macosx-10.6-x86_64/wheel
Finished executing setuptoolsBuildPhase
@nix { "action": "setPhase", "phase": "installPhase" }
installing
Executing pipInstallPhase
/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/dist /private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1
Processing ./frozendict-2.1.1-cp38-cp38-macosx_10_12_x86_64.whl
Installing collected packages: frozendict
Successfully installed frozendict-2.1.1
/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1
Finished executing pipInstallPhase
@nix { "action": "setPhase", "phase": "fixupPhase" }
post-installation fixup
strip is /nix/store/bx4prwlqjf856w4swv6vdz7v9avhwixy-cctools-binutils-darwin-949.0.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/nd0b93y9rxxj5b4pbm09bvyyhr2ivj61-python3.8-frozendict-2.1.1/lib
patching script interpreter paths in /nix/store/nd0b93y9rxxj5b4pbm09bvyyhr2ivj61-python3.8-frozendict-2.1.1
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
@nix { "action": "setPhase", "phase": "installCheckPhase" }
running install tests
no Makefile or custom installCheckPhase, doing nothing
@nix { "action": "setPhase", "phase": "pythonCatchConflictsPhase" }
pythonCatchConflictsPhase
@nix { "action": "setPhase", "phase": "pythonRemoveBinBytecodePhase" }
pythonRemoveBinBytecodePhase
@nix { "action": "setPhase", "phase": "pythonImportsCheckPhase" }
pythonImportsCheckPhase
Executing pythonImportsCheckPhase
Check whether the following modules can be imported: frozendict
@nix { "action": "setPhase", "phase": "pytestCheckPhase" }
pytestCheckPhase
Executing pytestCheckPhase
============================= test session starts ==============================
platform darwin -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: /private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1
collecting ...
collected 209 items / 4 deselected / 205 selected

test/test_frozendict.py ................................................ [ 23%]
....                                                                     [ 25%]
test/test_frozendict_c.py .............................................. [ 47%]
.......                                                                  [ 51%]
test/test_frozendict_c_subclass.py ........................Fatal Python error: Segmentation fault

Current thread 0x0000000204d61600 (most recent call first):
  File "/private/tmp/nix-build-python3.8-frozendict-2.1.1.drv-0/frozendict-2.1.1/test/test_frozendict_c_subclass.py", line 6 in __new__
  File "<string>", line 138 in test_pickle
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/python.py", line 1641 in runtest
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 311 in from_call
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/main.py", line 323 in _main
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/nix/store/1216wh5zl0aihlllllfsf49p6wvr5wzk-python3.8-pluggy-1.0.0/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/nix/store/jgx91xjidlp66bjhj7r97sg47sipr3p0-python3.8-pytest-6.2.5/lib/python3.8/site-packages/pytest/__main__.py", line 5 in <module>
  File "/nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/lib/python3.8/runpy.py", line 87 in _run_code
  File "/nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/lib/python3.8/runpy.py", line 194 in _run_module_as_main
/nix/store/p29idq7mnl2wnq144bdg8k7cqg8ygg4i-pytest-check-hook/nix-support/setup-hook: line 53: 45522 Segmentation fault: 11  /nix/store/5rpfiqanhg1gi1a8k4qq69mxbhz3nxnq-python3-3.8.12/bin/python3.8 -m pytest -k "not test_union" --ignore="test/test_coold.py" --ignore="test/test_coold_subclass.py"

The stack trace is in pytest, so I wonder if the problem is now on the Nix side of things.

Could you run ./test/debug.py 100?

Could you run ./test/debug.py 100?

This is what I get with Python 3.8 from Nix:
frozendict_class(dict_1)
frozendict_class(dict_3)
frozendict_class()
frozendict_class({})
frozendict_class([])
frozendict_class({}, **{})
frozendict_class(**dict_1)
frozendict_class(dict_1, **dict_2)
frozendict_class(fd_1)
fd_1.copy()
fd_1 == dict_1
fd_1 == fd_1
pickle.loads(pickle.dumps(fd_1))
frozendict_class(dict_1_items)
fd_1.keys()
fd_1.values()
fd_1.items()
frozendict_class.fromkeys(dict_1)
frozendict_class.fromkeys(dict_1, 1)
frozendict_class.fromkeys(dict_1_keys)
frozendict_class.fromkeys(dict_1_keys, 1)
frozendict_class.fromkeys(dict_1_keys_set)
frozendict_class.fromkeys(dict_1_keys_set, 1)
repr(fd_1)
fd_1 | dict_2
hash(fd_1)

for x in fd_1:
    pass

for x in fd_1.keys():
    pass

for x in fd_1.values():
    pass

for x in fd_1.items():
    pass

try:
    hash(fd_unashable)
except TypeError:
    pass

frozendict_class(dict_1)
frozendict_class(dict_3)
frozendict_class()
frozendict_class({})
frozendict_class([])
frozendict_class({}, **{})
frozendict_class(**dict_1)
frozendict_class(dict_1, **dict_2)
frozendict_class(fd_1)
fd_1.copy()
fd_1 == dict_1
fd_1 == fd_1
pickle.loads(pickle.dumps(fd_1))
frozendict_class(dict_1_items)
fd_1.keys()
fd_1.values()
fd_1.items()
frozendict_class.fromkeys(dict_1)
frozendict_class.fromkeys(dict_1, 1)
frozendict_class.fromkeys(dict_1_keys)
frozendict_class.fromkeys(dict_1_keys, 1)
frozendict_class.fromkeys(dict_1_keys_set)
frozendict_class.fromkeys(dict_1_keys_set, 1)
repr(fd_1)
fd_1 | dict_2
hash(fd_1)

for x in fd_1:
    pass

for x in fd_1.keys():
    pass

for x in fd_1.values():
    pass

for x in fd_1.items():
    pass

try:
    hash(fd_unashable)
except TypeError:
    pass

I’m getting a similar crash building the ledger-autosync derivation, so I don’t think the remaining crash problem is unlikely a frozendict problem.

May you re-test with the latest version? I completely refactored the C code. My CI/CD gives me no segfaults now, with more than 600 tests positive on MacOS, Linux and Windows.

I'm not sure if I did it correctly, pip install --force frozendict-2.1.0* in the original instructions didn't work for me, so I did pip install ., but all the tests pass:
(venv) bash-5.1$ python --version
Python 3.9.9
(venv) bash-5.1$ clang --version
Apple clang version 12.0.5 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin21.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
(venv) bash-5.1$ sw_vers
ProductName:	macOS
ProductVersion:	12.0.1
BuildVersion:	21A559

Yes, because now the version is 2.2.0. Thank you for the report :)


Docker - Base Training Image with Teams In Space Concept

This issue is a discussion issue. The intent is to get some feedback...
Teams in Space(TIS) is a Git repository provided by Atlassian. It contains some good data which can be used for training. I have gotten access to the Bitbucket repository. It is not public due to licenses. Atlassian experts can request access to the repository. So we need to keep it somewhere private. Our own docker registry?
Right now it Includes the following:

Jira Core
Jira Software
Service Desk
Confluence
Bitbucket
Bamboo
Crowd

It does not have the Portfolio plugin :-(
I have forked the bitbucket repository, so we can pull updates from Atlassian and provide access to other Praqma personnel for training sessions.
The questions:

Should we do docker here? Is this overkill?
Should we do a docker file to build the base image?
My first thoughts are yes. We want it reproducible.
If we make a Dockerfile for building the image then we need to provide a key for the clone command. What is the best approach for this?

one option is to embed the key in a based image. But this is not very secure.
Another option is to pass it in as an ENV variable at build time?
A final, and maybe better, option is to use something like Vault in another image, along with docker compose, to retrieve the key. Is this possible?

What should the image layers look like? My first Idea is something like this:

A base image with TIS cloned and installed.
Other training specific images with data added on top by adjusting the base image and committing the changes. For example a Portfolio training image, A Jira admin training image, a Service Desk training image, etc..

@buep @hoeghh @drBosse : Looking for some feedback here. What do you guys think?

When you have a fork of the repo, we should share it internally in Praqma either by a praqma internal git repo clone and/or docker image.
I would like both.
Is it possible to configure automation from your fork TIS to a Praqma github private repo? E.g. by a API key with access to your fork, plus our Jenkins server? So when TIS is updated our private repo is also?
Then we add our own docker file, build an image and push to a private registry on our docker hub. Then we have reproducible images.
If we have a license key in the image, and push to our private docker hub repo, then that should be fine enough. We just need to make sure we don't share it outside Praqma scope.

@buep I know we can import from BitBucket to GitHub. Not sure about a "mirror", for lack of a better word, but this would be the right solution in my opinion. Just not sure it is possible. I will use some time to consider the options. But first thoughts are along the same lines as yours. We will probably need to use Jenkins to keep them in sync.

@buep : I have given you access to fork on BitBucket. https://bitbucket.org/tim-praqma/teams-in-space-demo


[openSUSE linux] libqdldl.a does not contain a non-empty .text section.  The archive was not created with -ffat-lto-objects option.

Hello,
I'm trying to package qdldl to openSUSE Linux.
When I am trying to compile it, RPMLINT warn me about the error as seen below.
E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libqdldl.a
 This archive does not contain a non-empty .text section.
The archive was not created with -ffat-lto-objects option.

I don't really understand this error myself, but some documentation here.
https://en.opensuse.org/openSUSE:LTO#LTO_enablement_in_openSUSE:Factory
The documentation suggest adding %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects but openSUSE maintainer suggest that it should be fix upstream.
Here is some more documentation on LTO
https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html
Here is a openSUSE package building log: https://build.opensuse.org/package/live_build_log/home:andythe_great/qdldl/openSUSE_Tumbleweed/x86_64
Thanks.

I also do not understand the error, but this very similar issue seems relevant : https://github.com/OpenChemistry/avogadrolibs/issues/455

From what I gather, this error basically means the static library doesn't contain any LTO symbol information, so when it is eventually linked into the final executable it won't be able to have any LTO optimizations applied to it across the library boundary. This doesn't stop its use as a library though, just the application of optimizations.
The part I don't get is, why is this an upstream issue? If OpenSUSE wants to enable LTO on packages and libraries, then it would make more sense for the flag to be added downstream where the actual -flto flag is being added to the build. This is also safer, since then it doesn't force the flag on other users who might not want it.

Hello,
I have ask RPMLINT dev and they explain here, quote,
It is because of LTO compilation the openSUSE does.

If it is not compiled with this option then stuff gets optimized away and things tend to completely break.

This can't be generalized as all the static libraries need to have this argument passed in their cflags. Yet another policy tho tells you 'no static libraries' so at the moment from all the packages in Tumbleweed I see 50 that need this tweaking.

In theory it can be fixed in upstream as well, as it is not SUSE specific but rather LTO specific thingy, but if the upstream does not care about link time optimalization then the global is pretty decent solution.

Also if you happen to have some wording suggestion that would improve the understanding for you please feel free to propose it here and we will gladly update the message in rpmlint.

Anyway, I think I will just add the flag %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects to my spec file, and that should be ok.
Thanks.


Chore refine error output on edit log

Proposed changes
refine error output on edit log
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.08 seconds
load time: 495 seconds
storage size:<PHONE_NUMBER>0 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230119161823_clickbench_pr_84268.html

Why remove e?

Why remove e?

It seems that there are only two {} in the previous string, does e have any special meaning here?

Why remove e?

It seems that there are only two {} in the previous string, does e have any special meaning here?

The last e will print the stack trace of the exception, which can help to debug


CORS request doesn't send cookies

I am making a request where I need to pass the cookies for the current domain to another domain i.e. CORS request. Currently cookies aren't sent when making CORS requests.
The scenario:
I am on https://example.com and I make a request
    syncRequest('GET', 'https://api.example.com')

This leads to a 401 unauthorised because the cookie isn't sent.
I believe the underlying request is made using XMLHttpRequest. Some documentation suggests you can include cookies when making CORS requests by setting XMLHttpRequest.withCredentials = true.

You should not use sync-request for browser based applications due to the performance issues.  If you want to fix this, I suggest sending a pull request to https://github.com/then/then-request with the appropriate changes. Those changes can then be integrated into sync-request afterwards.


Remove environment flag from graph

Description
As the environment flag has no impact on app graph the best option is to remove.
Type of change

This pull request fixes a bug in Radius and has an approved issue (issue link required).

Fixes: #7507

@ytimocin is this OK to merge? Let me know if you need anything changing.

@ytimocin is this OK to merge? Let me know if you need anything changing.

merged


Better way to get the schedule

The schedule of any Wilma user can be requested from "/schedule/export/students/<id>/?date=<date, ie. 08.10.2020>" as plain JSON instead of parsing it out with the page. If the query is left out periods will be returned. The <id>is the student id. The request is made as a GET request.

Does it work without the ID?

Yeah it does not. Github formatted the URL incorrectly at first. I had to escape the tags to fix that. Anyhow, I'll address this in the next profiles update. As we first need a way to get the logged in users id.

One way is via overview

Exactly said, the formkey

Or fetch the schedule HTML page and get the URL there

Nah I'll just do the profiles update first and then this.


How to contribute to this library?

I have a PR I opened a few months ago in the react-navigation repo, but I realize that the stack navigator related content was moved to this repo. I updated my PR to be compatible with react-navigation-stack, but I'm unsure what to add as my upstream remote.
For react-navigation it was git remote add upstream https://github.com/react-community/react-navigation.git, but simply changing react-navigation to react-navigation-stack didn't seem to work.

Nevermind -- I realized I could compare the changes from my fork using GitHub instead of from my command line.


Add 18 platforms, reformat existing resources

Add MLflow, Sacred, FGLab, Studio.ML, OpenWhisk, Google Cloud Machine Learning Engine, Microsoft Azure Machine Learning service, IBM Watson Machine Learning, Datmo, Valohai, Dataiku, MCenter, Skafos, SKIL, MLJAR, MissingLink, DataRobot, and RiseML.
Fix formatting of PMML and BigDL.
Make Pachyderm YouTube video start from the beginning.

Thank you very much for the great contributions @tuomastik - very much appreciated!

My pleasure!


cache processing is self overwriting (and crash...)

the cache is maybe not reliable, I've made some test with ab command (apache bench) with maybe concurent level set to 10 or more and sometimes, the resulting cache make the application crash... with an error about scalar variable. In order to solve it I have to empty the cache folder...
Maybe it would be more reliable to use zend cache... ?

Could you say more information about the tests? Or even better to show the code, please?
It must be a bug in the fileystem implementation of the CacheInterface. What we should probably do is to add more common implementations.
I don't like Zend Cache because it depends on another Zend libraries and it doesn't have an independent git repository (and the zf2 one is huge).

I relauch ab a few time to have this error again... and I got it
here is the md5.php file corresponding to the bug

<?php

return 1;ray (
  'fields' =>
  array (
    'affiche' => 1,
  ),
);

It looks like a mixture between 2 caching files : maybe...
1st one:

<?php

return 1;

2nd one:

<?php

return array (
  'fields' =>
  array (
    'affiche' => 1,
  ),
);

I think that the generated filename of cache file is not unique (or not enough on high conccurency)...
Tell me what you think of this issue ;)
thx

in FilesystemCache.php (line 68) maybe add LOCK_EX flag to the file_put_contents
before:
        if (false === @file_put_contents($file, $content)) {
            throw new \RuntimeException(sprintf('Unable to write the "%s" file.', $file));
        }

after:
        if (false === @file_put_contents($file, $content, LOCK_EX)) {
            throw new \RuntimeException(sprintf('Unable to write the "%s" file.', $file));
        }

maybe?

@pablodip just made a PR, (it seems to work on my few tests) https://github.com/mandango/mandango/pull/14


Upgrade to JDK 21

Is your feature request related to a problem? Please describe.
Latest LTS version of JDK is 21. However, current version of this library is 11.
Describe the solution you'd like
Upgrade the Maven configuration of the project to compile this library for JDK21

Resolved in version 2.0.0 of this library


Auto-playlist Song Cooldown

Currently, the same song from the auto-playlist can be played again within the next few songs. This might be able to be accomplished the same way as #800 to prevent the song from being played too often. If the auto-playlist feature was about to play a duplicate, it would just choose the next song in the list.

see #613


Make changes persistent

[1] The settings changes is not persistent for next/future sessions.
Please have the settings to be persistent.
[2] Also another request is to make the window size and position to be remembered or persistent as the last session.

which settings are not saving ?

which settings are not saving ?

Every one of it, maybe it's due to update/installation of new version makes it override the previous settings.

that is strange, it should save.
can you send me the log file?
AppData\Local\Totoro\ApplicationData\Logs

that is strange, it should save. can you send me the log file? AppData\Local\Totoro\ApplicationData\Logs

log20221229.txt
log20221230.txt

this log files don't have anything related to you changing settings. looks like you are in the media player page.
delete today log file, open app, go to settings, change some values and give log.


widevine black screen

Describe the bug
A clear and concise description of what the bug is.
black screen but sounds okey whether it's on netflix or this test website
To Reproduce
Steps to reproduce the behavior:
copy the widevinecmd folder from chrome to the right spot in application, since the sounds is working i guess this is a problem with widevine itself?
the build is from marmaduke
Expected behavior
video should work accordingly
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS/Platform and version: windows 10
ungoogled-chromium version: marmaduke 96.0.4664.45

Additional context
Add any other context about the problem here.

likely a problem with a capture software


Double click on find all references view throws exception

Moved from Microsoft/vscode#8381

From @isidorn
Refs: #8229

IE11 open https://microsoft.github.io/monaco-editor/index.html, TS sample
Find all references on something, double click inside find all references view
Notice exception in console

@isidorn  - This works for me now, not sure if it got fixed or we're doing things differently?

@alexandrudima I am still getting this, I just double click inside the find all references view on IE11 and I get the exception in the console. Drop by my machine if you want to see it :)