Bug in retireCarbonSpecific

Hi,there is a bug in retireCarbonSpecific when  poolToken and  sourceToken is not equal and amountInCarbon is false
    function _prepareRetireSpecific(
        address _sourceToken,
        address _poolToken,
        uint256 _amount,
        bool _amountInCarbon,
        address _retiree
    ) internal returns (uint256, uint256) {
        (
            uint256 sourceAmount,
            uint256 totalCarbon,
            uint256 fee
        ) = _transferSourceTokens(
                _sourceToken,
                _poolToken,
                _amount,
                _amountInCarbon,
                true
            );

        // Get the pool tokens

        if (_sourceToken != _poolToken) {
            // Swap the source to get pool
            if (_amountInCarbon) {
                // Add redemption fee to the total to redeem.
                totalCarbon += _getSpecificCarbonFee(_poolToken, _amount);
                _amount += _getSpecificCarbonFee(_poolToken, _amount);

                // swapTokensForExactTokens
                _swapForExactCarbon(
                    _sourceToken,
                    _poolToken,
                    totalCarbon,
                    sourceAmount,
                    _retiree
                );
            } else {
                // swapExactTokensForTokens
                (_amount, fee) = _swapExactForCarbon(
                    _sourceToken,
                    _poolToken,
                    sourceAmount
                );
            }
        } else {
            _amount = sourceAmount - fee;
        }

        if (!_amountInCarbon) {
            // Calculate the fee and adjust if pool token is provided with false bool
            fee = (_amount * feeAmount) / 1000;
            _amount = totalCarbon - fee;
        }

        return (_amount, fee);
    }

example :
sourceToken : usdc
poolToken : bct
amountInCarbon:false
amount : 10 usdc
we consider 2 usdc equal to 1 bct
in this case _swapExactForCarbon return  amount of bct (that is 4.95 bct if feeAmount is 1 %)
then because _amountInCarbon is false the below code also run:
if (!_amountInCarbon) {
    // Calculate the fee and adjust if pool token is provided with false bool
    fee = (_amount * feeAmount) / 1000;
    _amount = totalCarbon - fee;
}

and _amount updated here again with a value greater than the actual value that is 4.95
based on the calculations  totalCarbon is 10 and _amount updated to something near to 9.9
in this case the above if must not be executed .

Reported by Discord user aliad010#0292

@mahdiGhorbanzadeh  thanks for the heads up! I'm not sure I follow where this bug is going though. Let's trace through the function call using your example values.
_sourceToken : usdc
_poolToken : bct
_amountInCarbon:false
_amount : 10 usdc (10000000 raw input)
A quick note on the values supplied to the reitreCarbon function call. If we were using the amountInCarbon as true and wanted to retire 5 tons, we would supply 5 (with appropriate decimals) for the amount field. You don't supply the amount including the fee (as it could change potentially)
            // Swap the source to get pool
            if (_amountInCarbon) {
                // Add redemption fee to the total to redeem.
                totalCarbon += _getSpecificCarbonFee(_poolToken, _amount);
                _amount += _getSpecificCarbonFee(_poolToken, _amount);

                // swapTokensForExactTokens
                _swapForExactCarbon(
                    _sourceToken,
                    _poolToken,
                    totalCarbon,
                    sourceAmount,
                    _retiree
                );
            } else {
                // swapExactTokensForTokens
                (_amount, fee) = _swapExactForCarbon(
                    _sourceToken,
                    _poolToken,
                    sourceAmount
                );
            }
        } else {
            _amount = sourceAmount - fee;
        }```

=== Swapping to the pool tokens ===
- We meet the first condition of this statement as USDC <> BCT.
- As the `amountInCarbon` is false, we execute the `swapExactTokensForTokens` function. This takes the total supplied token amount (10 USDC) and swaps all of it into the pool token. When this is done `_amount` is updated to be the value of the pool tokens received. Taking the value of BCT = 2 USDC, we `_amount` would now equal 5 (with decimals)

=== Adding in the fee for unspecified retirement amounts ===
- At this point we only know how many pool tokens we have been able to acquire, we need to calculate and return a fee.
I believe that the issue might lie within the `_amount = totalCarbon - fee;`, as `totalCarbon` in this case did not get properly updated along the way.

hi @cujowolf.
we agree that in our case this part execute
 (_amount, fee) = _swapExactForCarbon(
                    _sourceToken,
                    _poolToken,
                    sourceAmount
                );

and gives us 4.95 for _amount and 0.05 for the fee.
but the point is that
```
if (!_amountInCarbon) {
// Calculate the fee and adjust if pool token is provided with false bool
fee = (_amount * feeAmount) / 1000;
_amount = totalCarbon - fee;
}
also execute. and wrongly update the fee and _amount.

when
if (!_amountInCarbon) {
            // Calculate the fee and adjust if pool token is provided with false bool
            fee = (_amount * feeAmount) / 1000;
            _amount = totalCarbon - fee;
        }

executes and wrongly updates _amount (that is more than 4.95)
if we consider this part of code
        (_amount, fee) = _prepareRetireSpecific(
            _sourceToken,
            _poolToken,
            _amount,
            _amountInCarbon,
            _retiree
        );

in the retireToucanSpecific we got wrong value for _amount and fee and try to retire that wrong value.
because we can retire only 4.95 bct but trying to retire something more than 4.95 bct execution must revert.

Ah yeah I see that now. Will get working on the fix here.

great 👍

You can do something like this (add return in else)
if (_amountInCarbon) {
                // Add redemption fee to the total to redeem.
                totalCarbon += _getSpecificCarbonFee(_poolToken, _amount);
                _amount += _getSpecificCarbonFee(_poolToken, _amount);

                // swapTokensForExactTokens
                _swapForExactCarbon(
                    _sourceToken,
                    _poolToken,
                    totalCarbon,
                    sourceAmount,
                    _retiree
                );
            } else {
                // swapExactTokensForTokens
                (_amount, fee) = _swapExactForCarbon(
                    _sourceToken,
                    _poolToken,
                    sourceAmount
                );
                return(_amount, fee);
            }

or change check like this
if (!_amountInCarbon && _sourceToken == _poolToken) {
            // Calculate the fee and adjust if pool token is provided with false bool
            fee = (_amount * feeAmount) / 1000;
            _amount = totalCarbon - fee;
        }


Spacing group issue

There is no space between the first two groups and I get two spaces at the end when I use Format Using Directive (I replace the namespace name with test for anonymous purpose) :

UsingDirectiveFormatter Settings :

It works the first time I installed the extension. But KO when restarting VS. I reproduced the bug on another PC with the same scenario. So I was thinking it was a save option error but all seems correct in the registry. Do you have ever tested it with VS 2017 ?
VS 15.3.5
Win 7
Thanks.

The bug fix will come in 1.5.6


Cleanup code under Media\

we have a lot of code under media\ which belongs in chromium\ or we are duplicating it in our side.  The plan was to clean this up eventually. This issue is to track any related work.

Ongoing work


Update to ember & ember-cli 2.3

This is a somewhat larger PR than #32 -- for using an updated version of eslint-config-ember -- but it arose out of my dabbling on that branch. With tests failing locally and in CI when I was trying to address #20 and #28, I figured I’d take a shot at updating to ember-cli @ 2.3 and its related set of dependencies. (Documentation on Ember CLI releases can be found here.)
Getting the tests themselves to pass ESLint required a few extensions to eslint-config-ember — which highlights the other effort underway to improve those defaults — but my idea here is that solidifying the structure of ember-cli-eslint will help both projects grow together.

@BrianSipple thank you so much for this work, the project was in desperate need of this update. I'm sorry my time hasn't been concentrated on it enough!


Maintenance planning

Hi,
It seems the current maintainers were inactive recently and the development in this repo stalled.
@C47D volunteered to take it over.  Thank you very much! :heart:
Now 1 approval is required to merge PRs so we needed to either

remove this rule and allow any maintainers merge PRs (people can't approve their own PRs so if @C47D opens a PR he can't merge it.)
Onboard one more new maintainer. It would be great to make it less lonely :slightly_smiling_face: Maybe @AlixANNERAUD?
See if anyone of the current maintainers are interested in working on this repo again.

I’d be happy to help, but I want to be transparent about my availability. Due to school and my professional commitments, I can’t guarantee how much time I’ll be able to dedicate to the project.
That said, I’ll do my best to contribute whenever I can!

Thank you Alix.

That said, I’ll do my best to contribute whenever I can!

What could it mean in the practice? Is at least 1 hour per week reasonable? If so I think it's enough to review some important PRs.

I think dedicating at least 1 hour per week should be manageable for me.

Great! @C47D are you ok with inviting @AlixANNERAUD as well with write access?

Great! @C47D are you ok with inviting @AlixANNERAUD as well with write access?

Yes, sounds great


docs: potential looking for maintainers section

✨  Experimenting with the Schema ✨
This PR tries to introduce the concept of unmaintained userstyles into the repository, with the hopes of starting some conversation as I'd like to try and apply this to the wider organisation (of course, after a maintainer audit...)
I've picked on @rubyowo here because I remember her saying that she doesn't really want to maintain any userstyles (if you didn't, I'm sorry but you're getting picked on anyways.) Will we hope and pray that Ruby changes her mind? Will we keep relying on @isabelroses to try and work on userstyles that they might not necessarily want to work on? Not necessarily saying that's the case but some food for thought :P
In terms of the changes, I've

Updated the handlebars template to display a looking for maintainers message if no current-maintainers array is present.
Modified the schema to not require current-maintainers anymore.
Modified the code to handle the current-maintainers array being undefined

By no means are these changes elegant or even should be accepted, but I think it's time we started properly trying to work around the fact that people in open source lose motivation, move on, deal with other things, etc. (properly trying = trying to document this in metadata and display the information on READMEs)
Appreciate any thoughts.
🗒 Checklist 🗒

[x] I have read and followed Catppuccin's contributing guidelines.
- [ ] I have updated the version appropriately in the ==UserStyle== header of the catppuccin.user.css file.

The AOC port is pretty stable, and i wouldn't mind maintaining it (because there's nothing to do)

The AOC port is pretty stable, and i wouldn't mind maintaining it (because there's nothing to do)

Yeah AOC isn't a great example there but I was just trying to get at the fact that maintainership essentially comes down "who cares if an issue gets raised, a PR is raised, the website changes, etc"
It's not even about getting fixes out in a timely fashion or adding features (as you said, things can be stable and that's fine) but it's just about having someone that cares and can eventually conjure up the motivation to work on it right.
The chatgpt port is probably a good example here since they might change the UI tomorrow and break a bunch of stuff, at that point I'd expect the maintainer listed against the userstyles to care right?

Also i would recommend adding a "Picking up userstyles" section to CONTRIBUTING.md and linking to it from the readme

Will we keep relying on @isabelroses to try and work on userstyles that they might not necessarily want to work on? Not necessarily saying that's the case but some food for thought :P

I don't mind working on unmaintained styles because its rare that they need large updates, however it would completely unsustainable, so I completely support this PR.

Hello everyone that's been requested for a review :wave:
This PR assumes that you are no longer willing to maintain your userstyle and therefore is removing you, based on the userstyle not being updated with regards to issues raised. I realise that this may seem sudden and quite harsh.
I will aim to publish a document that precisely defines what maintainership means for Catppuccin :+1:

Pretty much all of my userstyles are practically complete, i.e. they don't really need any further work unless there is a breaking change or an unthemed area I might have missed. I'm still available for those. There hasn't been any particular issue raised on any my styles as far as I can tell and I have not experienced any theming issues on those specific sites. TLDR; The userstyles are essentially complete (for now) though I'm still available for resolving any issues.


Upgrade nvidia driver manually

Can I upgrade NVIDIA driver manually instead of via Pai?
I've tried many versions of the driver,but failed beacuase  Driver/library version mismatch。
Does this have anything to do with pai?
Besides，The driver seems to be reset to version 384 by pai after a while.

Have you manually installed the nvidia drivers with apt on your machine?

Have you manually installed the nvidia drivers with apt on your machine?

yes

i think you haven't remove the driver installed by openpai. And its module is still running in your os. Before install the drivers by yourself, you should unload it at first.

You could remove openpai's drivers and unload the module from kernal with this script https://github.com/microsoft/pai/blob/master/contrib/kubespray/clean-nvidia-driver-by-openpai.sh
And then you should reboot your machine.
Suggest remove the driver installed by yourself too. And install it again after cleaning the driver of openpai

i think you haven't remove the driver installed by openpai. And its module is still running in your os. Before install the drivers by yourself, you should unload it at first.

You could remove openpai's drivers and unload the module from kernal with this script https://github.com/microsoft/pai/blob/master/contrib/kubespray/clean-nvidia-driver-by-openpai.sh
And then you should reboot your machine.
Suggest to remove the driver installed by yourself too. And install it again after cleaning the driver of openpai

Closing the issue as the question has been answered, feel free to reopen if there are any part not yet address. We are also love to hear the feedback on trying the suggestions. @zhanlinfeng


Add changelog

Hi! Thanks for the great lib but it's very inconvenient to track changes between versions.
It would be great either to add CHANGELOG.md or attach this info to new releases.
Thanks!

Ah, sorry, found it in the end of README.md.

you are right though, this is uncommon, I'll move the changelog to a seperate file.


Add method for cleaning up existing log handlers

For battling with libraries that sets log handlers in the library code

Done in wvlet/airframe


Changelog commit includes option to start with "[skip ci]" > "[skip ci] Update CHANGELOG.md"

To avoid chain of infinite pipelines, allow with additional parameter to name the commit with updated changelog file:
"[skip ci] Update CHANGELOG.md"
parameter can be named:
--pr_update_changelog.skip_ci_include=true
by default set to false so there is no breaking change

share more details.
How would an "infinite" chain will be created in the first place ?
It is unclear to me

if you run pipeline on every pull request. If you do a commit within pull request, it triggers the pipeline

you are welcome to open a PR to try and address this


Missing repo tags

Bug description:
After #680 will be fixed a new pod install error will occur: fatal: Remote branch v5.11.0 not found in upstream origin. This happens because CocoaPods downloads specified tag sources from this repo during pods installation and this repo does not have tags for v5.12.0, v5.11.0, v5.10.0 and v5.9.1. Please make tags for these versions.
To Reproduce:
Same as for #680
Expected behavior:
No error occurred
Environment:

OS: any
OS version: any
react-native version: any
react-native-webview version: 5.11.0 for example

alright thanks


LinearLayout should not change size of fixed children if possible

Currently LinearLayout shrinks WRAP_CONTENT items as well as FILL_PARENT ones.
It should avoid this if possible.

Fixed


Add github action to build image and upload to ghcr.io

Images will be built automatically and uploaded to ghcr.io so people don't need to build locally.
It would look like: https://github.com/FlyGoat?tab=packages&repo_name=docker_open5gs

Thats cool. I am not quite familiar with github actions. So if I understood it right, whenever I push a commit to master, the image gets built automatically and uploaded??

Thats cool. I am not quite familiar with github actions. So if I understood it right, whenever I push a commit to master, the image gets built automatically and uploaded??

Yes that’s correct, something like
https://github.com/FlyGoat/docker_open5gs/actions/runs/10539299779
Would be performed for every push.
Also for pull_request build test will be performed but artifacts won’t be published to the registry.
Thanks

Thank you for your contribution

Sorry, one last question, if I push changes to any other branch than master would the github action compile image??

Sorry, one last question, if I push changes to any other branch than master would the github action compile image??

It will I think, the image will be tagged with branch name.

I don't really know why https://github.com/herlesupreeth/docker_open5gs/actions/runs/10596034473 failed, looks like a GitHub glitch.
Will try to update README.md about ghcr.io prebuilt image usage if things work out.

Could it be due me not having a PRO github account and the quota for image size is reached??


[Bug] Error closing app [sf#177]

Reported by mjeveritt on 2015-12-30 03:48 UTC
ERROR   : None
An unexpected error occurred!

Date and time:       2015-12-30T03:44:50.876803
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x5489bf0> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x5489bf0> >

Commented by mjeveritt on 2015-12-30 04:15 UTC
Actually, this is the first of three error dialogs that appear. I've attached my log for reference. Only seem to occur with a project open, not after first run.

Date and time:       2015-12-30T03:44:50.553690
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x3671940> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x3671940> >

2015-12-30 03:44:50,736 root ERROR: None
An unexpected error occurred!

Date and time:       2015-12-30T03:44:50.736402
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x5142e10> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x5142e10> >

2015-12-30 03:44:50,876 root ERROR: None
An unexpected error occurred!

Date and time:       2015-12-30T03:44:50.876803
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object!

Date and time:       2015-12-30T04:10:39.525620
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x479b8b0> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x479b8b0> >

2015-12-30 04:10:39,739 root ERROR: None
An unexpected error occurred!

Date and time:       2015-12-30T04:10:39.739705
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x6059fa0> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x6059fa0> >

2015-12-30 04:10:39,864 root ERROR: None
An unexpected error occurred!

Date and time:       2015-12-30T04:10:39.864445
Python version:      2.7.6
wxPython version:    <IP_ADDRESS>
wxWidgets platform:  __WXGTK__
wxGlade version:     not found
Language code:       en_GB
Encoding:            UTF-8
Filesystem encoding: UTF-8

Exception type:      <class 'wx._core.PyDeadObjectError'>
Exception details:   The C++ part of the Window object has been deleted, attribute access no longer allowed.
Application stack trace:
Stack frame at level 0
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615
  Function "__getattr__(self=wxPython wrapper for DELETED Window object! (The C++ object no longer exists.), *args=('this',))"
  Source code context:
          def __getattr__(self, *args):
              if not hasattr(self, "_name"):
                  self._name = "[unknown]"
  ->          raise PyDeadObjectError(self.attrStr % self._name)

          def __nonzero__(self):
              return 0
  Local variables:
  -> self (<class 'wx._core._wxPyDeadObject'>): wxPython wrapper for DELETED Window object! (The C++ object no longer exists.)
  -> args (<type 'tuple'>): ('this',)

Stack frame at level 1
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 8477
  Function "Destroy(*args=(wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),), **kwargs={})"
  Source code context:
              Returns True if the window has either been successfully deleted, or it
              has been added to the list of windows pending real deletion.
              """
  ->          args[0].this.own(False)
              return _core_.Window_Destroy(*args, **kwargs)

          def DestroyChildren(*args, **kwargs):
  Local variables:
  -> args (<type 'tuple'>): (wxPython wrapper for DELETED Window object! (The C++ object no longer exists.),)
  -> kwargs (<type 'dict'>): {}

Stack frame at level 2
======================
  File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665
  Function "<lambda>(event=<wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x6092070> >)"
  Source code context:
          if not hasattr(app, "_CallAfterId"):
              app._CallAfterId = wx.NewEventType()
              app.Connect(-1, -1, app._CallAfterId,
  ->                      lambda event: event.callable(*event.args, **event.kw) )
          evt = wx.PyEvent()
          evt.SetEventType(app._CallAfterId)
          evt.callable = callable
  Local variables:
  -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x6092070> >

Commented by mjeveritt on 2015-12-30 04:23 UTC
Steps to reproduce:

Start wxGlade
Open WXG project file
Close wxGlade, observe Error dialogs.

Updated by cgrohmann on 2015-12-30 10:50 UTC

assigned_to: Carsten Grohmann
Group: Development Version --> Official Release

Updated by cgrohmann on 2015-12-30 19:51 UTC

labels: v0.7.1 -->
Affected Version:  --> 0.7.1

Commented by cgrohmann on 2016-01-15 20:41 UTC

Description has changed:

Diff:

--- old
+++ new
@@ -1,3 +1,4 @@
+~~~Python
 ERROR   : None
 An unexpected error occurred!

@@ -59,3 +60,4 @@
           evt.callable = callable
   Local variables:
   -> event (<class 'wx._core.PyEvent'>): <wx._core.PyEvent; proxy of <Swig Object of type 'wxPyEvent *' at 0x5489bf0> >
+~~~

Commented by cgrohmann on 2016-01-15 20:41 UTC
The bug is probably caused by a changed code for handing sizer slots. I'll investigate it.

Commented by cgrohmann on 2016-01-23 18:32 UTC
Hi Michael,
this bug is fixed in changeset 1852:60fe758aa299 "Fix PyDeadObjectError during closing wxGlade".
The fix will be part of the next offical release.
If you need the fix more urgent, then you may download the current development version from https://bitbucket.org/agriggio/wxglade/get/tip.tar.gz .
Thank you for reporting this bug,
Carsten

Updated by cgrohmann on 2016-01-23 18:32 UTC

status: open --> closed

Commented by mjeveritt on 2016-01-23 18:37 UTC
Thanks Carsten that's great. I'll patch the gentoo ebuild as above.


[BUG] "No tests found" when opening the summary window rigth before running tests the first time

NeoVim Version
NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1693350652

Describe the bug
When having a keymap to open the summary window right before running the tests will show the message "No tests found". The second time it does run fine.
To Reproduce
A minimal minimal.lua to reproduce which can be run as the following:
nvim --clean -u minimal.lua

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
        vim.fn.system({
                "git",
                "clone",
                "--filter=blob:none",
                "https://github.com/folke/lazy.nvim.git",
                "--branch=stable",
                lazypath,
        })
end
vim.opt.rtp:prepend(lazypath)

vim.g.mapleader = " "
vim.g.maplocalleader = "\\"

require("lazy").setup({
        {
                "nvim-treesitter/nvim-treesitter",
                opts = {
                        ensure_installed = {
                                "lua",
                        },
                        auto_install = true,
                },
        },
        {
                "nvim-neotest/neotest",
                dependencies = {
                        "nvim-neotest/nvim-nio",
                        "nvim-lua/plenary.nvim",
                        "antoinemadec/FixCursorHold.nvim",
                        "nvim-neotest/neotest-plenary",
                },
                config = function()
                        local neotest = require("neotest")

                        vim.keymap.set("n", "<Leader>ta", function()
                                neotest.summary.open()
                                neotest.run.run(vim.fn.expand("%"))
                        end, { desc = "Run all tests" })

                        neotest.setup({
                                log_level = vim.log.levels.TRACE,
                                adapters = {
                                        require("neotest-plenary")
                                },
                        })
                end,
        },
})

Steps to reproduce the behavior:

Go to a plenary test file, for example tests/unit/client/event_spec.lua in the neotest repo.
Run the tests via <leader>ta.
The summary opens and see the error "No tests found".

Expected behavior
Expected to have neotest run all the tests in the test file.
Logs
neotest.log

I have tried changing the order of calls to neotest.summary.open() and neotest.run.run(vim.fn.expand('%')) and the tests did run, even at the first try.
To clarify, I have changed the keymap to the following:
vim.keymap.set("n", "<Leader>ta", function()
    neotest.run.run(vim.fn.expand("%"))
    neotest.summary.open()
end, { desc = "Run all tests" })

My guess as to what is actually causing the issue would be that when the summary opens, neotest starts searching for tests, and if you try to run a test before it's done searching you won't be able to. However, that restriction does not seem necessary as one can call neotest.run.run(...) even with the summary closed and the tests will run.


Codegen template literals

Codecov Report
Attention: Patch coverage is 96.15385% with 1 line in your changes missing coverage. Please review.

Project coverage is 84.70%. Comparing base (57de67c) to head (8f0ebb8).

Files
Patch %
Lines

src/Escalier.Codegen/Codegen.fs
94.73%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #310      +/-   ##
==========================================
+ Coverage   84.66%   84.70%   +0.04%
==========================================
  Files          23       23
  Lines       11468    11491      +23
  Branches     1591     1592       +1
==========================================
+ Hits         9709     9734      +25
+ Misses       1759     1757       -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: 🎸 allowed for node value to be muttable

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add borderWidth to outer radius when having 'bordered' style

Prevent outer circle border to be drawn with additional empty space border.
This fix allows to draw border right within bounds without additional space in between of bounds and circle border.
UI setup:
.innerRingWidth = 2
.outerRingWidth = 2
.outerRingColor = <#Color#>
.startAngle = 270
.value = 99

UI Before Fix:

UI After FIx:

Thanks for this!
Will manually merge since the failing test is faulty and will be removed from CI soon.

Now available in v6.2.1, thanks again!


trouble with Install EVE

I have trouble with EVE building
When I do 'make live' It seems that It failed because Could not pull image linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64
Creating go builder image for user anton
eve-build-anton docker container is ready to use
cd /home/anton/git/eve/dist/amd64/installer ; _() { C=`docker create $1 fake` ; shift ; docker export $C | tar -xf - "$@" ; docker rm $C ; } ; _ lfedge/eve-u-boot:d4c47072ebe9022d8bfd9e41077b755afd7520d8-amd64 boot
f58500191d7fad25505dee6b6908346de74884e5af126e866aa522979d01dd4f
cd /home/anton/git/eve/dist/amd64/installer ; _() { C=`docker create $1 fake` ; shift ; docker export $C | tar -xf - "$@" ; docker rm $C ; } ; _ lfedge/eve-grub:d77ecff8639aa6d3b7a06641b21907a8afc74f76-amd64 EFI
992e1ee514e7f230ae8172e85df8e1761123d67b8c5b88607209a5e58898e404
Done building /home/anton/git/eve/build-tools/bin/linuxkit
./tools/makerootfs.sh images/rootfs-xen.yml /home/anton/git/eve/dist/amd64/installer/rootfs-0.0.0-master-d4574c69-xen-amd64.squash squash
Extract kernel image: lfedge/eve-kernel:3382d12597cbef7d637d616cc7c7617c012b92d4-amd64
Add init containers:
Process init image: linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64
FATA[0006] Failed to build init tarball from linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64: Could not pull image linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64: Trusted pull for linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64 failed: client is offline
./lib/modules/5.4.51-linuxkit/extra/xr_usb_serial_common.ko: Truncated input file (needed 216 bytes, only 0 available)
bsdtar: Error exit delayed from previous errors.
make: *** [Makefile:524: /home/anton/git/eve/dist/amd64/installer/rootfs-0.0.0-master-d4574c69-xen-amd64.squash] Error 1
rm images/rootfs-xen.yml images/rootfs-xen.yml.in

But if I do 'docker pull' It is successful
docker pull linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64
a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64: Pulling from linuxkit/init
Digest: sha256:ddf114c6ef6b81ab3ceebeabad006d4875a2ea3e0affb06b332dc2b2da53fa23
Status: Image is up to date for linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64
docker.io/linuxkit/init:a68f9fa0c1d9dbfc9c23663749a0b7ac510cbe1c-amd64

My environment details
Linux antonnotebook 5.4.0-54-generic #60-Ubuntu SMP Fri Nov 6 10:37:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
anton@antonnotebook:~/git/eve$ docker --version
Docker version 19.03.13, build 4484c46d9d
anton@antonnotebook:~/git/eve$ go version
go version go1.15.5 linux/amd64

Couple of observations:

most of out developers are on Mac OS X (hence your help with making Linux as a dev platform will be greatly appreciated)
Trusted pull for is very suspiciously reminding us of a linuxkit trust issues that @deitch is working on upstream

In fact, I'm pretty sure #2 is actually very much the culprit here -- we're stuck with the trust model that linuxkit is enforcing upon us via Docker Notary. It is, by itself, may not be a huge deal but it becomes a pretty big deal when we are trying to do "cross-build" and pull -amd64 type of artifacts. All of that, again, is what @deitch is working on and could comment.
Ultimately, until this is fixed upstream (few weeks from what I understand) we're sort of stuck with various workarounds. Last time it happened I believe @eriknordmark (the only other developer using Linux as a dev platform day in and day out) had to completely blow up his Docker cache and then it started working again (I maybe fuzzy on details -- @eriknordmark can probably say more here).

The issues I have from time to time seem to be related to very slow DNS service from my ISP.; @deitch has verified that linuxkit has a low timeout when doing the (trusted) pull.
Sometimes it helps to change the DNS server (to <IP_ADDRESS>) and sometimes not. And after a while the problem goes away.

Thanks a lot!

Sometimes it helps to change the DNS server (to <IP_ADDRESS>) and sometimes not. And after a while the problem goes away.
It works of me!


Datasets are not available

Hi,
When I I trying to download datasets, it shows:
bash download.sh
--2022-07-28 14:01:37--  https://docs.google.com/uc?export=download&confirm=&id=1ylw6AZ8AsyRmvook3FXrR2miSNajo6HE
Resolving docs.google.com (docs.google.com)... 2a00:1450:4014:80e::200e, <IP_ADDRESS>
Connecting to docs.google.com (docs.google.com)|2a00:1450:4014:80e::200e|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2022-07-28 14:01:37 ERROR 404: Not Found.

--2022-07-28 14:01:37--  https://docs.google.com/uc?export=download&confirm=&id=1KUv6PAAIuRlzoZbw1xEv4-l_3gQ3_UCF
Resolving docs.google.com (docs.google.com)... 2a00:1450:4014:80e::200e, <IP_ADDRESS>
Connecting to docs.google.com (docs.google.com)|2a00:1450:4014:80e::200e|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2022-07-28 14:01:37 ERROR 404: Not Found.

Hello. Dmytro.
The download link was broken, so I update the patch pose dataset download link as follows:
https://postechackr-my.sharepoint.com/:u:/g/personal/ljm1121_postech_ac_kr/EUzUapf-ZDxJjRJ7L-Py88cBso7YZdzFz88E9BTBDM6CQg?e=BMqwhD
(password: self)
Sorry for inconvenience.


knife bootstrap fails on ssh connection with Errno::ECONNRESET

Description
knife bootstrap fails with ERROR: Errno::ECONNRESET: Connection reset by peer - recvfrom(2) after I enter my credentials when trying to bootstrap a node. I'm trying to bootstrap from a Fedora 25 node to a Centos 7 node. Firewall is disabled on both nodes, and selinux was temporarily set to permissive during testing on remote Centos 7 node.
I can manually ssh to this node without problems. I can also do a net-ssh::Start in an irb session to connect as well, so I think this is an issue with knife bootstrap.
In the ssh logs on the bootstrap node side, I see an error about 'Bad packet length 292028.' I can consistently trigger that error log message with the knife bootstrap attempts.
Chef Version
This happens with my initial chefdk version 1.2.22 as well as the version below which I upgraded to, to try and fix the issue:
Chef Development Kit Version: 1.3.23
chef-client version: 12.19.36
delivery version: master (efc4cb152d4f423b8dec781ba4d00f032c4881e0)
berks version: 5.6.3
kitchen version: 1.16.0

Platform Version
Fedora 25 on Chef workstation (chefdk 1.3.23), Centos 7 on remote node.
Replication Case
knife bootstrap root@$host -N $host.$domain -y This instantly fails with ECONNRESET
Client Output
gist for knife bootstrap output.
logs for sshd on the bootstrap node.

Could this be an issue with ssh command length being exceeded? http://www.theeggeadventure.com/wikimedia/index.php/Ssh_argument_length

In Chef Infra Client 15 we rewrote the knife bootstrap functionality to use train. This radically changed how we bootstrap and more than likely resolves this. If you're still seeing the issue with Chef Infra Client 15 please feel free to open this backup.


fix: reused DAO sockets don't set the keyspace. fix #170

DAO sockets now take advantage of the connection pool and if they are
coming from it (meaning they've been used before), they don't set their
keyspace anymore.

I wrongfully closed #191 oops, recreating it here since GitHub doesn't let me reopen it.

Coverage decreased (-0.01%) to 65.7% when pulling 0739fb5b83b18957d73f337d2e615b98971f3ba5 on fix/reused-sockets into 0382513d1c87c1ecd014efbcc6a508b6302eb092 on master.


expvar: infinite recursion in String

What version of Go are you using (go version)?

$ go version
go version go1.17.6 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/catena/Library/Caches/go-build"
GOENV="/Users/catena/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/catena/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/catena/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/catena/go/src/github.com/catenacyber/go/src/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/pp/dc1dtf9x2js3v0jx_m010nqr0000gn/T/go-build4237848497=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version go1.17.6 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.17.6
uname -v: Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_X86_64
ProductName:	macOS
ProductVersion:	12.2.1
BuildVersion:	21D62
lldb --version: lldb-13<IP_ADDRESS>
Apple Swift version 5.6 (swiftlang-<IP_ADDRESS>3.62 clang-13<IP_ADDRESS>)
gdb --version: GNU gdb (GDB) 9.1

What did you do?
Run https://go.dev/play/p/wCX7o1hapRn?v=gotip
What did you expect to see?
The program finishing and printing somme Hello twice
What did you see instead?
Only one Hello printed
I think there is an infinite recursion leading to timeout on the playground (stack overflow on oss-fuzz)
Is this API abuse or a bug ?
Found by https://github.com/catenacyber/ngolo-fuzzing on oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=48416

You (or rather the fuzzer) has built a self-referential data structure, and  a useless one at that. As we have seen in the fmt package, such creatures are both troublesome and worth avoiding rather than supporting.
I do not consider this a bug in the package, but a bug in the code calling the package. Not every fuzz-found bug is worthy of a fix.


Dockerfile: add common CA certs

Add common CA certs to the Dockerfile. The Debian image doesn't include
them by default:
https://github.com/debuerreotype/docker-debian-artifacts/issues/15. Most
likely a user will want to use the reporter functionality hence it
should trust some root CAs such as DigiCert and so on.

Thanks!


[DE-562] Index Cache Refilling

Adding new per-operation option refillIndexCache to write operations:

single-document write operations (insert, replace, update, delete)
multi-document write operations (insert_many, replace_many, update_many, delete_many)

If the option is set to True, new entries are added to in-memory index caches if
document operations affect the edge index or cache-enabled persistent indexes. Every
currently running transaction will keep track of which in-memory index cache entries
were invalidated by the transaction, and will try to (re-)fill them later.
Example:
collection.insert({"foo": "bar"}, refillIndexCaches=True)
db.aql.execute("INSERT {foo: bar} INTO collection OPTIONS { refillIndexCaches: true }")

Codecov Report

Merging #259 (f4c64ff) into main (8b09e07) will increase coverage by 0.42%.
The diff coverage is 95.31%.

:exclamation: Current head f4c64ff differs from pull request most recent head 7c2bc15. Consider uploading reports for the commit 7c2bc15 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
+ Coverage   98.58%   99.01%   +0.42%
==========================================
  Files          26       26
  Lines        3899     3947      +48
==========================================
+ Hits         3844     3908      +64
+ Misses         55       39      -16

Impacted Files
Coverage Δ

arango/client.py
98.30% <75.00%> (-1.70%)
:arrow_down:

arango/collection.py
98.50% <90.00%> (+2.03%)
:arrow_up:

arango/aql.py
95.04% <100.00%> (+0.04%)
:arrow_up:

arango/cursor.py
100.00% <100.00%> (ø)

arango/http.py
100.00% <100.00%> (ø)

I would mention Arangodb along with these version number comments, else LGTM.

updated as of https://github.com/ArangoDB-Community/python-arango/pull/259/commits/7c2bc15f6317bd6400dbca0498a276bd9cd94d97
feel free to merge


Hex lattice for Python API

This PR will add hex lattice capability to the python API.  It's not complete on it's own; here are the unresolved issues:

[x] Make the example a little more clear; double check that it will run properly
[x] Fix __repr__
[x] Add length checking for set_universes
[x] Add whitespace padding to repr_axial_slice to make it more readable

Before I address those issues I want to double-check with you that the way I am indexing the universe list is okay.  It looks like you meant for the list to be indexed is universes[ring #][angular #][axial #], but I think it will be much easier if we use the scheme universes[axial #][ring #][angular #].  That second scheme is the one I used here because it made it easy to use a function like _repr_axial_slice, but I'm sure I can change to the first scheme if you strongly prefer it.

@smharper - I just perused your code and things are looking good. I am perfectly fine with your indexing scheme, I don't have a preference so use whatever makes the most sense to you.

I have fixed all of the issues that I was aware of.  I think this PR is ready.

@smharper - thanks a ton for your hard work on this PR. I can see that it wasn't easy to put together an effective routine to export the Universe IDs for a hex lattice (or at least it wouldn't have been for a n00b like me!). I have a few relatively minor requests before finalizing the merge. I understand that most of them aren't a huge deal, so I can make them myself after the merge if you want. Just let me know your situation with time and I'll adapt to what is needed since you've put in the bulk of the work here.

Thanks for the quick reviews.  I think I have addressed all of your comments.


Adds BORDERLESS_WINDOWED_MODE for PLATFORM_DESKTOP

Adds the FLAG_BORDERLESS_WINDOWED_MODE flag to the ConfigFlags enum (R529).
Adds CORE.Window.previousPosition and CORE.Window.previousScreen to the CoreData.Window struct (R415-R416).
Adds ToggleBorderlessWindowed() (R951, R1329-R1403) to handle the FLAG_BORDERLESS_WINDOWED_MODE on PLATFORM_DESKTOP that will be called from SetWindowState() (R1454-R1459), ClearWindowState() (R1571-R1576) and/or directly (R951). Didn't implement it inside SetWindowState() and ClearWindowState() because this flag required some checks and calculations, so I thought it would group better in a separated function.
The ToggleBorderlessWindowed() initially checks if it's in fullscreen mode (R1335). If it is:

Backups CORE.Window.position (that was saved by ToggleFullscreen() L1216) on CORE.Window.previousPosition (R1337) before leaving fullscreen mode. Didn't reuse CORE.Window.position to not interfere with the ToggleFullscreen() independent operation;
Leaves fullscreen mode (R1338);
Sets a wasOnFullscreen var that will be required later (R1334, R1339).

After that, ToggleBorderlessWindowed() checks:

For a valid monitor (that will be required for glfwGetMonitorPos) (R1342-R1345);
For a video mode (that will be required for glfwGetVideoMode to get the monitor width and height) (R1347-R1348);
For the FLAG_BORDERLESS_WINDOWED_MODE value (R1350, R1380).

If the FLAG_BORDERLESS_WINDOWED_MODE is not set:

Backups the screen position to CORE.Window.previousPosition (if this didn't already happen it it was on fullscreen mode) (R1354);
Backups the screen size to CORE.Window.previousScreen (R1355);
Sets the FLAG_WINDOW_UNDECORATED mode and flag (R1358-R1359);
Sets the FLAG_WINDOW_TOPMOST mode and flag (R1360-R1361);
Gets the monitor position and size (R1364-R1369);
Sets the screen position to the monitor position (R1372);
Sets the screen size to the monitor size (R1373);
Refocus the window (R1376);
Sets the FLAG_BORDERLESS_WINDOWED_MODE flag on the CORE.Window.flags (R1378).

If the FLAG_BORDERLESS_WINDOWED_MODE is set:

Removes the FLAG_WINDOW_TOPMOST mode and flag (R1383-R1384);
Removes the FLAG_WINDOW_UNDECORATED mode and flag (R1385-R1386);
Sets the screen size to the CORE.Window.previousScreen (R1390). This must be done before setting the screen position, otherwise the screen will be positioned incorrectly;
Sets the screen position to the CORE.Window.previousPosition (R1391);
Refocus the window (R1394);
Removes the FLAG_BORDERLESS_WINDOWED_MODE flag from the CORE.Window.flags (R1396).

Also adds FLAG_BORDERLESS_WINDOWED_MODE to SetWindowState() (R1456-R1459) and ClearWindowState() (R1573-R1576). These must be handled before FLAG_FULLSCREEN_MODE because ToggleBorderlessWindowed() needs to get some fullscreen values if fullscreen is running.
Since no scaling is being applied and the monitor size (which already has some valid aspect ratio) is being used, this implementation doesn't make any aspect ratio calculations, using the monitor size (and aspect ratio) as is.
Environment
Tested this change successfully on PLATFORM_DESKTOP native Linux (Linux Mint 21.1 x86_64) with two monitors (1600x900 and 1280x1024 resolutions).
Code Example
Minimal reproduction code to test the change:
#include "raylib.h"

int main(void) {
    InitWindow(800, 450, "Test");
    SetTargetFPS(60);
    while (!WindowShouldClose()) {

        if (IsKeyPressed(KEY_F1))  { ToggleBorderlessWindowed(); TraceLog(LOG_INFO, "F1 - ToggleBorderlessWindowed()"); }
        if (IsKeyPressed(KEY_F2))  { SetWindowState(FLAG_BORDERLESS_WINDOWED_MODE); TraceLog(LOG_INFO, "F2 - SetWindowState(FLAG_BORDERLESS_WINDOWED_MODE)"); }
        if (IsKeyPressed(KEY_F3))  { ClearWindowState(FLAG_BORDERLESS_WINDOWED_MODE); TraceLog(LOG_INFO, "F3 - ClearWindowState(FLAG_BORDERLESS_WINDOWED_MODE)"); }
        if (IsKeyPressed(KEY_F11)) { ToggleFullscreen(); TraceLog(LOG_INFO, "F11 - ToggleFullscreen()"); }

        BeginDrawing();
        ClearBackground(RAYWHITE);
        DrawText("Test", 20, 20, 20, BLACK);
        DrawRectangle(20, 60, 40, 40, RED);
        EndDrawing();
    }
    CloseWindow();
    return 0;
}

Fixes https://github.com/raysan5/raylib/issues/3207.
Edit 1: added line marks.
Edit 2: formating.

@ubkp This is an amazing addition! Thank you very much for all the work put on it and the detailed information!


Ubuntu build error

Hello,
Building in ubuntu the medInria3.2.x branch, I got error due to missing depencies. The doc about the linux building steps needs to be updated (qtdesigner, qtquick, x11).
sudo apt-get install tlibxt-dev
sudo apt install libqt5x11extras5-dev
sudo apt install qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev qtdeclarative5-dev qtdeclarative5-dev-tools qtquickcontrols2-5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtqml-models2 qml-module-qtquick-templates2 qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform

On which version of Ubuntu are you compiling? Ubuntu 20.04? Are you on "minimal installation" mode?
You can check the Quick dev guide with the right apt commands.

It is not related to the ubuntu release. new  requirements have been added to some cmake files related to QML and qtquick (tools not used by the app to design the HMI)

not in medInria


Add SNAC

Just to open a place to add SNAC to speechbrain benchmarks

Hi.. You could follow the readme file and add your tokenizer to the benchmark... we will also update the bash script for generative tasks soon...


AudioManagerPlugins IPK name stopgapfix + README update

Included pulseaudio service file fix for pulseaudio8.0 version

Once this is merged here, I propose the feature/qt5.6poky2.1 branch is sent as a PR for review to meta-genivi-dev master

I cherry-picked in feature/qt5.6/poky2.1 branch. I'll change the branch name to feature/baseline11


[FlowAggregator] Close connection to IPFIX collector on Stop

When the IPFIX exporter is stopped in the Flow Aggregator, the connection to the collector should be explicitly closed.

Thanks @yuntanghsu for pointing this out!

/test-all


[Request] Add Basics/speak example for CoreS3

Hello,
Could you add this Basics/speak example's equivalent of the Core2 card for the CoreS3 kit?
Regards

@Tinyu-Zhao

Hi @IcingTomato, I hope you're doing well. It's been two months since we last discussed the support feature. Would you be able to add it? Thanks for considering!

Hi @IcingTomato, I hope you're doing well. It's been two months since we last discussed the support feature. Would you be able to add it? Thanks for considering!

Hi @IcingTomato, I hope you're doing well. It's been two months since we last discussed the support feature. Would you be able to add it? Thanks for considering!

@Tinyu-Zhao

You can try this program, the function on line 72 is used to generate the audio, you can also replace the audio with another one.
cores3-speaker-master.zip


Tensorflow error while the container running

I got this error when I tried to run the docker container. May be That comes from the tensorflow version in the dockerfile?
Using TensorFlow backend.
Saber version: 0.1.0-alpha
Loading model... Downloading 13s9wvu3Mc8fG73w51KD8RArA31vsuL1c into /app/saber/pretrained_models/CHED.tar.bz2... Done.
Unzipping... Traceback (most recent call last):
File "/usr/local/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/local/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/app/saber/cli/app.py", line 93, in
MODELS, GRAPH = app_utils.load_models(constants.ENTITIES)
File "/app/saber/utils/app_utils.py", line 109, in load_models
saber.load(ent)
File "/app/saber/saber.py", line 215, in load
model_filepath=model_filepath)
File "/app/saber/utils/model_utils.py", line 230, in load_pretrained_model
model.load(weights_filepath, model_filepath)
File "/app/saber/models/multi_task_lstm_crf.py", line 52, in load
model = model_from_json(f.read(), custom_objects={'CRF': CRF})
File "/usr/local/lib/python3.6/site-packages/keras/engine/saving.py", line 492, in model_from_json
return deserialize(config, custom_objects=custom_objects)
File "/usr/local/lib/python3.6/site-packages/keras/layers/init.py", line 55, in deserialize
printable_module_name='layer')
File "/usr/local/lib/python3.6/site-packages/keras/utils/generic_utils.py", line 145, in deserialize_keras_object
list(custom_objects.items())))
File "/usr/local/lib/python3.6/site-packages/keras/engine/network.py", line 1022, in from_config
process_layer(layer_data)
File "/usr/local/lib/python3.6/site-packages/keras/engine/network.py", line 1008, in process_layer
custom_objects=custom_objects)
File "/usr/local/lib/python3.6/site-packages/keras/layers/init.py", line 55, in deserialize
printable_module_name='layer')
File "/usr/local/lib/python3.6/site-packages/keras/utils/generic_utils.py", line 147, in deserialize_keras_object
return cls.from_config(config['config'])
File "/usr/local/lib/python3.6/site-packages/keras/engine/base_layer.py", line 1109, in from_config
return cls(**config)
File "/usr/local/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/keras/engine/input_layer.py", line 87, in init
name=self.name)
File "/usr/local/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py", line 517, in placeholder
x = tf.placeholder(dtype, shape=shape, name=name)
AttributeError: module 'tensorflow' has no attribute 'placeholder'

Hi @laleye,
We are no longer maintaining this code. Please let me know if you need to evaluate the model for a paper comparison and I will try to help you out.


fix: added title to the project creation

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: support viewing Item Summary page from Lightbox.

Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[x] tests are included
[x] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
This PR adds the feature of viewing Item Summary page from Lightbox in both the normal page and Selection Session.
https://user-images.githubusercontent.com/47203811/122495726-e809e380-d02d-11eb-8ae2-d9e396957690.mp4

Looks good Penghai. Once itemVersion and itemUuid are merged into a common ItemId type I'm happy with this. Potential for a slight refactor to move colour constants to a central location - but feel free to not include that.

Thanks Sam! What about we create a ticket for moving colors we have defined in different components into ColorConstants.ts in next tech debt ?

Here is a screenshot after conflicts are addressed.

Looks good, but just missing one requested thing - rename the props to match the rename of OEQLink. That is, rename OeqLinkProps to OEQLinkProps.

Done. :smile:


Header button and features styles

We need to fix the css styles in the header button and features in the home section.

Closed through #113


Stop setting attributes in CreateTopicRequest

I propose this change to resolve #3720
Stop setting attributes in CreateTopicRequest because if there's a mismatch in the attribute values, the following exception will be thrown: Amazon.SimpleNotificationService.Model.InvalidParameterException: Invalid parameter: Attributes Reason: Topic already exists with different attributes.
The topic should be created first and any mismatched attributes should be updated after that.

[ ] TODO: Verify that the code works

I'm unlikely to accept this for various reasons. I don't see the point of creating the topic with the wrong attributes and the having two separate services change them back and forth because you can't consistently configure your services to set them.

I'm unlikely to accept this for various reasons. I don't see the point of creating the topic with the wrong attributes and the having two separate services change them back and forth because you can't consistently configure your services to set them.

If we forget about wrong attributes or misconfiguration could this change be seen as an improvement to allow updating attributes on system startup? What happens today is that if you want to change an attribute, or even add a new one, you have to shut services down, delete existing topics and then restart services to allow system to create the topics with new set of attributes and recreate all subscriptions.
I would also like to point out that TopicCache is not behind any abstraction so we would have to go some levels up if we wanted to customize MassTransit to achieve this behaviour in our system.

Well, all the topics have already been loaded into the TopicCache at startup, so any existing topics are already going to be in the topic cache. So this code wouldn't be called anyway.

Well, all the topics have already been loaded into the TopicCache at startup, so any existing topics are already going to be in the topic cache. So this code wouldn't be called anyway.

Yes, If we wanted to go in this direction we would have to leave out LoadExistingTopics and leave that to be handled by CreateMissingTopic (when _nameIndex.Get() doesn't find it in the cache and calls the factory method).
There is also the case when the cache expires, _topicsLoaded is already true so not calling LoadExistingTopics again and then CreateMissingTopic is called again.

Well, your change creates a ton of problems:

LoadExistingTopics has to be done, or you'll get throttled by AWS and the services won't start with any sort of acceptable speed.
The two-step process of creating the topics and then setting individual attributes is also super slow compared to just creating the topic.

So, as I stated above, I don't see this as any type of improvement other than to get around an issue you had due to improper environment configuration. Which can be easily fixed in the AWS console without deleting the topic.

Well, your change creates a ton of problems:

LoadExistingTopics has to be done, or you'll get throttled by AWS and the services won't start with any sort of acceptable speed.
The two-step process of creating the topics and then setting individual attributes is also super slow compared to just creating the topic.

So, as I stated above, I don't see this as any type of improvement other than to get around an issue you had due to improper environment configuration. Which can be easily fixed in the AWS console without deleting the topic.

Ok, throttling would be a problem, although it might mean it would also be a problem when creating topics for the first time.
Anyway, this doesn't fully solve the underlying issue - back to attempts to reproduce disappearing attributes then...
As a side, I'm not sure why you insist we must have improper configuration - I have triple checked this before raising anything. All configuration is done with two lines of code:
                var encryptionKeyArn = eventBusConfigurationSection.GetValue<string>("QueueEncryptionKeyArn", string.Empty);
                cfg.PublishTopology.TopicAttributes.Add(QueueAttributeName.KmsMasterKeyId, encryptionKeyArn);

which is a shared code for all our services and the actual configuration value comes from a single place in shared K8s config map. Moreover, things work correctly on restart without any change to code or anyone putting the configuration right. Only difference is that the cache is refreshed on restart...
There isn't much to go wrong here but fair enough, until we can reproduce the problem reliably we have to assume wrong configuration theory.
Thanks, for your feedback and patience!

If you do indeed have that publish topology configuration in all places, you shouldn't see the issue assuming MassTransit is the only thing creating topics in your account. The most common place these problems come up is a separate API producer app that isn't sharing that configuration and publishes to the topic without that attribute (in your case, the encryption key) to a non-existent topic for whatever reason.
A good practice is to ensure that all consuming services are deployed prior to deploying code that produces events, etc.

If you do indeed have that publish topology configuration in all places, you shouldn't see the issue assuming MassTransit is the only thing creating topics in your account. The most common place these problems come up is a separate API producer app that isn't sharing that configuration and publishes to the topic without that attribute (in your case, the encryption key) to a non-existent topic for whatever reason.
A good practice is to ensure that all consuming services are deployed prior to deploying code that produces events, etc.

The stack trace clearly confirms that this is indeed happening for a service that is using quoted configuration. All Topics have been created long time ago and have not changed for quite some time. The configuration itself, as well as the shared code, have not changed either and this works 99% of the time for months now. But every now and then the code goes into CreateMissingTopic, even thought his topic already exists in SNS and has all the attributes set correctly - hence my conclusion this can only happen on cache miss when CreateMissingTopic is used as missingValueFactory.
CreateMissingTopic does have access to topic attributes and they are correct when creating a brand new topic on startup. I am struggling to see how this line could ever get Topic without a proper set of attributes attached but as far as I can tell this could be the only explanation.
        async Task<TopicInfo> CreateMissingTopic(Topology.Topic topic)
        {
            // Could 'topic.TopicAttributes' not be populated correctly when handing cache expiry and be an empty dictionary?
            Dictionary<string, string> attributes = topic.TopicAttributes.ToDictionary(x => x.Key, x => x.Value.ToString());

            var request = new CreateTopicRequest(topic.EntityName)
            ...

Well, there are only two places where CreateMissingTopic can be called, in both cases it is called from the ConfigureAmazonSqsTopologyFilter, using topic topology created at either:
https://github.com/MassTransit/MassTransit/blob/b5b4f508e5f261d6a3cf0029c604452e04666fa3/src/Transports/MassTransit.AmazonSqsTransport/AmazonSqsTransport/Configuration/ConsumerConsumeTopologySpecification.cs#L37
var topicHandle = builder.CreateTopic(EntityName, Durable, AutoDelete,
    _publishTopology.TopicAttributes.MergeLeft(TopicAttributes),
    _publishTopology.TopicSubscriptionAttributes.MergeLeft(TopicSubscriptionAttributes),
    _publishTopology.TopicTags.MergeLeft(Tags));

Or at the publisher:
https://github.com/MassTransit/MassTransit/blob/5166f383b32ae6c3ec227f29555dbefb35f75498/src/Transports/MassTransit.AmazonSqsTransport/AmazonSqsTransport/Topology/AmazonSqsMessagePublishTopology.cs#L65
var topicHandle = builder.CreateTopic(_amazonSqsTopic.EntityName, _amazonSqsTopic.Durable, _amazonSqsTopic.AutoDelete,
    _publishTopology.TopicAttributes.MergeLeft(_amazonSqsTopic.TopicAttributes),
    _publishTopology.TopicSubscriptionAttributes.MergeLeft(_amazonSqsTopic.TopicSubscriptionAttributes),
    _publishTopology.TopicTags.MergeLeft(_amazonSqsTopic.Tags));

And both cases merge in all the attributes as expected, so the attributes should be the same regardless of how the topic is created. So I'm not sure where a call to CreateMissingTopic would result in different attributes being specified... :?

That's what I was finding and I hoped I'm missing some path through the cache. Thank you very much for checking!
We will keep on looking and check one more time environment configuration.

Since this isn't the approach I'm taking, I'll close this PR.


Connection blocked from lo0 to lo0

On the live logs tab I've just seen some connections blocked on lo0 interface as you can see here:

This behavior is very strange and I think it's appeared some time ago after one of the last upgrade of the software.
Due to these drops, some plugins stopped working: in the attached image you can see in instance the connections to the redis server (port 6379) we did with redis-cli command .
We have check the file /tmp/rules.debug and we discovered 2 things:

Is it correct to have the "#debug:Interface lo0 not found" message?

# [prio: 1]
#debug:Interface lo0 not found
# pass in log quick on ##lo0## inet6 from {any} to {any} label "70fcd47cc0b8782476fce1731eb7eb4c" # Pass all loopback IPv6

We haven't any rule to accept all loopback IPv4 connections!

We checked into the opnsense configuration but we haven't find any setting related to drop/accept connections on lo0 so I'm quite sure that these drops are related to a bug...
What do you think?
Is there a way to solve this issue or to configure opnsense to accept connections from lo0 to lo0 interface?
Environment
OPNsense 21.1.7_1-amd64
FreeBSD 12.1-RELEASE-p18-HBSD
OpenSSL 1.1.1k 25 Mar 2021
Thanks... ;-)

Well, there should be a loopback rule, created here
https://github.com/opnsense/core/blob/5e5e2ada3a680ae3f20ab14f2e3e2d17ea69ec62/src/etc/inc/filter.lib.inc#L538
depending on a loopback interface being saved to the config, originating from:
https://github.com/opnsense/core/blob/5e5e2ada3a680ae3f20ab14f2e3e2d17ea69ec62/src/etc/inc/plugins.inc.d/core.inc#L265-L280
Can you try to edit a firewall rule and save+apply? If the problem is the interface hasn't been written, the plugin framework should likely recover automatically

The issue is disappeared... I modified and saved a rule as suggested and after I applied the change the lo0 interface started to work again as expected.
Thanks!!!

I also encountered the loopback traffic blocked problem on three opnsense installments. I had updated all of those from some 2019 version to latest 2021 and I think the problem started around the first of the 2021 versions.

@b2ag What's the use case and what's the block causing to fail? This is a bit difficult to extrapolate.

I have one Opnsense installation on bare metal which I updated recently and had trouble to access the web interface only to find out my method of "ssh -L10443:<IP_ADDRESS> opnsense-box" failed because all the loopback traffic was dropped after one of the upgrade. I continued updating via ssh console and hoped for the error to go away. But it didn't.
To "fix" the problem it's enough to add any random rule to loopback which can be deleted afterwarts. This seems to bring back the previously lost/defunc generated "pass loopback" rule.

One out of four of my OPNsense installations (2 private, 2 at employer, all on OPNsense 24.1) has started to show a similar strange behavior of loosing internal loopback connectivity.
It recovered from this all by itself after approx. 90 minutes (this value is a bit rough due to the delay until the external monitoring sends an alarm) while I was digging through the logs.
I found this:

I wonder, what exactly "sshlockout" is doing there? There is very little information about this hardcoded internal rule. Should this even be active on loopback? And if that is considered normal, why does it affect connections that are not SSH-related?
All these connections are from relayd and HAproxy. 55443 is the OPNsense WebGUI port and <IP_ADDRESS> is a Virtual IP for HAproxy.
relayd is used to enable external SSH, since all other ways seem to be blocked. I successfully tested this before installing the system to the server rack. This is the only difference to the other OPNsense installations regarding loopback use.
This is also the only OPNsense running on physical hardware, all others are virtual machines on XCP-ng hosts (XenServer OSS fork).
I'm posting to this old issue since it seems related (lo to lo), but I may be wrong.


user_input with oneChar == true doesn't catch certain keys or returns the wrong thing

Not sure how much of a limitation you have with it being Javascript and all, but here's what I've found:
Backspace isn't caught at all.
Tab isn't caught.
Bizarrely, Delete, Insert, Home, End, PageUp & PageDown all instead give you Escape. Fortunately, Escape also gives you Escape. 😂
Ctrl/Alt/Shift aren't caught at all - I'm putting these separately since they are special, and perhaps uncatchable.

In case anyone is wondering. This was fixed with version 1.9.11.


Can you provide some demos on how to use experiment?

Can you provide some demos on how to use experiment?

here are some examples to use this repo:
https://github.com/deepmind/kfac-jax/tree/main/examples
To run an example simply do:
python example_name/pipeline.py --config=example_name/pipeline.py


New docx odt redactor

New libraries for processing docx and odt documents have been integrated. Paraid has been added to the paragraph scheme

Hello @Inf1nity2483! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/api/crud.py:

Line 8:80: E501 line too long (91 > 79 characters)
Line 10:1: E302 expected 2 blank lines, found 1
Line 11:80: E501 line too long (97 > 79 characters)
Line 13:80: E501 line too long (106 > 79 characters)
Line 15:1: E302 expected 2 blank lines, found 1
Line 15:80: E501 line too long (96 > 79 characters)
Line 16:80: E501 line too long (106 > 79 characters)
Line 17:44: E127 continuation line over-indented for visual indent

In the file src/api/models.py:

Line 10:80: E501 line too long (82 > 79 characters)
Line 18:80: E501 line too long (84 > 79 characters)
Line 26:80: E501 line too long (88 > 79 characters)
Line 51:80: E501 line too long (81 > 79 characters)
Line 53:1: E302 expected 2 blank lines, found 1

In the file src/api/router.py:

Line 19:80: E501 line too long (129 > 79 characters)
Line 22:80: E501 line too long (97 > 79 characters)

In the file src/api/schemas.py:

Line 189:25: W292 no newline at end of file

In the file src/docx/docx_redactor.py:

Line 12:80: E501 line too long (80 > 79 characters)
Line 68:80: E501 line too long (81 > 79 characters)
Line 79:80: E501 line too long (94 > 79 characters)
Line 92:80: E501 line too long (81 > 79 characters)
Line 100:80: E501 line too long (99 > 79 characters)
Line 102:80: E501 line too long (81 > 79 characters)
Line 110:80: E501 line too long (96 > 79 characters)
Line 112:80: E501 line too long (81 > 79 characters)
Line 116:80: E501 line too long (104 > 79 characters)
Line 118:80: E501 line too long (95 > 79 characters)
Line 119:80: E501 line too long (85 > 79 characters)
Line 145:80: E501 line too long (90 > 79 characters)
Line 158:5: E303 too many blank lines (2)

In the file src/docx/enum/schemas.py:

Line 5:80: E501 line too long (90 > 79 characters)
Line 7:80: E501 line too long (84 > 79 characters)
Line 8:80: E501 line too long (86 > 79 characters)
Line 9:80: E501 line too long (84 > 79 characters)
Line 10:80: E501 line too long (85 > 79 characters)
Line 11:80: E501 line too long (85 > 79 characters)
Line 12:80: E501 line too long (85 > 79 characters)
Line 13:80: E501 line too long (85 > 79 characters)
Line 14:80: E501 line too long (85 > 79 characters)
Line 15:80: E501 line too long (82 > 79 characters)
Line 17:80: E501 line too long (81 > 79 characters)
Line 20:80: E501 line too long (89 > 79 characters)
Line 21:80: E501 line too long (80 > 79 characters)
Line 23:80: E501 line too long (92 > 79 characters)
Line 24:80: E501 line too long (93 > 79 characters)
Line 26:80: E501 line too long (82 > 79 characters)
Line 29:80: E501 line too long (83 > 79 characters)
Line 30:80: E501 line too long (83 > 79 characters)
Line 32:80: E501 line too long (93 > 79 characters)
Line 33:80: E501 line too long (84 > 79 characters)
Line 34:80: E501 line too long (89 > 79 characters)
Line 35:80: E501 line too long (87 > 79 characters)
Line 37:80: E501 line too long (89 > 79 characters)

In the file src/docx/xml_redactor.py:

Line 87:80: E501 line too long (87 > 79 characters)
Line 90:80: E501 line too long (87 > 79 characters)
Line 95:80: E501 line too long (96 > 79 characters)
Line 97:80: E501 line too long (94 > 79 characters)
Line 100:80: E501 line too long (105 > 79 characters)
Line 130:80: E501 line too long (94 > 79 characters)
Line 134:5: E303 too many blank lines (2)
Line 145:80: E501 line too long (83 > 79 characters)
Line 147:80: E501 line too long (86 > 79 characters)
Line 149:80: E501 line too long (96 > 79 characters)
Line 166:80: E501 line too long (103 > 79 characters)
Line 178:80: E501 line too long (87 > 79 characters)
Line 179:80: E501 line too long (82 > 79 characters)
Line 190:80: E501 line too long (89 > 79 characters)
Line 193:80: E501 line too long (95 > 79 characters)
Line 197:80: E501 line too long (87 > 79 characters)
Line 202:80: E501 line too long (87 > 79 characters)
Line 203:80: E501 line too long (87 > 79 characters)
Line 205:80: E501 line too long (96 > 79 characters)
Line 207:80: E501 line too long (97 > 79 characters)
Line 208:80: E501 line too long (90 > 79 characters)
Line 212:80: E501 line too long (107 > 79 characters)
Line 245:80: E501 line too long (100 > 79 characters)
Line 246:80: E501 line too long (94 > 79 characters)

In the file src/exceptions/docx_exceptions.py:

Line 12:80: E501 line too long (86 > 79 characters)
Line 28:80: E501 line too long (92 > 79 characters)
Line 31:80: E501 line too long (86 > 79 characters)
Line 36:80: E501 line too long (80 > 79 characters)
Line 39:80: E501 line too long (85 > 79 characters)
Line 44:80: E501 line too long (100 > 79 characters)
Line 45:80: E501 line too long (84 > 79 characters)
Line 48:80: E501 line too long (85 > 79 characters)
Line 53:80: E501 line too long (90 > 79 characters)
Line 55:80: E501 line too long (96 > 79 characters)
Line 58:80: E501 line too long (82 > 79 characters)
Line 66:80: E501 line too long (98 > 79 characters)

In the file src/odt/enum/annotation.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 21:80: E501 line too long (102 > 79 characters)
Line 38:80: E501 line too long (87 > 79 characters)
Line 40:80: E501 line too long (88 > 79 characters)
Line 44:26: W292 no newline at end of file

In the file src/odt/enum/namespaces.py:

Line 7:51: W292 no newline at end of file

In the file src/odt/enum/style.py:

Line 6:1: E302 expected 2 blank lines, found 1
Line 8:80: E501 line too long (153 > 79 characters)
Line 9:37: W291 trailing whitespace
Line 22:1: W293 blank line contains whitespace
Line 26:80: E501 line too long (83 > 79 characters)
Line 29:80: E501 line too long (82 > 79 characters)
Line 31:80: E501 line too long (85 > 79 characters)
Line 34:80: E501 line too long (83 > 79 characters)
Line 35:80: E501 line too long (85 > 79 characters)
Line 36:30: E701 multiple statements on one line (colon)
Line 36:80: E501 line too long (96 > 79 characters)
Line 38:21: W292 no newline at end of file

In the file src/odt/enum/styles.py:

Line 3:1: E302 expected 2 blank lines, found 1
Line 14:58: W292 no newline at end of file

In the file src/odt/odtredactor.py:

Line 11:1: E302 expected 2 blank lines, found 1
Line 28:80: E501 line too long (81 > 79 characters)
Line 33:80: E501 line too long (134 > 79 characters)
Line 35:80: E501 line too long (86 > 79 characters)
Line 39:80: E501 line too long (97 > 79 characters)
Line 41:80: E501 line too long (85 > 79 characters)
Line 50:34: W291 trailing whitespace
Line 76:22: E222 multiple spaces after operator
Line 77:80: E501 line too long (94 > 79 characters)
Line 81:80: E501 line too long (130 > 79 characters)
Line 81:131: W291 trailing whitespace
Line 87:48: W291 trailing whitespace
Line 89:80: E501 line too long (102 > 79 characters)
Line 101:74: W291 trailing whitespace
Line 107:80: E501 line too long (83 > 79 characters)
Line 108:80: E501 line too long (80 > 79 characters)
Line 110:80: E501 line too long (85 > 79 characters)
Line 128:1: W293 blank line contains whitespace
Line 135:1: W293 blank line contains whitespace
Line 142:1: W293 blank line contains whitespace
Line 146:80: E501 line too long (103 > 79 characters)
Line 147:1: W391 blank line at end of file

In the file src/system/Checker.py:

Line 37:80: E501 line too long (112 > 79 characters)
Line 57:80: E501 line too long (112 > 79 characters)
Line 58:80: E501 line too long (84 > 79 characters)
Line 81:80: E501 line too long (104 > 79 characters)
Line 124:80: E501 line too long (94 > 79 characters)
Line 128:80: E501 line too long (151 > 79 characters)
Line 163:80: E501 line too long (200 > 79 characters)
Line 166:80: E501 line too long (103 > 79 characters)
Line 196:1: W293 blank line contains whitespace
Line 200:80: E501 line too long (92 > 79 characters)
Line 215:47: E128 continuation line under-indented for visual indent
Line 216:47: E128 continuation line under-indented for visual indent
Line 217:47: E128 continuation line under-indented for visual indent
Line 218:47: E124 closing bracket does not match visual indentation
Line 221:47: E128 continuation line under-indented for visual indent
Line 222:47: E128 continuation line under-indented for visual indent
Line 223:47: E128 continuation line under-indented for visual indent
Line 224:47: E124 closing bracket does not match visual indentation
Line 227:47: E128 continuation line under-indented for visual indent
Line 228:47: E128 continuation line under-indented for visual indent
Line 229:47: E128 continuation line under-indented for visual indent
Line 229:80: E501 line too long (106 > 79 characters)
Line 230:47: E124 closing bracket does not match visual indentation
Line 231:1: W293 blank line contains whitespace
Line 235:1: W293 blank line contains whitespace
Line 236:80: E501 line too long (95 > 79 characters)
Line 252:80: E501 line too long (92 > 79 characters)
Line 281:80: E501 line too long (106 > 79 characters)
Line 283:1: W293 blank line contains whitespace
Line 296:10: W291 trailing whitespace
Line 306:80: E501 line too long (98 > 79 characters)
Line 309:1: W391 blank line at end of file

In the file src/system/Rule.py:

Line 15:80: E501 line too long (118 > 79 characters)


fixes #20523

Hey @ishivanshgoel, thanks for sending this in, this might be the right fix, but I'm not really familiar with this template so I'm not sure why we've gone with this in the firs place:

            <input type="checkbox" class="task" data-key="{{ key }}" />

            {{ task }}{{#if desc }} - {{ desc }}{{/if}}

I'm especially curious about why we need an empty span in there. I couldn't really find any explanation in the commit message or PR. Someone else might comment here and share some insight.
However, even if we assume the change proposed is the correct fix, there's some things that need to be fixed here:

The commit message does not match the convention we use, please go through https://zulip.readthedocs.io/en/latest/contributing/version-control.html so you can understand how to change it.
This PR has two merge commits, we do not use merge commits so, you'll need to go through https://zulip.readthedocs.io/en/latest/git/troubleshooting.html?highlight=merge commit#undo-a-merge-commit to undo them.


Add Crime to Arson for consistency with other crimes, and also with i…

…t's own rate chart.

Being addressed in larger PR #623


build-system: enabling LTO builds on arm platforms

We've been spending a bit of time trying to get LTO to work for Zephyr on Arm and recently had some luck on it.  I don't expect this PR to actually be merged, hence the Draft prefix, but is being provided to get feedback for what would hopefully be the correct set of changes needed to be merged in.
Locally on our system, we are seeing these changes provide about a 16% decrease in binary size for us, with the resulting binary bootable.  Debugging is not so pretty, but if you're space constrained...
Additional changes need for a project to take advantage of these include:
$PROJECT/CMakeLists.txt:
  add_compile_options( -flto )
  add_link_options( -flto )
  # fix1: undefined reference to `memcpy'
  add_link_options( -fno-ipa-sra )

For some reason we also see undefined reference to __device_dts_ord_X'` which is resolved by adding:
$PROJECT/CMakeLists.txt:
  add_link_options( -ffunction-sections -fdata-sections )

We are still investigating why this is needed or what is happening here.
Likely this will all want to be added/wrapped with a Kconfig to enable/disable what is going on.

@tejlmand and @stephanosio any input/feedback on the proposed changes here?

We've been spending a bit of time trying to get LTO to work for Zephyr on Arm and recently had some luck on it. I don't expect this PR to actually be merged, hence the Draft prefix, but is being provided to get feedback for what would hopefully be the correct set of changes needed to be merged in.

Thanks for taking a look into this, and to share your experiences.
But I believe there is a long way to go on this.
Zephyr build system relies on --whole-archive to ensure symbols are not dropped by the linker, and trying to add lto will be a challenge.
For some more details regarding the whole-archive challenge, feel free to refer to:
https://github.com/zephyrproject-rtos/zephyr/issues/6961
https://github.com/zephyrproject-rtos/zephyr/issues/8441
https://github.com/zephyrproject-rtos/zephyr/pull/8451
Zephyr generally handles the size problem by fine-grained feature support with Kconfig, so that things you don't need can be disabled and thus minimizing the need for lto.
This again mean that if you see a large size reduction for Zephyr code itself, then chances are high that something is not working.
As a quick test, I tried to build bluetooth/peripheral_hr following the approach with this PR, and the radio / bluetooth stack is never initialized.
A quick look at the elf revealed that bt_init() function is removed with lto, and together with that bt_conn_init.
So bluetooth is definitely not working.
It would be great to see lto support, cause I do believe that when using 3rd party libraries with Zephyr or in application code, then there can be great value in lto, as such code may not have same fine-grained control as Zephyr itself.
But I would like to see some more thoughts on how to address the --whole-archive challenge, and not just adding -lto and see that a basic sample boots.

Locally on our system, we are seeing these changes provide about a 16% decrease in binary size for us, with the resulting binary bootable. Debugging is not so pretty, but if you're space constrained...

A great start, although there is a long walk from bootable to fully functioning, but keep up the good work :+1:
Could you share more info on which sample and on which board you got something booting ?
Would be nice to reproduce your results.

I also had to add the used attribute to libc's __chk_fail


Migration to Vue 3

Description
Vue 2 is going to be EOM for the end of 2023. This issue is to track the required operation to reach from basic to optimal migration of Vue to the version 3.
Context
Since it has been decided to remove Nuxt, due lack of SSR and given the SPA architecture be optimal for our case, it will be defined afterwards the requirement to fulfil the migration list.
The goal is to make it possible to work with Vue 3, although reach an ex novo state would facilitate the development and further integrations.
Required

https://github.com/rancher/dashboard/issues/5968
Upgrade to Vue 2.7.x, TBD if this step is necessary or helpful in syntax conversion, e.g. mixins are deprecated in Vue3
Verify plugins to be removed, find replacements and size of code to be changed or require refactory
Investigation over further breaking changes
Syntax update (through script?)
TBD further steps

Optional

https://github.com/rancher/dashboard/issues/7468
Pinia adoption
Test migration to Vitest?
Autoimport adoption, to reduce code and migration steps

First plugin discontinued since 5 years: https://github.com/fgr-araujo/vue-shortkey

Since moving to Vue 3 will potentially introduce breakage into existing UI extensions that folks (internal & otherwise) have written, we need to warn people about that risk when we finally do ship this.

This is going to break for sure something and since we still don't have enough core E2E tests and our real code coverage is 14%

Closing as Vue3 branch merged.