TokenHolder Redeem Function

This PR is an Implementation of redeem function in TokenHolder.
Flow:

User signs the coGateway.redeem function using an authorized ephemeral key.
Facilitator pays the gas and calls coGateway.redeem by presenting his hashlock.
Note: hashlock is not part of signed data because at the time of signing user don't know which facilitator will pickup the transaction for execution.

There are few methods refactored to a separate method because of "stack too deep error" which has been resolved with refactoring.
As per requirement OpenST should run on a single chain i.e. It should run by communicating with EIP20Token also. TH should not be tightly integrated with UtilityToken.
We have state variable coGateway address as TH.redeem calls coGateway.redeem. Having coGateway also solves stack too deep issue.
TH imports UtilityTokenInterface and CoGatewayRedeemInterface. The interfaces has been made it as light as possible to optimize bytecode size.
There is an open discussion/question of consuming nonce in TH.redeem.  We should be consuming Ekey nonce to avoid retries. After researching below are couple of proposals:

Explicit burnNonce function in TH by one of the owner.
Use .call with strict check for coGateway address and method to be called. .call should be avoided as much as possible.

Fixes #38

Update: Spoke with @benjaminbollen ,
TH.redeem should use .call to coGateway.redeem

PR feedback changes has been committed.

Agree tokenholder should not be tightly binded with utility token interface. That was the case already. Integrating EIP20TokenInterface and UtilityTokenInterface separately avoids the naming confusion.

UtilityTokenInterface has been renamed to UtilityTokenRequiredInterface which has minimum function signatures required for the TH integration. setCoGateway, mint and burn functions are not needed in this interface as TH doesn't need them.

cc: @deepesh-kn


Update go modules

@jkralik doesn't something use a git clone command (maybe some docker image)? Because with submodule we need to use --recursive option, I'll update the tutorial page in https://plgd.dev/quickstart/contribute/ , but is there something else that needs to be updated?

@jkralik doesn't something use a git clone command (maybe some docker image)? Because with a submodule we need to use --recursive option, I'll update the tutorial page in https://plgd.dev/quickstart/contribute/ , but is there something else that needs to be updated?

No, we don't directly use git clone in any script.

No, we don't directly use git clone in any script.

Should be fine then, it's only necessary for developers who want to run 'make proto/generate' since some of our .proto files include code from googleapis.


Regarding the ScaleBitmapUniform method

First of all, thank you very, very much @TheJoeFin for taking the time to develop and make this code available to us all.
Now, I've noticed you are enlarging the bitmap with ScaleBitmapUniform (when it makes sense). Could you please explain why 1.5 and not larger? What I mean is, why 1.5? Is this a shot in the dark to improve OCR accuracy or have you done any benchmarking and this is as good as it gets?
Thanks again.

For the 1.5x scale of the bitmap, that was determined after some experimentation. If the scale is too large OCR does not preform well, so since 1.5 was working well in my testing I went with it.
I am happy to take another look a that area of Text Grab if you think there are some improvements which can be made.

The quick reply is appreciated.
Could you please explain what you mean by "perform well"? Do you mean the capacity of the OCR to extract the text correctly or the time it takes to enlarge + OCR the image?
I am interested in increasing the former. Have you also played with, for example, filters such as sharpening, edge finding, etc? Again, the objective is to improve OCR accuracy.

Ah yeah, "perform well" is pretty vague. I meant the accuracy of the OCR on smaller text benefits when the 1.5 scaling was applied.  As I have been building Text Grab, the OCR has always been very fast, however I have not tested against super high resolution images, so maybe there is a point where Text Grab becomes slow.
As for using techniques like filtering, sharpening, edge finding, etc. I have not tried them but I was planning on doing some experiments soon. I have another app which uses the .NET package of ImageMagick and I will be using that to do my imaging improvements before trying to process OCR.
If you have tricky sample images or situations to test against feel free to post them on this issue, or email joe at textgrab dot net and I can let you know how it goes.

I've noticed your use of Magick.NET in other projects (icon making, etc) and have learned quite a bit from it.
Collecting sample images is my next step. I will let you know.
You rock, sir.

Hello again @LaraSQP I have been doing some experiments with what an "ideal line height" would be and how to best improve the image to get the best OCR possible.
If you check out branch Line-Height-Experiments it shows how I determined the ideal heights and it also shows how I scale the image to achieve that height. Let me know what you think.

Much appreciated.
Cannot do much right now (illness).
You might want to know that I have come across code to generate images from text and it is not that complex. It should help with testing.
Apologies, my mind is foggy.

I have generated and ocr'ed several hundred images with various fonts, sizes, line heights, fore and back colors.
The engine is remarkably accurate. I have not even adjusted for dpi or scaled in any way.
Here are a couple of the images that have given incorrect results.

poorwill was ocr'ed as poonvill

dinnerwares was ocr'ed as dinnenvares

gamboges was ocr'ed as gamt"3ges
All other words in those images were ocr'ed correctly.
Anyway, let me know if any of this interests you.
And, again, thanks for making this code available.

@LaraSQP this is very interesting stuff! Since there is no way to directly change the underlying OCR engine, do you have any suggestions for processing the images before passing them to the OCR engine to improve results?

This is what I have learned so far after having generated and ocr'ed tens of thousands of images:

Scaling is the effect that matters the most, even as little as 1.1 is a boon, but anything greater than 2 tends to be counterproductive.

Contrast is the second most useful effect and can help with some images if the fore/back colors somehow clash.

Sharpness pays the least and is the most processing intensive. Still, some stubborn images respond to it.

The biggest obstacles for the OCR engine that I have found are font size and family. If the font is too small (<8), there isn't much that can be done. Also, some types of fonts are difficult (e.g., Garamond, which I find inexplicable) while others are completely impossible (e.g., cursives, which I can understand).
You should also know that I have not used an image library but developed my own code instead for contrast and sharpness. This might be something to keep in mind.

@LaraSQP I think it would be interesting if the Grab Frame had more tools to manipulate the image and try to improve recognition. Some of these things you mention here could be a part of those tools. I would love to collaborate on this feature let me know if this is something you would be interested in.


Add testing for copy object to/from a versioned bucket

Signed-off-by: Orit Wasserman<EMAIL_ADDRESS>

@yehudasa , fixed


RedirectInstance raises error 5 when funcReturn is a class, part 2

Sorry to bother you again, but it seems I've found another issue in the new implementation of RedirectInstance:
Please see the following predeclared class module RedirectInstanceTestClass:
'@PredeclaredId

Option Explicit

Private Type TClassMembers
    ID As Long
    PrivateString As String
End Type

Private This As TClassMembers

Public Property Get ID() As Long
    ID = This.ID
End Property

' Factory with private Init function (using instance redirection):
Public Function Create(ByVal newID As Long) As RedirectInstanceTestClass
    Dim newClass As RedirectInstanceTestClass
    Set newClass = New RedirectInstanceTestClass
    Set Create = Init(newClass, newID)
End Function
Private Function Init(ByVal Instance As RedirectInstanceTestClass, _
                      ByVal newID As Long) As RedirectInstanceTestClass
    LibMemory.RedirectInstance Init, Me, Instance
    This.ID = newID
    Set Init = Me
End Function

Public Function Clone() As RedirectInstanceTestClass
    Dim newClass As RedirectInstanceTestClass
    Set newClass = New RedirectInstanceTestClass
    Set Clone = MemberCopyTo(newClass, This)
End Function
Private Function MemberCopyTo(newClass As RedirectInstanceTestClass, ByRef Members As TClassMembers) As RedirectInstanceTestClass
    LibMemory.RedirectInstance MemberCopyTo, Me, newClass
    This = Members
    Set MemberCopyTo = newClass
End Function

The instance creation with Create() and private Init() function works fine.
But calling Clone() with private MemberCopyTo() function raises again error #5 in RedirectInstance, although MemberCopyTo() returns the same type as the Init() function. It works if I change the return type to Object.
Any ideas?
Here is a small function to test the behaviour:
    'Arrange:
    Dim testCls As RedirectInstanceTestClass
    Dim clonedCls As RedirectInstanceTestClass

    'Act:
    Set testCls = RedirectInstanceTestClass.Create(-1)	' works fine
    Set clonedCls = testCls.Clone			' raises runtime error #5

    'Assert:
    Debug.Assert testCls.ID = -1
    Debug.Assert clonedCls.ID = -1

Hi @MarioAnthes ,
Please don't apologize! On the contrary, your feedback is super useful.
A quick fix is to replace this line:
Private Function MemberCopyTo(newClass As RedirectInstanceTestClass, ByRef Members As TClassMembers) As RedirectInstanceTestClass

with this:
Private Function MemberCopyTo(ByVal newClass As RedirectInstanceTestClass, ByRef Members As TClassMembers) As RedirectInstanceTestClass

i.e. pass the instance variable by value as opposed to by reference (default when not specified).
I suspect the same issue would occur with the previous version of RedirectInstance. It all has to do with the stack size and at what offset is the instance pointer behind the scenes when compared to the address of the function return. For example, I could even support function return of User Defined Type but that would require the user to pass the size in bytes for the specific UDT so that I can use that as an additional offset to the current logic. I suspect that passing ByRef affects the offset and I guees I could add extra logic for that. However, I won't have time to investigate until next week.
Many thanks!

Thanks for the quick fix! I didn't even notice that I've passed the newClass argument ByRef instead of ByVal.
Now it seems to work, although I still don't understand why RedirectInstance hasn't raised the runtime error with the ByRef argument when the private function returned Object instead of RedirectInstanceTestClass.
By looking at the source code of LibMemory, there is a static MEMORY_ACCESSOR variable declared in each function. I think I've figured out how this MEMORY_ACCESSOR variable is being used and the logic behind all Mem... properties, but...
is there a reason why each property/function has its own static variable, instead of using only one MEMORY_ACCESSOR struct declared on module level for all of them? I've tried that for the Mem... properties and it has passed all tests.

Hi @MarioAnthes ,

I still don't understand why RedirectInstance hasn't raised the runtime error with the ByRef argument when the private function returned Object instead of RedirectInstanceTestClass.

That is because for Object there is no extra offset in the stack frame. That is why I had to push edb2c002494837617e03aa21635eeff76fba6cca when you raised #12. More specifically, these lines are only reached if the return type is a specific class e.g. DemoClass or IUnknown but for Object it works directly.

is there a reason why each property/function has its own static variable, instead of using only one MEMORY_ACCESSOR struct declared on module level for all of them?

Yes. And a good one. As you probably know, while debugging, if code stops on a Stop or on a breakpoint, then other calls coming from the Locals, Immediate and Watches windows are ran on a separate thread, and so the values in a module level accesor can change while the code is in break mode thus leading to potential crashes. By limiting an accessor for each method, this problem is minimized, although, of course, can still happen within the scope of the method where the code is stopped. A quick example:
Code in Class1 cls module:
Option Explicit

Private m_counter As Long

Public Property Get Counter() As Long
    Counter = m_counter
    m_counter = m_counter + 1
End Property

And code in a standard bas module:
Option Explicit

Sub Test()
    Dim c As Class1: Set c = New Class1

    Stop 'Now expand c in the Locals window before proceeding
    Debug.Assert c.Counter = 0
End Sub

Run Test and when the code stops on the Stop statement then go to the Locals window and expand c. You will see that the value of m_counter gets incremented inside the class while the code is stopped. If the pvData member of the safe array inside an accesor is changed because of a call from one of the windows, then either a crash or bad results might occur - so, I chose to reduce this problem as much as I could. Before implementing accessors, I had a static remote memory struct in each method for the same reasoning e.g. here

Thanks a lot for your great work!
RedirectInstance works now flawless in my tests and in all classes I'm using it. I have no problem in adding another parameter for VarPtr(funcReturn). Also many thanks for responding to my questions and the good explanations how your implementation works!

Thank you for your kind words and all the feedback!


MyVariant info related columns show error icon for PTEN

See https://www.signaldb.org/gene/PTEN
There might be other genes having the same problem. We need to figure out if this is a problem with genome nexus or frontend.

Looks like we have inconsistent chromosome values for Signal mutations in Genome Nexus DB. Some of the mutations have "integer" chromosomes while the others have "string" chromosomes:
> db.signal.mutation.find({chromosome: "1"}).count()
6612
> db.signal.mutation.find({chromosome: 1}).count()
2258
> db.signal.mutation.find({chromosome: "2"}).count()
5305
> db.signal.mutation.find({chromosome: 2}).count()
612
...
...
> db.signal.mutation.find({chromosome: "10"}).count()
2688
> db.signal.mutation.find({chromosome: 10}).count()
253
...
...

All chromosome values should be string. Integer values cause Genome Nexus API to incorrectly map values from DB like 10.0, 2.0, etc. Ideally, this should be fixed in genome-nexus-importer. We may also want to improve validation on the API side to prevent future errors.


More siege weapons for AI .

I know that this topic has already been raised but a new AI editing tool will appear soon.
I think the AI must use siege towers and shields. This will complicate the game vs AI. I
think that this ability is in AI, it just does not use. I saw how the AI uses siege towers and shields in Siege Missions.In free construction, he also uses shields and siege towers.
@ByBurton  @Sh0wdown  Is it possible to realize this?

They can use shields (kind of, not very good) and siege towers.
You can select those as siege engine for attacks in the editor that I made, once we make it public.

They can use shields (kind of, not very good) and siege towers.
You can select those as siege engine for attacks in the editor that I made, once we make it public.

0_0
I can not wait ....

What about allowing portable shields on towers for AI? Will that be possible.

@PitchNeeded I ... don't think so? At least it is not planned. You can only put regular troops as defence. Try to open an issue for that after we released the tool, okay?

@ByBurton Can you give the AI more than 8 siege enignes? In your code I saw that it is called SiegeEngine1-8. Could I add SiegeEngine9, 10, ... ?
Or if not, is there maybe some tricks to make the AI able to use more?
One example where more than 8 siege enignes could be usefull are portable shields. Some (strong) AI's could use them but not if they take up 1 out of 8 slots.
Also it would be awesome for the late game if the strongest lords could keep on adding siege engines until even strong castles are threatened.

Nope, there are only 8 spots. But I am not sure if the AI just starts from the beginning of the list again if it has more engineers availabl.e

If the AI starts from the beginning that would be almost as good. Then you can just set the max engineers to a large number and the problem is basically solved. Thanks for the quick answer and your contribution :+1:


STYLE: Replace thread_local variables with m_TensorStoreData data member

It appears preferable that multiple OMEZarrNGFFImageIO instances do not share their TensorStore context and store. With this commit, each OMEZarrNGFFImageIO instance will have its own context and store, stored in its m_TensorStoreData data member.
The m_TensorStoreData data member hides the TensorStore data from the interface, as it is a pointer to a forward-declared struct, similar to the "Pimpl" idiom.

What drives your interest in this remote module?

Good question 😃 One of our aims for the elastix project is to add OME-Zarr support! At least for the input images. We are hoping to get it working by using your remote module!

So... what inspired you to make this module?

Adding support for distributed image registration, as part of a grant-funded project.

Did you write it all from scratch, or is there helpful example code of how to use tensorstore in C++, that you could use?
Like, how did you figure this out?
auto indexDomain = tensorstore::IndexDomainBuilder(dimension).origin(indices).shape(sizes).Finalize().value();

auto arr = tensorstore::Array(buffer, indexDomain.shape(), tensorstore::c_order);
auto indexedStore = store | tensorstore::AllDims().SizedInterval(indices, sizes);
tensorstore::Read(indexedStore, tensorstore::UnownedToShared(arr)).value();

https://github.com/InsightSoftwareConsortium/ITKIOOMEZarrNGFF/blob/1d0f131991e02788109d8e12a63fd2fe90ae6b01/src/itkOMEZarrNGFFImageIO.cxx#L230-L234
I'm impressed!

I started from scratch. I was looking at unit tests in tensorstore, and to a lesser degree at their Python documentation. TensorStore authors also helped me a lot. Take a look at issues opened by me:
https://github.com/google/tensorstore/issues?q=is%3Aissue+author%3Adzenanz+sort%3Acreated-asc
Most of them had pretty long discussions.

I think this pull request is ready 👍 (GitHub does not allow me to approve my own pull request 🤷.)


How to set NODE_ENV to production?

I want to deploy a GraphQL Apollo server as an Azure function. Therefore I'm using apollo-server-azure-functions. Unfortunately you can open the GraphQL Playground in my deployed Azure function.
When NODE_ENV is set to production, GraphQL Playground (as well as introspection) is disabled as a production best-practice. Is it possible to set that somehow with this GitHub action?

This action doesn't support setting app settings or environment variables
You will need to set these up using the Azure Portal or other management tools


No Detection on testing custom train model

I have trained the cascade_mask_rcnn_hrnetv2p_w32_20e_coco model on custom train model for three classes.I have used coco json format for training of model. it is giving me following log during the training
2020-12-09 15:00:00,430 - mmdet - INFO - Start running, host: root@290305e98ef9, work_dir: /content/drive/My Drive/mmdetection_object_detection_demo/mmdetection/work_dirs/cascade_mask_rcnn_hrnetv2p_w32_20e_coco
2020-12-09 15:00:00,431 - mmdet - INFO - workflow: [('train', 1)], max: 100 epochs
/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py:2973: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.
"See the documentation of nn.Upsample for details.".format(mode))
2020-12-09 15:01:04,808 - mmdet - INFO - Epoch [1][50/770]	lr: 1.978e-03, eta: 1 day, 3:30:34, time: 1.287, data_time: 0.073, memory: 9197, loss_rpn_cls: 0.4559, loss_rpn_bbox: 0.0851, s0.loss_cls: 0.6585, s0.acc: 88.9141, s0.loss_bbox: 0.0368, s0.loss_mask: 0.3046, s1.loss_cls: 0.3321, s1.acc: 93.9238, s1.loss_bbox: 0.0108, s1.loss_mask: 0.1793, s2.loss_cls: 0.1782, s2.acc: 98.6797, s2.loss_bbox: 0.0021, s2.loss_mask: 0.1850, loss: 2.4285
2020-12-09 15:02:12,257 - mmdet - INFO - Epoch [1][100/770]	lr: 3.976e-03, eta: 1 day, 4:09:13, time: 1.349, data_time: 0.017, memory: 9286, loss_rpn_cls: 0.0841, loss_rpn_bbox: 0.0599, s0.loss_cls: 0.4245, s0.acc: 96.8809, s0.loss_bbox: 0.0722, s0.loss_mask: 0.2387, s1.loss_cls: 0.2213, s1.acc: 97.8672, s1.loss_bbox: 0.0354, s1.loss_mask: 0.0971, s2.loss_cls: 0.1107, s2.acc: 98.7051, s2.loss_bbox: 0.0085, s2.loss_mask: 0.0315, loss: 1.3839
2020-12-09 15:03:18,895 - mmdet - INFO - Epoch [1][150/770]	lr: 5.974e-03, eta: 1 day, 4:14:25, time: 1.333, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.0619, loss_rpn_bbox: 0.0612, s0.loss_cls: 0.3015, s0.acc: 96.5352, s0.loss_bbox: 0.0915, s0.loss_mask: 0.2569, s1.loss_cls: 0.1794, s1.acc: 97.3066, s1.loss_bbox: 0.0474, s1.loss_mask: 0.1024, s2.loss_cls: 0.0965, s2.acc: 98.3594, s2.loss_bbox: 0.0118, s2.loss_mask: 0.0354, loss: 1.2458
2020-12-09 15:04:26,702 - mmdet - INFO - Epoch [1][200/770]	lr: 7.972e-03, eta: 1 day, 4:23:57, time: 1.356, data_time: 0.021, memory: 9402, loss_rpn_cls: 0.0832, loss_rpn_bbox: 0.0760, s0.loss_cls: 0.2321, s0.acc: 95.9004, s0.loss_bbox: 0.1083, s0.loss_mask: 0.2704, s1.loss_cls: 0.1438, s1.acc: 96.6426, s1.loss_bbox: 0.0534, s1.loss_mask: 0.1017, s2.loss_cls: 0.0828, s2.acc: 97.8359, s2.loss_bbox: 0.0148, s2.loss_mask: 0.0356, loss: 1.2021
2020-12-09 15:05:30,204 - mmdet - INFO - Epoch [1][250/770]	lr: 9.970e-03, eta: 1 day, 4:07:11, time: 1.270, data_time: 0.019, memory: 9402, loss_rpn_cls: 0.3703, loss_rpn_bbox: 0.8771, s0.loss_cls: nan, s0.acc: 56.1836, s0.loss_bbox: nan, s0.loss_mask: 23.1429, s1.loss_cls: nan, s1.acc: 76.8734, s1.loss_bbox: nan, s1.loss_mask: 1.5815, s2.loss_cls: nan, s2.acc: 77.4301, s2.loss_bbox: nan, s2.loss_mask: 0.0615, loss: nan
2020-12-09 15:06:26,744 - mmdet - INFO - Epoch [1][300/770]	lr: 1.197e-02, eta: 1 day, 3:25:59, time: 1.131, data_time: 0.017, memory: 9402, loss_rpn_cls: 0.5307, loss_rpn_bbox: 0.0789, s0.loss_cls: nan, s0.acc: 0.3203, s0.loss_bbox: nan, s0.loss_mask: 25.6634, s1.loss_cls: nan, s1.acc: 49.8946, s1.loss_bbox: nan, s1.loss_mask: 0.0110, s2.loss_cls: nan, s2.acc: 49.8946, s2.loss_bbox: nan, s2.loss_mask: 0.0060, loss: nan
2020-12-09 15:07:21,946 - mmdet - INFO - Epoch [1][350/770]	lr: 1.397e-02, eta: 1 day, 2:51:25, time: 1.104, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.4244, loss_rpn_bbox: 0.0825, s0.loss_cls: nan, s0.acc: 1.0703, s0.loss_bbox: nan, s0.loss_mask: 0.1908, s1.loss_cls: nan, s1.acc: 49.8663, s1.loss_bbox: nan, s1.loss_mask: 0.0073, s2.loss_cls: nan, s2.acc: 49.8663, s2.loss_bbox: nan, s2.loss_mask: 0.0059, loss: nan
2020-12-09 15:08:18,355 - mmdet - INFO - Epoch [1][400/770]	lr: 1.596e-02, eta: 1 day, 2:29:06, time: 1.128, data_time: 0.019, memory: 9402, loss_rpn_cls: 0.3583, loss_rpn_bbox: 0.0680, s0.loss_cls: nan, s0.acc: 1.3047, s0.loss_bbox: nan, s0.loss_mask: 0.2160, s1.loss_cls: nan, s1.acc: 48.2250, s1.loss_bbox: nan, s1.loss_mask: 0.0057, s2.loss_cls: nan, s2.acc: 48.2250, s2.loss_bbox: nan, s2.loss_mask: 0.0045, loss: nan
2020-12-09 15:09:14,494 - mmdet - INFO - Epoch [1][450/770]	lr: 1.796e-02, eta: 1 day, 2:10:47, time: 1.123, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.3456, loss_rpn_bbox: 0.0721, s0.loss_cls: nan, s0.acc: 1.4453, s0.loss_bbox: nan, s0.loss_mask: 0.2611, s1.loss_cls: nan, s1.acc: 49.1674, s1.loss_bbox: nan, s1.loss_mask: 0.0059, s2.loss_cls: nan, s2.acc: 49.1674, s2.loss_bbox: nan, s2.loss_mask: 0.0044, loss: nan
2020-12-09 15:10:12,922 - mmdet - INFO - Epoch [1][500/770]	lr: 1.996e-02, eta: 1 day, 2:01:46, time: 1.169, data_time: 0.019, memory: 9402, loss_rpn_cls: 0.2846, loss_rpn_bbox: 0.0540, s0.loss_cls: nan, s0.acc: 2.0352, s0.loss_bbox: nan, s0.loss_mask: 0.2760, s1.loss_cls: nan, s1.acc: 49.0887, s1.loss_bbox: nan, s1.loss_mask: 0.0046, s2.loss_cls: nan, s2.acc: 49.0887, s2.loss_bbox: nan, s2.loss_mask: 0.0032, loss: nan
2020-12-09 15:11:10,844 - mmdet - INFO - Epoch [1][550/770]	lr: 2.000e-02, eta: 1 day, 1:53:03, time: 1.158, data_time: 0.016, memory: 9402, loss_rpn_cls: 0.3248, loss_rpn_bbox: 0.0693, s0.loss_cls: nan, s0.acc: 1.2578, s0.loss_bbox: nan, s0.loss_mask: 0.2344, s1.loss_cls: nan, s1.acc: 48.4576, s1.loss_bbox: nan, s1.loss_mask: 0.0032, s2.loss_cls: nan, s2.acc: 48.4576, s2.loss_bbox: nan, s2.loss_mask: 0.0020, loss: nan
2020-12-09 15:12:07,954 - mmdet - INFO - Epoch [1][600/770]	lr: 2.000e-02, eta: 1 day, 1:43:53, time: 1.142, data_time: 0.020, memory: 9402, loss_rpn_cls: 0.3204, loss_rpn_bbox: 0.0704, s0.loss_cls: nan, s0.acc: 2.0801, s0.loss_bbox: nan, s0.loss_mask: 0.2596, s1.loss_cls: nan, s1.acc: 50.0763, s1.loss_bbox: nan, s1.loss_mask: 0.0042, s2.loss_cls: nan, s2.acc: 50.0763, s2.loss_bbox: nan, s2.loss_mask: 0.0028, loss: nan
2020-12-09 15:13:04,250 - mmdet - INFO - Epoch [1][650/770]	lr: 2.000e-02, eta: 1 day, 1:34:24, time: 1.126, data_time: 0.017, memory: 9402, loss_rpn_cls: 0.3282, loss_rpn_bbox: 0.0708, s0.loss_cls: nan, s0.acc: 1.4551, s0.loss_bbox: nan, s0.loss_mask: 0.2447, s1.loss_cls: nan, s1.acc: 48.1672, s1.loss_bbox: nan, s1.loss_mask: 0.0039, s2.loss_cls: nan, s2.acc: 48.1672, s2.loss_bbox: nan, s2.loss_mask: 0.0023, loss: nan
2020-12-09 15:14:00,980 - mmdet - INFO - Epoch [1][700/770]	lr: 2.000e-02, eta: 1 day, 1:26:56, time: 1.135, data_time: 0.016, memory: 9402, loss_rpn_cls: 0.2958, loss_rpn_bbox: 0.0585, s0.loss_cls: nan, s0.acc: 1.6367, s0.loss_bbox: nan, s0.loss_mask: 0.2646, s1.loss_cls: nan, s1.acc: 48.1508, s1.loss_bbox: nan, s1.loss_mask: 0.0019, s2.loss_cls: nan, s2.acc: 48.1508, s2.loss_bbox: nan, s2.loss_mask: 0.0011, loss: nan
2020-12-09 15:14:57,781 - mmdet - INFO - Epoch [1][750/770]	lr: 2.000e-02, eta: 1 day, 1:20:27, time: 1.136, data_time: 0.017, memory: 9402, loss_rpn_cls: 0.3063, loss_rpn_bbox: 0.0687, s0.loss_cls: nan, s0.acc: 1.7285, s0.loss_bbox: nan, s0.loss_mask: 0.2867, s1.loss_cls: nan, s1.acc: 48.5758, s1.loss_bbox: nan, s1.loss_mask: 0.0033, s2.loss_cls: nan, s2.acc: 48.5758, s2.loss_bbox: nan, s2.loss_mask: 0.0020, loss: nan
2020-12-09 15:15:20,093 - mmdet - INFO - Saving checkpoint at 1 epochs
[>>] 1556/1556, 6.3 task/s, elapsed: 247s, ETA:     0s2020-12-09 15:19:29,783 - mmdet - INFO - Evaluating bbox...
Loading and preparing results...
2020-12-09 15:19:29,784 - mmdet - ERROR - The testing results of the whole dataset is empty.
2020-12-09 15:19:29,786 - mmdet - INFO - Exp name: cascade_mask_rcnn_hrnetv2p_w32_20e_coco.py
2020-12-09 15:19:29,786 - mmdet - INFO - Epoch(val) [1][770]
2020-12-09 15:20:31,019 - mmdet - INFO - Epoch [2][50/770]	lr: 2.000e-02, eta: 1 day, 0:44:09, time: 1.224, data_time: 0.063, memory: 9402, loss_rpn_cls: 0.2979, loss_rpn_bbox: 0.0625, s0.loss_cls: nan, s0.acc: 1.4727, s0.loss_bbox: nan, s0.loss_mask: 0.2738, s1.loss_cls: nan, s1.acc: 48.6368, s1.loss_bbox: nan, s1.loss_mask: 0.0042, s2.loss_cls: nan, s2.acc: 48.6368, s2.loss_bbox: nan, s2.loss_mask: 0.0025, loss: nan
2020-12-09 15:21:28,046 - mmdet - INFO - Epoch [2][100/770]	lr: 2.000e-02, eta: 1 day, 0:41:06, time: 1.141, data_time: 0.017, memory: 9402, loss_rpn_cls: 0.3007, loss_rpn_bbox: 0.0586, s0.loss_cls: nan, s0.acc: 1.9902, s0.loss_bbox: nan, s0.loss_mask: 0.2526, s1.loss_cls: nan, s1.acc: 48.6786, s1.loss_bbox: nan, s1.loss_mask: 0.0013, s2.loss_cls: nan, s2.acc: 48.6786, s2.loss_bbox: nan, s2.loss_mask: 0.0007, loss: nan
2020-12-09 15:22:25,833 - mmdet - INFO - Epoch [2][150/770]	lr: 2.000e-02, eta: 1 day, 0:39:20, time: 1.156, data_time: 0.016, memory: 9402, loss_rpn_cls: 0.3119, loss_rpn_bbox: 0.0664, s0.loss_cls: nan, s0.acc: 1.8926, s0.loss_bbox: nan, s0.loss_mask: 0.2522, s1.loss_cls: nan, s1.acc: 48.4246, s1.loss_bbox: nan, s1.loss_mask: 0.0027, s2.loss_cls: nan, s2.acc: 48.4246, s2.loss_bbox: nan, s2.loss_mask: 0.0014, loss: nan
2020-12-09 15:23:24,674 - mmdet - INFO - Epoch [2][200/770]	lr: 2.000e-02, eta: 1 day, 0:39:01, time: 1.177, data_time: 0.023, memory: 9402, loss_rpn_cls: 0.3139, loss_rpn_bbox: 0.0598, s0.loss_cls: nan, s0.acc: 2.6074, s0.loss_bbox: nan, s0.loss_mask: 0.2666, s1.loss_cls: nan, s1.acc: 49.2508, s1.loss_bbox: nan, s1.loss_mask: 0.0044, s2.loss_cls: nan, s2.acc: 49.2508, s2.loss_bbox: nan, s2.loss_mask: 0.0025, loss: nan
2020-12-09 15:24:22,291 - mmdet - INFO - Epoch [2][250/770]	lr: 2.000e-02, eta: 1 day, 0:37:08, time: 1.152, data_time: 0.020, memory: 9402, loss_rpn_cls: 0.3193, loss_rpn_bbox: 0.0767, s0.loss_cls: nan, s0.acc: 2.1250, s0.loss_bbox: nan, s0.loss_mask: 0.2536, s1.loss_cls: nan, s1.acc: 48.9561, s1.loss_bbox: nan, s1.loss_mask: 0.0057, s2.loss_cls: nan, s2.acc: 48.9561, s2.loss_bbox: nan, s2.loss_mask: 0.0028, loss: nan
2020-12-09 15:25:19,096 - mmdet - INFO - Epoch [2][300/770]	lr: 2.000e-02, eta: 1 day, 0:34:22, time: 1.136, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.3028, loss_rpn_bbox: 0.0567, s0.loss_cls: nan, s0.acc: 1.8555, s0.loss_bbox: nan, s0.loss_mask: 0.2635, s1.loss_cls: nan, s1.acc: 47.3700, s1.loss_bbox: nan, s1.loss_mask: 0.0030, s2.loss_cls: nan, s2.acc: 47.3700, s2.loss_bbox: nan, s2.loss_mask: 0.0015, loss: nan
2020-12-09 15:26:13,842 - mmdet - INFO - Epoch [2][350/770]	lr: 2.000e-02, eta: 1 day, 0:29:26, time: 1.095, data_time: 0.016, memory: 9402, loss_rpn_cls: 0.3124, loss_rpn_bbox: 0.0691, s0.loss_cls: nan, s0.acc: 1.5820, s0.loss_bbox: nan, s0.loss_mask: 0.2379, s1.loss_cls: nan, s1.acc: 49.1186, s1.loss_bbox: nan, s1.loss_mask: 0.0038, s2.loss_cls: nan, s2.acc: 49.1186, s2.loss_bbox: nan, s2.loss_mask: 0.0019, loss: nan
2020-12-09 15:27:08,085 - mmdet - INFO - Epoch [2][400/770]	lr: 2.000e-02, eta: 1 day, 0:24:18, time: 1.085, data_time: 0.016, memory: 9402, loss_rpn_cls: 0.3009, loss_rpn_bbox: 0.0595, s0.loss_cls: nan, s0.acc: 1.6680, s0.loss_bbox: nan, s0.loss_mask: 0.2531, s1.loss_cls: nan, s1.acc: 49.9116, s1.loss_bbox: nan, s1.loss_mask: 0.0052, s2.loss_cls: nan, s2.acc: 49.9116, s2.loss_bbox: nan, s2.loss_mask: 0.0023, loss: nan
2020-12-09 15:28:01,640 - mmdet - INFO - Epoch [2][450/770]	lr: 2.000e-02, eta: 1 day, 0:18:48, time: 1.071, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.2758, loss_rpn_bbox: 0.0565, s0.loss_cls: nan, s0.acc: 1.8613, s0.loss_bbox: nan, s0.loss_mask: 0.2599, s1.loss_cls: nan, s1.acc: 48.8371, s1.loss_bbox: nan, s1.loss_mask: 0.0075, s2.loss_cls: nan, s2.acc: 48.8371, s2.loss_bbox: nan, s2.loss_mask: 0.0031, loss: nan
2020-12-09 15:28:58,841 - mmdet - INFO - Epoch [2][500/770]	lr: 2.000e-02, eta: 1 day, 0:17:17, time: 1.144, data_time: 0.018, memory: 9402, loss_rpn_cls: 0.3046, loss_rpn_bbox: 0.0683, s0.loss_cls: nan, s0.acc: 1.7148, s0.loss_bbox: nan, s0.loss_mask: 0.2602, s1.loss_cls: nan, s1.acc: 48.0007, s1.loss_bbox: nan, s1.loss_mask: 0.0042, s2.loss_cls: nan, s2.acc: 48.0007, s2.loss_bbox: nan, s2.loss_mask: 0.0017, loss: nan
After Completing the training, I have done inferences on the saved checkpoints.It is giving me empty result, no detection found on the training data as well.Can anybody guide me what could be the reason.Thanks

This is because the loss is Nan and the model training is failed.

This is really a efficient sloution

This is really a efficient soloution


R average operator not recognising custom particle domains

Hi,
I am keen to start contributing to Pybamm, but I have never contributed to any open-source project before, so I am looking for an easy entry point so that I can understand the process. I came across something in my work which might be a good start:
I am using Pybamm to solve a custom model, which is a DFN variant with several particle domains. Thus, the particle domain name is now something like 'positive particle 1' rather than just 'positive particle'. However, when using the pybamm.r_average() operator, it does not recognise this domain as a particle domain, due to the following line,
has_particle_domain = symbol.domain != [] and symbol.domain[0].endswith("particle")
I know I could just change my domain name to something like 'ID 1 positive particle' and it would bypass this problem. But to me it makes more sense to fix the problem as follows:
has_particle_domain = symbol.domain != [] and "particle" in symbol.domain[0]
Can anyone think of any problems with this? If not I will go ahead and try make a pull request.

Ah ok, I didn't realise that would come up as a domain name. No problem, I have ended up using the integral operator anyway.


elasticdump fails with scrollId not found

ElasticDump version: 6.1.0
Elasticsearch version: 6.2.4
Index size : 50GB
Command ran : elasticdump --input=http://localhost:8080/api/v1/namespaces/td-platform/services/https:elasticsearch-logging:9200/proxy/mlengine-6.2.4-2019.06.21 --output=test.json --type=data --limit 10000 --debug`
Output:
Mon, 24 Jun 2019 03:30:32 GMT | starting dump
Mon, 24 Jun 2019 03:30:32 GMT [debug] | cannot discover elasticsearch input major version, assuming: 5
Mon, 24 Jun 2019 03:30:36 GMT | got 10000 objects from source elasticsearch (offset: 0)
Mon, 24 Jun 2019 03:30:36 GMT | sent 10000 objects to destination file, wrote 10000
Mon, 24 Jun 2019 03:30:36 GMT [debug] | scrollRequest: {"uri":"http://localhost:8080/api/v1/namespaces/td-platform/services/https:elasticsearch-logging:9200/_search/scroll","method":"POST","body":"{"scroll":"10m","scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAPxlFmZSLXc2a3pBUkg2bnl0eEV3Wk5iSWcAAAAAAAC9fhZJRFFManBtSFI0eUo2V3AyV1QtZktRAAAAAAAA3ggWU0tXR3lHSi1STUtjREtMb3dlTXVFQQAAAAAAAPxmFmZSLXc2a3pBUkg2bnl0eEV3Wk5iSWcAAAAAAAD8ZBZmUi13Nmt6QVJINm55dHhFd1pOYkln"}"}
Mon, 24 Jun 2019 03:30:36 GMT [debug] | body: "{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"the server could not find the requested resource","reason":"NotFound","details":{},"code":404}\n"
Mon, 24 Jun 2019 03:30:36 GMT | Error Emitted => {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"the server could not find the requested resource","reason":"NotFound","details":{},"code":404}

Mon, 24 Jun 2019 03:30:36 GMT | Total Writes: 10000
Mon, 24 Jun 2019 03:30:36 GMT | dump ended with error (get phase) => Error: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"the server could not find the requested resource","reason":"NotFound","details":{},"code":404}

This all depends on how long elasticdump is taking to process those 10,000 records. The scrollTime might be insufficient. Try bumping this value.
Also if you're dumping a 50GB index I highly recommend using the fileSize parameter to segment the data into smaller chunks.

I tried with following combinations:
elasticdump --input=http://localhost:8080/api/v1/namespaces/td-platform/services/https:elasticsearch-logging:9200/proxy/mlengine-6.2.4-2019.06.21 --output=test2.json --type=data --debug --scrollTime=100m --fileSize=1mb
elasticdump --input=http://localhost:8080/api/v1/namespaces/td-platform/services/https:elasticsearch-logging:9200/proxy/mlengine-6.2.4-2019.06.21 --output=test2.json --type=data --limit 10000 --debug --scrollTime=30m --fileSize=30mb
elasticdump --input=http://localhost:8080/api/v1/namespaces/td-platform/services/https:elasticsearch-logging:9200/proxy/mlengine-6.2.4-2019.06.21 --output=test2.json --type=data --debug --scrollTime=30m --fileSize=30mb

I used the same version of elastic that you're using and I was able to dump the data.
My guess is, your proxy is doing something weird. Try using curl to access the individual endpoints.
 [debug] | cannot discover elasticsearch input major version, assuming: 5
```

The above warning shouldn't exists if elasticdump was able to query the version endpoint. Usually it should return this :

```json
{
  "name" : "WfNEzH5",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "JsVtr_2KQNaKxeE9xK8PRQ",
  "version" : {
    "number" : "6.2.4",
    "build_hash" : "ccec39f",
    "build_date" : "2018-04-12T20:37:28.497551Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
```

curl works fine ( with proxy urls) Not sure why elasticdump doesnt work

I don't know what the proxy is doing, so I don't know. Could be multiple redirects or something. Not enough info to know exactly what the issue is


swagger API specification from another repository

Question
is it possible to point to the swagger.yaml located in another git repository?
or even better to a json format which I deploy on my own "www.api.com/service/swagger.json"
Example
app = connexion.App('dummy', specification_dir='https://github.com/..../swagger')
app.add_api('swagger.yaml', strict_validation=True, validate_responses=True)

No this is not supported.
You can fetch the specification and pass it in.


Make gen_from_fn (Ḟ) work with LazyLists

It was trying to call the append method, which only works for lists.

@Steffan153 Because I went to eat


Integrate LLVM at llvm/llvm-project@d3b0fba6084d

@ghpvnist
Not sure if the Bazel Build is supposed to fail, Cmake Build passed though

This command should fix it: lint_llvm_commit.sh -f <path/to/stablehlo/root>


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
16 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
20 seconds
deprecated-base-image-check

✅ Succeeded
21 seconds
sanity-inspect-image

✅ Succeeded
20 seconds
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
14 seconds
sbom-json-check

✅ Succeeded
13 seconds
sanity-optional-label-check

✅ Succeeded
11 seconds
sanity-label-check

✅ Succeeded
8 seconds
show-summary

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
16 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
21 seconds
sanity-inspect-image

✅ Succeeded
20 seconds
deprecated-base-image-check

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
20 seconds
clair-scan

✅ Succeeded
14 seconds
sbom-json-check

✅ Succeeded
13 seconds
sanity-optional-label-check

✅ Succeeded
11 seconds
sanity-label-check

✅ Succeeded
8 seconds
show-summary


Template syntax issues

Lack-of-Resources-and-Rate-Limiting/DateFieldInputDoS.yml
I finally found the problem. In your official template, extract is not indented, which causes the value to not be replaced with a dictionary list.

Thanks for reporting the issue, @zzc-river. We'll work on it.

Fix has been released, @zzc-river. Thank you for reporting it!


Detect ContentSquare

Example site - https://www.matalan.co.uk/
Vendor site - https://contentsquare.com/
Detection - look for script t.contentsquare.net/uxa/f661eae0de153.js ... Use *.js in detection from t.contentsquare.net

Another site for testing - https://es.boohoo.com/

Hey there , added.


reorganization, refactoring, addition of pubsub example.

reorganization, refactoring, addition of pubsub example.
(The README for the pubsub example still needs further details).

First batch looking at pubsub-pipe-image

Thanks very much, Takashi.  I haven't yet addressed checking for 409 status on the subscription create, but addressed everything else.

Sorry I didn't catch everything at once.

LGTM


Update commentary to reflect MIPS r6 conditional branches

Good suggestion.  Merging with a slight tweak: I'm going to keep saying "MIPS" instead of "MIPS pre-R6", because that's the convention in the rest of the document and I don't want to add clutter.

Merged manually via 87e4ae880bb3169a1128ad9fa2bcdac91a1219e4


Any way to make the columns Swipe and Toggle at the same time?

I'm wondering if there is a way to use both mode (Swipe and Toggle) at the same time. So that there is a way to swipe the columns but also to choose which columns are displayed. Anyone used TableSaw like this already?

I know this is old but would love to see this as well... trying to figure it out atm but it's mega buggy.

It would be very nice to have this feature. Thanks.

This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open.
The enhancement backlog can be found here: https://github.com/filamentgroup/tablesaw/issues?utf8=✓&q=label%3Aneeds-votes+sort%3Areactions-%2B1-desc+
Don’t forget to upvote the top comment with 👍!


Ensure all panels output their own help_text

Incorporates https://github.com/wagtail/wagtail/pull/9239; fixes https://github.com/wagtail/wagtail/issues/9134.
The help_text argument common to all panels was being consistently ignored; the only panel type with provision for help text was FieldPanel, and that only took it from the field, not the panel. This PR:

adds help text output for all the panel types that were previously missing it, using the help_block component. (@thibaudcolas - I chose this purely based on what's listed in the contrib styleguide, and I don't know if the page editor designs call for something else more specific...)
tweaks the behaviour of FieldPanel so that a help_text argument passed to FieldPanel(...) is used in preference to the one set on the field itself; I think it makes sense this way round since the panel definition is more specifically targeted to the Wagtail admin than help text defined on the model - and, in particular, it opens up the possibility of customising help text on fields that aren't directly user-accessible, such as title
splits out a multi_field_panel_child.html template from multi_field_panel.html; this is necessary so that we can continue sharing this markup between MultiFieldPanel and FieldRowPanel, given that the help text needs to be placed differently
fixes a separate issue where InlinePanel error messages were output inside the container that was used for managing child ordering, meaning that the error element ended up participating in the ordering too
adds documentation of the help_text argument where it was missing

Tested and cherry-picked in stable/4.0.x – will now add the release notes for v4.0.3 as well.


Support retention policy

The upload artifact job has the ability for a retention policy. This would be really good to be able to specify here in this action.

PR was released.

Thank you!


METROL-111: Update JSONRPC interfaces based on JWebBrowser.h

Deprecated TRACE_LX changed to TRACE()
Syslog category changed from Trace to Logging
JSONRPC interface updated based on the integration with autogenerated jsonrpc interface from JWebBrowser.h
Doc updated against these changes

This is already merged to master from another PR, so closing


publish 09/23/2019 10:30 PST

Docs Build status updates of commit ce14c15:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/configci/new-cipolicy.md
:white_check_mark:Succeeded

docset/windows/defender/defender.md
:white_check_mark:Succeeded

docset/windows/hnvdiagnostics/disable-muxechoresponder.md
:white_check_mark:Succeeded

docset/windows/hnvdiagnostics/enable-muxechoresponder.md
:white_check_mark:Succeeded

docset/windows/netadapter/disable-netadapterencapsulatedpackettaskoffload.md
:white_check_mark:Succeeded

docset/windows/netadapter/set-netadapterencapsulatedpackettaskoffload.md
:white_check_mark:Succeeded

docset/windows/netadapter/set-netadapterrss.md
:white_check_mark:Succeeded

docset/windows/netlbfo/set-netlbfoteam.md
:white_check_mark:Succeeded

docset/windows/remoteaccess/set-vpnserverconfiguration.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/netadapter/Enable-NetAdapterRss.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/vpnclient/Add-VpnConnectionTriggerApplication.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/vpnclient/Add-VpnConnectionTriggerTrustedNetwork.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Cant get it to work

Hi, I've done everything you said to do and then got to this part:

root@kali:~# hcxdumptool -o hash -i wlan0mon --filterlist_ap=bruh.txt --filtermode=2 --enable_status=3
initialization...
warning: wlan0mon is probably a virtual monitor interface
failed to backup current interface flags, ioctl(SIOCGIFFLAGS) not supported by driver: No such device
warning: failed to init socket
try to use iw to set monitor mode
try to use ip link to bring interface up
terminating...
failed to get interface information: No such device
failed to set interface down: No such device
failed to restore old SIOCSIWMODE: No such device
failed to restore old SIOCSIFFLAGS and to bring interface up: No such device

In Bruh.txt I have a bunch of BSSID's which I need to find the hash for and which I have detected.
I am in monitor mode here;

root@kali:~# sudo iw dev wlan0 info
Interface wlan0
ifindex 7
wdev 0x200000001
addr 02:00:00:00:00:00
type monitor
wiphy 2
channel 1 (2412 MHz), width: 20 MHz (no HT), center1: 2412 MHz
txpower 20.00 dBm

I done the "airmon-ng check kill" or whatever command before going into monitor mode.
Please help I can't find what to do anywhere :(

First of all:
Your driver must support all ioctl() system calls, otherwise hcxdumptool will not work. Unfortunately, it looks like your driver doesn't support them: ioctl(SIOCGIFFLAGS) not supported by driver
BTW:
The following drivers don't support ioctl() system calls
Broadcom (that include NEXMON on Raspberry Pi systems)
Realtek (8188 and 8812)
Second of all:
airmon-ng is designed to work with aircrack-ng suite and not with hcxdumptool! So, do not use airmon-ng in combination with hcxdumptool.
This is described in --help:
         do not run hcxdumptool on logical (NETLINK) interfaces (monx, wlanxmon)
         do not use hcxdumptool in combination with 3rd party tools, which take access to the interface (except: tshark, wireshark, tcpdump)
-i <interface> : interface (monitor mode will be enabled by hcxdumptool)

Please notice:
Monitor mode will be enabled by hcxdumptool. You don't need a third party tool (airmon-ng) to do this!
Now please do the following steps (and keep in mind: do not use airmon-ng):
stop this services:
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl stop wpa_supplicant.service
and post output of:
if you use an USB WiFi adapter:
$ lsusb
if you use the internal PCIe WiFi card:
$ lspci
$ sudo hcxdumptool -I
$ sudo hcxdumptool -i your_interface --check_driver
$ sudo hcxdumptool -i your_interface --check_injection
BTW:
Closed this, because it isn't an hcxdumptool issue, but you can still ask your questions here.

Thanks for the fast reply. So do you know how i'd be able to get the correct drivers onto my computer in order to run it? (I'm on a Kali Linux virtual machine through Virtual Box).

First let us see which driver is installed. Please comment output of
$ sudo hcxdumptool -I

it says
020000000000 wlan0 (mac80211_hwsim)
020000000100 wlan1 (mac80211_hwsim)

which comes up under wlan interfaces, which I have to reinstall each time I open up the VM for some reason

mac80211_hwsim is a Linux kernel module that can be used to simulate arbitrary number of IEEE 802.11 radios for mac80211. It isn't a real interface and you can't use it to run penetration tests against real networks.
Read more here:
https://wireless.wiki.kernel.org/en/users/drivers/mac80211_hwsim
BTW:
I don't use neither a Virtual Machine (VM) nor KALI Linux, so I can't help you here.
But in every case, running a VM isn't the best choice if you need direct access to hardware (hcxdumptool).

Oh, okay. Thank you so much for your help anyway.

hey, running a VM and getting the same error, which I know you mention doesnt help.
Can you comment on whether this will run hcxdumptools:
Alfa AWUSO36ACH
00c0caaaf2d5 rt 88xxxau
using rt8812au-<IP_ADDRESS>.zip driver
thanks in advance!

rt8812au will not work out of the box.
You can try the aircrack-ng driver and set monitor mode by hand, but you should know that there are several issues:
https://github.com/aircrack-ng/rtl8812au/issues
especially this one here:
https://github.com/aircrack-ng/rtl8812au/issues/587
-i <interface> : interface (monitor mode will be enabled by hcxdumptool)
                 some Realtek interfaces require NETLINK to set monitor mode
                 in this case try iw:
                 ip link set <interface> down
                 iw dev <interface> set type monitor
                 ip link set <interface> up
                 WARNING:
                  hcxdumptool may not work as expected on virtual NETLINK interfaces
                  do not report issues related to iw
                 It is mandatory that chipset and driver support monitor mode and full packet injection!
                 Running a virtual machine, it is mandatory that the hardware is looped through!

The second question about "the best Linux" isn't easy to answer, because there is no "best Linux".
I prefer Arch Linux, because:

fully configurable
no bloatware
no unnecessary tools
no unnecessary services
an awesome WiKi

Hey, thanks for the message and link.
Hmm, it might be better if I change hardware for ease of use.
If I understand correctly, driver <IP_ADDRESS> is best for rtl8812au and monitor mode + PI?
Have you tried Edimax EW-7722UTN V2 N300?

If I understand correctly, driver <IP_ADDRESS> is best for rtl8812au and monitor mode + PI?

None of the rtl88xxxx drivers is the best unless new rtw88-usb stack will support monitor mode and full packet injection and without NETLINK dependency.
We don't need a fast 802.11 adapter, because hcxdumptool slows the authentication down.
I can't recommend an adapter that doesn't support native monitor mode and full packet injection.
I can't recommend an adapter that require an additional driver. That means a driver, not supplied with the stock kernel:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wireless?h=v5.8
I can't recommend a high power device. We are packet oriented. So it is enough when a single packet comming form hcxdumptool was received by the target and a single packet from the target was received by hcxdumptool.
I can't recommend high power adapters. Instead I use common (adapters with external antenna connector) in combination with an (expensive) antenna (mostly panels or stocked verticals).
MediaTek /Ralink chipsets are fine (supplied with the stock kernel) and support monitor mode and full packet injection. The driver code is well maintained

Ok thanks I will keep researching, I appreciate the time. Cheers.

Hey Zerbea, I swapped my HW to the AWUS036NH - works out of box with Kali 2020.3
💯
If anyone is reading, and are a newbie, use the above. The hardest part was realising the adaptor wasnt plugged in correctly for the first 10 minutes :-|

Glad to hear this. The most important part is to find and an adapter which is supported by a stock kernel driver (which include full monitor mode and full packet injection). In addition to that, the driver must be well maintained.  Unfortunately not every drive will do this.
A good start point is here:
https://bugzilla.kernel.org/
https://patchwork.kernel.org/project/linux-wireless/list/
and here:
https://github.com/openwrt/mt76/issues/
Next step is to configure your system. That include that you know what services are running and how to step them, if they interfere with the adapter (e.g. NetworkManager).
Also you should have some about radio technology and 802.11 protocol.
Now you can use hcxdumptool/hcxtools. Please notice that this tools are analysis tools and they have a lot of options.


Use packaged Fedora IoT remote configuration

Migration of https://github.com/osbuild/osbuild-composer/pull/3488.
The default Fedora IoT remote is packaged in the fedora-iot-config package.  This PR removes the ostree remote config we hard coded for the iot-raw-image (and associated image types iot-qcow2-image and iot-simplified-installer) and installs the package in the iot-commit, which means every Fedora IoT build (both commit and container) are configured using the package.

Marking as ready even though it includes #124

Hi @achilleas-k,
Does this pr fix any issue of Fedora Iot Remote? I didn't see anything special in our test script to test or configure Fedora Iot Remote, could you please explain more how this pr will impact our test script for iot-raw-image (and also the iot-simplified-installer and iot-qcow2-image) ?
What test scenario will you suggest us to add into our test script? or just run current test script, and if it pass then this pr is ok to merge? Thanks.

The purpose of this PR is to configure the default remote for the image by installing an RPM that's managed by the Fedora IoT team rather than having it as part of the image definition.  This is similar to how RPM repositories are configured in RPM-based images: we don't configure repositories ourselves, but they are packaged and distributed by the distribution and we install them in our images.
I'm not sure we need to test that a particular remote configuration is present.  Perhaps we can have a check that there is a remote configured (any remote).  But more specifically, there was an issue the last time we tried to make this change that blocked us [1].  The tests we have in osbuild-composer were failing when setting up a custom remote in order to test the upgrade commit.  We still haven't figured out what's causing this issue and how the change affects it.
[1] https://github.com/osbuild/osbuild-composer/pull/3488

@paulwhalen you were looking at this from the Fedora side, right?

In https://github.com/ostreedev/ostree/discussions/3079 I believe

The remote issue should be fixed now!

I'm going to merge this and move on to getting it into osbuild-composer.  My local tests worked so we'll have to catch any other issues in CI there.


optionally pass lua-llthreads2 THREAD_OPTIONS to lzmq.thread instead of string or function

The ØMQ project » lzmq #42 SUCCESS
This pull request looks good
(what's this?)

The ØMQ project » lzmq #43 SUCCESS
This pull request looks good
(what's this?)

Coverage increased (+9.49%) to 64.85% when pulling 53a691a3700aba4ea9922f5242f50f89addde452 on johnfoconnor:master into b23799f3d72ae81c233d4632dff3b7fa04ee6957 on zeromq:master.

Coverage increased (+9.49%) to 64.85% when pulling 53a691a3700aba4ea9922f5242f50f89addde452 on johnfoconnor:master into b23799f3d72ae81c233d4632dff3b7fa04ee6957 on zeromq:master.


fixing rosdep typos

Thanks for the fixes.

I do think "Ox OS" sounds like a cool name for an operating system... "OxOS"... "0xOS"...


Company from reddit

https://www.reddit.com/r/haskell/comments/754346/comment/do58zog

Added, thanks


Tutorial

Hi!
Would it be possible to provide a tutorial about how to install this software?
Thank you 😄

https://github.com/AnythingTechPro/monero-web-miner/commit/9ac2f28f87d411de4156eca18752267041782973


Roll Flutter Engine from 8edd3c000a39 to 2cb619def0af (2 revisions)

https://github.com/flutter/engine/compare/8edd3c000a39...2cb619def0af
2023-04-04<EMAIL_ADDRESS>Revert "[Impeller] reduce advanced blend subpass count for single input with foreground color" (flutter/engine#40914)
2023-04-04<EMAIL_ADDRESS>Roll Skia from 548bef69d1ae to 827013b3dbef (8 revisions) (flutter/engine#40913)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


There seems some problems setting values for the Part when call PredictionServiceClient->generateContent

My code
$config = config('services.google');
$modelName = 'gemini-1.5-pro-001';
$locationId = 'us-central1';
$apiEndpoint = "$locationId-aiplatform.googleapis.com";
$model = \Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient::projectLocationPublisherModelName($config['project_id'], $locationId, 'google', $modelName);
$clientOptions = ['credentials' => $config, 'apiEndpoint' => $apiEndpoint];

$predictionServiceClient = new \Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient($clientOptions);
$inlineData = new \Google\Cloud\AIPlatform\V1\Blob($imageContentArray[0]);

// wrong.
$part = new \Google\Cloud\AIPlatform\V1\Part();
$part->setText($text);
$part->setInlineData($inlineData);
$contentsParts = [$part];

// correct
$contentsParts = [
    'text' => (new \Google\Cloud\AIPlatform\V1\Part())->setText($text),
    'inline_data' => (new \Google\Cloud\AIPlatform\V1\Part())->setInlineData($inlineData)
];

$content = (new \Google\Cloud\AIPlatform\V1\Content())->setParts($contentsParts)->setRole('user');
$contents = [$content];
$request = new \Google\Cloud\AIPlatform\V1\GenerateContentRequest();
$request->setModel($model)->setContents($contents);

When i try to chain call Part to set value. the next value will recover the prev value. The previous value will be missing. see the wrong part in my code. when i setInlineData, the text will be empty string. Here is the code used by Message in the package to set the value:
//File \Google\Protobuf\Internal\Message
protected function writeOneof($number, $value)
{
    $field = $this->desc->getFieldByNumber($number);
    $oneof = $this->desc->getOneofDecl()[$field->getOneofIndex()];
    $oneof_name = $oneof->getName();
    if ($value === null) {
        $this->$oneof_name = new OneofField($oneof);
    } else {
        $oneof_field = $this->$oneof_name;
        $oneof_field->setValue($value);
        $oneof_field->setFieldName($field->getName());
        $oneof_field->setNumber($number);
    }
}

I see in this funtiion "$field->getOneOfIndex()" always be 0. Is there a problem with that?
May I ask if my use is incorrect , or do I need to instantiate the Part multiple times to set the value?

hi @hosanluo !
This is Working as Intended, although I agree the OneOf behavior in Protobuf can be confusing.
The Part message only accepts OneOf for the data field, which includes the fields that you're setting. So when you call setInlineData after calling setText, it erases the value you provided in setText (as only one of those fields can be set at time):
$part = new \Google\Cloud\AIPlatform\V1\Part();
 // sets the "text" field
$part->setText($text);
// sets the "inline_data" field, but removes the "text" field, because the message only accepts one of those two fields
$part->setInlineData($inlineData);

The bit you've provided as correct behaves in the same way, but in this instance you've successfully created TWO Part objects, and setting the data field differently for each of them. So to do this the other way would look something like this:
$part1 = new \Google\Cloud\AIPlatform\V1\Part();
 // sets the "text" field
$part1->setText($text);

$part2 = new \Google\Cloud\AIPlatform\V1\Part();
// sets the "inline_data" field
$part2->setInlineData($inlineData);
$content = (new \Google\Cloud\AIPlatform\V1\Content())->setParts([$part1, $part2]);


Normalize CEMS a bit

Several significant changes:

Remove plant name
Remove state
Set more columns as not-null in the database (heat content mmbtu by filling NAs with zero, operating hours because it's already never-NA)

The meaning of NAs in the gross load and heat content columns was discussed here: https://github.com/catalyst-cooperative/pudl/issues/171#issuecomment-449440820

Don't read CSV columns we're not using

Plant name
State
CO2 and SO2 rates
CO2 and SO2 rate flags

Fix misreported gross generation (more than 2000 MW in a single CEMS unit)
Adjust the epacems_to_parquet.py file to handle no plant name or state columns

Drop plant name
Get state from the transformed_df_dicts

If you want me to add state back, let me know! I haven't tested the parquet changes.

IIRC, the parquet file generation is not referencing the database at all -- it performs the load and transform steps, but the outputs the transformed dataframe as parquet by state, right?

Yes, exactly. But things changed because I stopped even reading the plant name or state from the CSV file.

Hey Karl, sorry to take so long getting to this. I think leaving the state abbreviation in the table is probably important, even though it is clearly poor database normalization, because in my limited experience, folks frequently seem to want to partition the data based on location, and that (along with date) is one of the only two fields that the parquet files are being partitioned on right now. Other than that all of this looks great. Thank you for keeping at it!


Unreachable node not getting removed from quorum of redission

Redisson client of version of 3.10.0 is using 3 nodes of non clustered redis setup i.e 1 master and 2 slaves of AWS Elastic Cache using replicatedManager via DNS.
Observation
1 slave went was restarted off, we observed traffic to flow to 1 slave for more than 15 minutes without traffic flowing to second slave for longer duration. We have provided all 3 IPs using replication config
Please can you let us know the criteria for the nodes to be kept in exclusion list, is it just client timeouts after retries or what exactly.

Can you set trace logging level for org.redisson package and share log output?


4.x: standardize use of GlobalConfig by Helidon components

Currently we have some inconsistencies with the use of GlobalConfig by Helidon components. For example WebServer requires the following:
        Config config = GlobalConfig.config();
        WebServer server = WebServer.builder()
                .config(config.get("server"))

But other components, like ObserveFeature, do not require the passing of config. For example the constructor for ObserveFeature.Builder uses GlobalConfig by default:
private Builder() {
     config(GlobalConfig.config().get("observe"));
}

In general I think discovering config by default is a good thing, and I'm not sure why we are not doing it for WebServer.  Some things to consider

Make sure all Helidon components that have config use GlobalConfig by default (including WebServer)
Discuss if we should provide a way to force Builders  to NOT use GlobalConfig, so that one may truly build from scratch with no interference.
Discuss if we should require the user to always explicitly set GlobalConfig and not implicitly initialize it. Builders could either fail or conditionally process global config if set.

Once we settle on the preferred pattern for initializing config we need to ensure all archetypes and examples show that (see issue #7628).

The GlobalConfig is intended for components that are initialized automagically
(such as MetricsRegistry). There are some leftovers from the prototype where we did not support config on APIs. I am not sure we want to pick the config automatically, as our APIs should have the config method and honor it.

ObserveFeature.builder() currently calls ObserveFeature.Builder.config(Config) with GlobalConfig.config().
I just searched for the usage of GlobalConfig in metrics but did not find it.
Can we consider reverting all current SE usages of GlobalConfig for consistency ?

GlobalConfig should be used for componets that require static setup. It should not be used for components that are configured by hand.

See PR #7625
To Summarize:

Config must be explicitly passed to components (as is shown above for WebServer)
The Gobal config can be retrieved using Config.global()  (and set with Config.global(config))
Not setting the global config uses the default config and is therefore the same as Config.global(Config.create())


Suggested designs for Search - within a project

hi everyone
I at least have found a place for this search, within project view.
I still have to work on the results maybe, but let me know what you think about this idea on searching
I don't want it to be too much in the way. Search - though it might beimportant in some occasions, has secondary priority to everything else a user or a wrangler would be doing.!

9.1 Project Search - keywords clicked.png
Comments are welcome, and I will try to place some ideas for results!
I have uploaded these here as well: https://chanzuckerberg.invisionapp.com/share/4RZLFPTXDA2
Gabs

This one is just a suggestion from somewhere else, but I think I need more information from Enrique here to understand what is better for results..
Gabs

closing, not needed now.


Parallel control by CSMS and EMS with OCPP 1.6J?

Does anyone know of a solution to achieve parallel control by a CSMS and EMS with OCPP 1.6? This topology is supported in OCPP 2.0.1 as follows:

One possible solution would be to use the EMS as a proxy between the CSMS and Charge Point. However, this requires more complex OCPP handling on the EMS than simply implementing smart charging functionalities. Are there other approaches that can be taken? It seems waiting on adoption rates of OCPP 2.0.1 to improve will still not solve the problem for any chargers that will not support this newer version.

In the past when dealing with this issue, typically the CSMS would query/receive info from the EMS and set the charging profile of the charger to correspond with the desired charging rate.

@proelke Are there any standard implementations of the comms between CSMS and EMS?

I think it depends on scope. You have OpenADR and another standard I am struggling to remember built around energy grids. At a local site level, I think it would depend on the EMS in use whether it would be modbus or some kind of REST API. The OCA is pushing OSCP but I don't think there is much traction with it.

I think the OCPP protocol is not suitable for parallel control, even if they say so (both OCPP 1.6 and > 2.0 have several severe flaws to this respect). However, if the real Charge Point allows for >1 websocket connections, then nothing prevents you from instantiating two python clients pointing at the same physical CP and good luck.
If you do this because you are attempting smart charging..it can work under very special circumstances, but under real world circumstances it has no chance to work.

If you do this because you are attempting smart charging..it can work under very special circumstances, but under real world circumstances it has no chance to work.

I think it has chances to work cause EMS and CSMS are interested in different events. With a bit of work it is possible to route events to multiple participants. From EMS point of view you need to feed and update energy limit while CSMS is interested in authentication events (who) and meter values (how much). Complexity lie in keeping and coordinating update interval cause for smart charging controlled by EMS you will get high frequency updates while CSMS is fine with energy counter update every 5 or 10 minutes.

In the most simple case the EMS simply sets dynamically the max power to the wallbox in order to avoid local overloading of the domestic grid.

That's indeed point I am trying to make, the EMS can't control authentication but can issue available power to optimize ie. PV yield allocation. From what I found so far chargers are connecting to ocpp "server" hence they become clients and usually (by design) will have only one connection at the time. At the same time most of nowadays chargers are complex enough to support over-the-air updates so they have more communication and management interfaces, hence there might be a space for another one used by grid operator to somehow announce own things (this I haven't tracked and don't know much).
Because chargers do not care (much) of what ocpp server is doing, as long as it is behaving inline with the protocol, it makes possible to perform a bit smarter routing of messages. With some middle man between charger and rest of systems it is possible to implement functionality to communicate with management/billing system and and EMS at the same time. Its beside CSMS, charger and (probably) EMS as well and boils down to making an OCCP server which forwards requests from charger to two other servers. This I believe is described in 2.0 spec under "local proxy" section.

yes, but at this point the CSMS has no idea of the "reserve of flexibility" related to its local resource, which is a little bit the point of doing smart control


how to set early_stopping_round in command line

I use command line to implement xgboost，like "./xgboost model_output=......"
how to set early_stopping_round in command line，i can't find solution through google？
waiting for answer online，thank you！

You can set conf file as here https://github.com/dmlc/xgboost/tree/master/demo/rank and use the options as here http://xgboost.readthedocs.io/en/latest//parameter.html#command-line-parameters


Some missing Uralic locales

Godot Version 3.4.4
Missing Locales
Komi-Zyrian (kv_RU) and Skolt Sami (sms_FI) are being localized for use in Godot project "QoreBit"
URL to the documentation page (if already existing):
Komi-Zyrian:
https://kv.wikipedia.org/wiki/Медшӧр_лист_бок
Skolt Sami incubator:
https://incubator.wikimedia.org/wiki/Wp/sms/Ouddseidd
Localization on github:
https://github.com/WilllRU/QBLang_List

4.0 have it supported - see locales.h (it is in the list of languages, but 4.0 will accept any locale code, even if it's not listed).
3.x have a limited list of locales - see translation.cpp and IIRC 3.x won't load anything not in this list. We probably should backport #52969 to 3.x, but it seems like too big of a change to do for 3.5.

Thank you for the information!


remove defaultProfile from IUserDataProfileService

remove defaultProfile from IUserDataProfileService

Thanks
On Thu, Jun 23, 2022, 6:45 AM Sandeep Somavarapu @.***>
wrote:

Merged #152960 https://github.com/microsoft/vscode/pull/152960 into
main.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/pull/152960#event-6865586320, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AYYXGWRYP3DLNIW3PBS4P4LVQRE4FANCNFSM5ZTUQGWA
.

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/pull/152960#pullrequestreview-1016855276,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYYXGWX2BIDHISXOCWNNJPLVQRE3RANCNFSM5ZTUQGWA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


[Bug] [API] GET /repos/{owner}/{repo}/contents/{filepath} return nul on executable files

if a file is flaged as executable the api return nil on encoding and content
Gitea Version 1.12 - old versions dont seem to be afected

I'll take it :)

To Reproduce:

Create File A with normal text in it
copy File a to B and make it executable
upload this git repo to gitea
query files through contents api


Port release process to Kokoro

We need to use Kokoro to build operator releases, as required by security and compliance.

This work is done. The version 1.4.4 was released using Kokoro.
PR https://github.com/GoogleCloudPlatform/cloud-sql-proxy-operator/pull/546 to remove the Cloud Run release scripts.


Play wakewords recordings from web interface

It is already possible to record wakewords for rhasspy-raven directly from the web interface. However it would be great to have a option to play them from there aswell to test whether the recording was good or not.

This will finally be added in 2.5.9

This will finally be added in 2.5.9


[question] Transition element on navigate

Excuse me,
I have a screen with a list of
<Card><CardItem><TouchableOpacity onPress={onViewDetail} key={uri}><Transition appear='scale' shared={uri}><FastImage source={{uri}}/></Transition></TouchableOpacity>.</CardItem></Card>
My expectation is that only the pressed element will transition between screens. Other Transition elements should keep their dimensions (no transition).
What I'm currently seeing is that besides the pressed element, that correctly transitions between the 2 screens, the other elements also transition on navigate.
The other elements scale to 0 width and 0 height on navigating to DetailScreen. And from the DetailScreen they scale to their original size.
Is this supposed to happen?

Solved this by copying the scale transition into a customTransitionFunction with this condition
if (transitionInfo.name !== currentImage) {
        return
}


AttributeError: 'NoneType' object has no attribute 'split'

when I try to get detail of this code '538651' then give me Error like this
res['change'] = span.string.split('(')[0].strip()
this Exception generates due to not found change, industry or any other fields.
so please fix this issue

Hey @YOGESHAAR, can you please send a PR to fix this? I have been working on this a long time, but couldn't figure out why the bug occurs in the very first place, even though I have been able to reproduce it a lot of times.

Hi Amitkadivar1,
I faced the same issue (AttributeError: 'NoneType' object has no attribute 'split'), I updated all such instances in the quote.py and it is working fine. I can share it, pz let me know

I am facing the same problem. Can you share the solution. Thanks


Optimise Sorting in SegmentProcessorFramework [WIP]

Load only the sort columns in memory and call compare on the loaded columns instead of calling compare on the whole memory mapped datafile.

Codecov Report
Attention: Patch coverage is 0% with 81 lines in your changes are missing coverage. Please review.

Project coverage is 0.00%. Comparing base (59551e4) to head (6936bac).
Report is 409 commits behind head on master.

Files
Patch %
Lines

...cessing/genericrow/GenericRowFileRecordReader.java
0.00%
41 Missing :warning:

.../processing/genericrow/GenericRowDeserializer.java
0.00%
38 Missing :warning:

...nt/processing/genericrow/GenericRowFileReader.java
0.00%
2 Missing :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #13091       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436     2432        -4
  Lines        133233   134220      +987
  Branches      20636    20795      +159
=============================================
- Hits          82274        0    -82274
- Misses        44911   134220    +89309
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <0.00%> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <0.00%> (ø)

java-11
?

java-21
0.00% <0.00%> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <0.00%> (-61.75%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <0.00%> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Version constraint on analyzer 0.26.1+14 too flexible?

The analyzer version 0.26.1+14 is not the newest at this point, and unittest is being replaced, but it may still be useful to know about this problem that I've encountered. So here we go:
Consider a package that specifies dependencies including the following ones:
dependencies:
  analyzer: '>=0.26.0 <=0.26.1+14'
  unittest: '^0.12.0'

This is accepted by pub get and pub upgrade, so the constraints do have a solution (in the concrete examples I have, the resulting pubspec.lock has analyzer version 0.26.1+14 and unittest version 0.12.3). However, this combination of versions makes vm execution fail with a "malformed type: ..'DelegatingSink'.." message, and it makes compilation/analysis warn about the undefined class name.
Actually, the message from dartanalyzer (hence presumably from the analyzer) is rather confusing:
  The name 'DelegatingSink' is defined in the libraries 'delegating_sink.dart' and
      'sink.dart (via async.dart)'
      (/usr/local/google/home/eernst/.pub-cache/hosted/pub.dartlang.org/test-0.12.3+9/lib/src/runner/engine.dart, line 95, col 36)

which doesn't obviously parse into "the name 'DelegatingSink' is undefined".
In any case, it seems that some of the constraints involved should have been more restrictive, or some package version should have bumped the major version number (using X+1 in X.. or 0.X._) because it contains a breaking change (enough to break 'engine.dart' at least).

I'm not sure how much of this is actionable, but we can certainly improve the error message.

I understand that it wouldn't be easy to fiddle with the version constraints in the middle of a series of versions with increments at the "+" level. Focusing on the error message makes sense (and the issue might be relevant up to the most recent version).

@scheglov I feel like the error here actually got better.  Or maybe it's just happening less...  Or is that wishful thinking?

I don't actually publish anything these days.
But I don't hear much cries of despair too.

I'll take a gamble then and close as stale (or at least de-prioritized).


System.Security.Cryptography.ProtectedData bump needed

Latest version is 7.0.0

I'm not working on this, but feel free to submit PR with update


PyCharm plugin build fails

I'm trying to build the plugin myself from the main branch on a MacBook Pro M1, but it fails.
First I need to remove some misplaced changelog text from pycharm/src/main/java/rw/profile/ProfileResultToggle.java.
After that, I get this message:
❯ gradle buildPlugin

> Task :compileJava FAILED
/Users/dagh/programs/reloadium/pycharm/src/main/java/rw/handler/sdk/BaseSdkHandler.java:6: error: cannot find symbol
import rw.consts.Const;
                ^
  symbol:   class Const
  location: package rw.consts

  [same error is repeated for a bunch of locations]

Originally posted by @daghoidahl in https://github.com/reloadware/reloadium/issues/3#issuecomment-1144893841

Fixed in PyCharmPlugin [0.8.3]

Fixed in PyCharmPlugin [0.8.3]

Brilliant! This problem has been solved.
I have a new problem now that may or may not be related to the plugin build scripts:
Missing essential plugin:

  com.jetbrains.pycharm.community.customization

Please reinstall PyCharm from scratch.

I have PyCharm professional, could that be the cause of the issue?


Reduce Elixir Cell Re-Evaluation Jumpiness

Current behavior
When re-evaluating the cell, the output doesn't display for a moment and causes jumpy behavior.
Normally this is a non-issue, but I'm building a smart animation component that has to re-evaluate the cell regularly on an interval.
Expected behavior
Once the Elixir Cell has been revaluated, I think the output should retain the height of the previous evaluation or continue to display the previous output until the re-evaluation completes.
If we'd like this, I'd be happy to attempt a PR! I'm also open to alternative suggestions for accomplishing my desired behavior.

Hey @BrooklinJazz, using reevaluation doesn't sound like the best way to do animation. A smart cell is supposed to help writing a specific piece of code, what kind of code does the smart animation cell generate?

Maybe I'm going about it the wrong way 😅 I tried using a frame but ran into troubles. I can give that another try if it's a smarter method.
The smart cell displays a UI for controlling an animation. It has start, stop, prev, next controls.

The generated code is currently provided from a text input. Like frame + 1 where frame is a value in state controlled by the UI.

I guess my question is, once the user manipulates the UI, what end result is expected?

The end result is the user can control some animation. I'm building it to make a better experience for students - Kino.animate (while awesome) ran into troubles such as playing before a student was ready, or having minimal ability to control and replay the animation.
The goal of the animated smart cell is to display some animation, and let the student explore each step of the animation with a play button, pause button, and single step buttons like "next" and "previous".
The smart cell stores the current frame (step) of the animation, and the UI triggers changes to the frame.
I hope that helps clear it up!

I've thought of three options for displaying the animation, but each has issues.

evaluation (jumpiness)
using a frame (didn't work, but has the most potential)
displaying the animation in js (will have styling issues)

I can try using a frame again, unless you have an alternative suggestion?

@BrooklinJazz see this notebook :)

Thank you @jonatanklosko! I'm going to give this a try! feel free to close the issue :)


⚠ Bofrost.lu has degraded performance

In e58076b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 801 ms

Resolved: Bofrost.lu performance has improved in d69e1e5 after 7 minutes.


Chat option?

Is there a way to change from 4o to 3.5 turbo or any other version?I tried the old command Get-chatsessionoptions but it doesnt work...

Correct that does not work can you give me a snippet of what function you are using?

is this what you mean?sorry i am not good at this as per my name😅

Get-ChatOptions no longer exists.
try this ai 'capital of france' -model 'gpt-3.5-turbo'

using ai 'capital of france' -model 'gpt-3.5-turbo' echoes 'capital of france'
and using ai 'capital of france' gives me
throw $targetError
|          ~~~~~~~~~~~~~~~~~~
| The requested model 'gpt-4o' does not exist.
i still dont have a 3,5turbo so thats why it echoes when using the first command?I am waiting to see if it works before buying one!

I'm confused 🙂
You need to have and set an OpenAI key and have bought credits on it.

Yeah a key was generated but i didnt put credit in it or something like that. i was just worried i would buy the subscription and then i wouldnt be able to figure out how to use this.So everything should work as normal after i activate my key properly?

You need a key and add credit. It is not a pay as you go subscription.
The credit minimum I think is $6 and only is deducted when you hit the AI service. ai 'capital of france which costs like $.000001
Also, when you use the credit up, it does not auto recharge, you have to go in and explicitly add more.

ok ill try it out and let you know if i have any problems! also can it be used with other  apis like perplexity?

PSAI supports OpenAI and Azure OpenAI. Azure OpenAI lets you deploy the OpenAI models in your Azure tenant.
I'm thinking through how to best to implement a plugin approach for different services like Perplexity.


Limit the upload size on the packages.

I am not sure what the upload size restrictions on nupkgs are, but we have a package of size 655MB, which is huge. May be limit the size of packages to 500MB?
The nupkg in question:
https://api.nuget.org/packages/visualcpptools.community.vs2017layout.14.11.25547.nupkg

This has caused an index delay due to timeout issues in uploading huge files to blob storage in China.

It seems that we do have the IIS restriction on large size request via maxAllowedContentLength set to 250MB. However, this doesn't seem to prevent the CLI from uploading the large size file.
From what I gather online, with IIS 7 and above there are two values that you need to set for restricting request size: maxAllowedContentLength and maxRequestLength. Currently the maxRequestLength is set to a value of ~2000GB, but the smaller of the two values should take a precedence. For some reason this doesn't seem to be taking effect from CLI, you can still upload large size files from CLI. The web UI upload flow doesn't let anyone upload large size file. There is possibly another bug with handling large file uploads correctly.
We need to set maxRequestLength value to 256000 (250MB => 256000KB) to restrict the uploads from CLI with large file size and possibly try to find why CLI upload flow doesn't respect the maxAllowedContentLength property.


Malware Signatures (Mostly AI detections but some are concerning)

Please explain:
v1.4.3:
VirusTotal
Triage
v1.5.1:
VirusTotal
Triage
v1.5.2:
VirusTotal
v1.6.0:
VirusTotal
v1.6.1: VirusTotal
Triage
Also if you could shed light on this as well:
C:\Windows\SysWOW64\7za.exe C:\Windows\System32\7za.exe" x -pinfected -y -o"C:\Users\user\AppData\Local\Temp\hqy5lnj2.lqt" "C:\Users\user\Desktop\download.zip

Thank You, However the detection seems to be coming from
https://github.com/medikoo/es5-ext/issues/186
It is out of our scope, and it just seems to be sending messages and does not harm your computer.

This was cleared up via discord ticket and was linked to - https://github.com/medikoo/es5-ext/issues/186
For future inquires into issues such as these, please open a support ticket via discord, rather than an issue here.


fioreq: Specify keosd wallet name on the command line

I see the -wallet param but I was wondering if I could pass in a keosd wallet name. I like to keep keys in different wallet names for different projects and it seems it assumes default.

Yes, it's possible, use the -n flag. Give me a shout if it doesn't work, the keosd client (https://github.com/blockpane/fio-extras) isn't very heavily tested.

Works great! Sorry I didn't see it. :)


[Diagnostics] Port name shadowing diagnostics

Diagnose an attempt to reference a top-level name shadowed by
a local member e.g.
extension Sequence {
  func test() -> Int {
    return max(1, 2)
  }
}

Here max refers to a global function max<T>(_: T, _: T) in Swift
module and can only be accessed by adding Swift. to it, because Sequence
has a member named max which accepts a single argument.

@swift-ci please smoke test compiler performance

I think this should be okay to use performance wise until we figure out a better solution by refactoring resolveDeclRefExpr. All of the "outer" results are going to be disabled by default.

@swift-ci please smoke test compiler performance

@swift-ci please smoke test compiler performance

@swift-ci please test source compatibility

@swift-ci please test source compatibility

Summary for master smoketest
Unexpected test results, excluded stats for ReactiveCocoa
No regressions above thresholds

Debug

debug brief
debug detailed

Release

release brief
release detailed

Debug

debug brief

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (3)

name
old
new
delta
delta_pct

Frontend.NumInstructionsExecuted
107,960,287,458
107,934,114,760
-26,172,698
-0.02%

LLVM.NumLLVMBytesOutput
6,152,336
6,152,280
-56
-0.0%

time.swift-driver.wall
9.3s
9.4s
83.3ms
0.89%

debug detailed

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (18)

name
old
new
delta
delta_pct

AST.NumLoadedModules
702
702
0
0.0%

AST.NumTotalClangImportedEntities
3,684
3,692
8
0.22%

IRModule.NumIRBasicBlocks
17,957
17,957
0
0.0%

IRModule.NumIRFunctions
10,605
10,605
0
0.0%

IRModule.NumIRGlobals
8,836
8,836
0
0.0%

IRModule.NumIRInsts
309,329
309,329
0
0.0%

IRModule.NumIRValueSymbols
18,465
18,465
0
0.0%

LLVM.NumLLVMBytesOutput
6,152,336
6,152,280
-56
-0.0%

SILModule.NumSILGenFunctions
5,348
5,348
0
0.0%

SILModule.NumSILOptFunctions
7,344
7,344
0
0.0%

Sema.NumConformancesDeserialized
12,530
12,530
0
0.0%

Sema.NumConstraintScopes
39,060
39,072
12
0.03%

Sema.NumDeclsDeserialized
124,804
124,838
34
0.03%

Sema.NumFunctionsTypechecked
2,034
2,034
0
0.0%

Sema.NumGenericSignatureBuilders
4,208
4,212
4
0.1%

Sema.NumLazyIterableDeclContexts
20,292
20,298
6
0.03%

Sema.NumTypesDeserialized
49,404
49,422
18
0.04%

Sema.NumTypesValidated
5,940
5,940
0
0.0%

Release

release brief

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (3)

name
old
new
delta
delta_pct

Frontend.NumInstructionsExecuted
149,661,115,774
149,694,456,648
33,340,874
0.02%

LLVM.NumLLVMBytesOutput
6,862,844
6,862,828
-16
-0.0%

time.swift-driver.wall
17.9s
17.9s
-12.5ms
-0.07%

release detailed

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (18)

name
old
new
delta
delta_pct

AST.NumLoadedModules
76
76
0
0.0%

AST.NumTotalClangImportedEntities
2,132
2,136
4
0.19%

IRModule.NumIRBasicBlocks
17,943
17,943
0
0.0%

IRModule.NumIRFunctions
9,908
9,908
0
0.0%

IRModule.NumIRGlobals
8,923
8,923
0
0.0%

IRModule.NumIRInsts
200,019
200,019
0
0.0%

IRModule.NumIRValueSymbols
18,009
18,009
0
0.0%

LLVM.NumLLVMBytesOutput
6,862,844
6,862,828
-16
-0.0%

SILModule.NumSILGenFunctions
4,162
4,162
0
0.0%

SILModule.NumSILOptFunctions
6,271
6,271
0
0.0%

Sema.NumConformancesDeserialized
11,675
11,675
0
0.0%

Sema.NumConstraintScopes
38,854
38,866
12
0.03%

Sema.NumDeclsDeserialized
33,153
33,163
10
0.03%

Sema.NumFunctionsTypechecked
2,034
2,034
0
0.0%

Sema.NumGenericSignatureBuilders
1,583
1,583
0
0.0%

Sema.NumLazyIterableDeclContexts
4,275
4,275
0
0.0%

Sema.NumTypesDeserialized
17,043
17,045
2
0.01%

Sema.NumTypesValidated
3,914
3,914
0
0.0%

@swift-ci please build toolchain macOS platform

@swift-ci please build toolchain macOS platform

macOS Toolchain
Download Toolchain
Git Sha - 0acc5e9387f8c3c6c957d85c7f334b904e7ed3bf
Install command
tar -zxf  swift-PR-29024-462-osx.tar.gz --directory ~/

@swift-ci please smoke test compiler performance

@swift-ci please smoke test compiler performance

Summary for master smoketest
No regressions above thresholds

Debug

debug brief
debug detailed

Release

release brief
release detailed

Debug

debug brief

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (3)

name
old
new
delta
delta_pct

Frontend.NumInstructionsExecuted
1,179,493,153,663
1,180,396,233,280
903,079,617
0.08%

LLVM.NumLLVMBytesOutput
51,143,412
51,142,584
-828
-0.0%

time.swift-driver.wall
119.5s
119.9s
414.8ms
0.35%

debug detailed

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (18)

name
old
new
delta
delta_pct

AST.NumLoadedModules
9,536
9,536
0
0.0%

AST.NumTotalClangImportedEntities
225,042
225,136
94
0.04%

IRModule.NumIRBasicBlocks
188,586
188,586
0
0.0%

IRModule.NumIRFunctions
101,602
101,602
0
0.0%

IRModule.NumIRGlobals
110,556
110,556
0
0.0%

IRModule.NumIRInsts
2,100,091
2,100,091
0
0.0%

IRModule.NumIRValueSymbols
193,514
193,514
0
0.0%

LLVM.NumLLVMBytesOutput
51,143,412
51,142,584
-828
-0.0%

SILModule.NumSILGenFunctions
49,400
49,400
0
0.0%

SILModule.NumSILOptFunctions
67,887
67,887
0
0.0%

Sema.NumConformancesDeserialized
205,426
205,782
356
0.17%

Sema.NumConstraintScopes
1,043,329
1,043,539
210
0.02%

Sema.NumDeclsDeserialized
1,733,617
1,734,615
998
0.06%

Sema.NumFunctionsTypechecked
10,984
10,984
0
0.0%

Sema.NumGenericSignatureBuilders
31,674
31,723
49
0.15%

Sema.NumLazyIterableDeclContexts
247,049
247,264
215
0.09%

Sema.NumTypesDeserialized
567,413
567,824
411
0.07%

Sema.NumTypesValidated
33,456
33,464
8
0.02%

Release

release brief

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (3)

name
old
new
delta
delta_pct

Frontend.NumInstructionsExecuted
1,463,579,073,380
1,463,332,732,038
-246,341,342
-0.02%

LLVM.NumLLVMBytesOutput
61,377,328
61,376,784
-544
-0.0%

time.swift-driver.wall
246.4s
245.3s
-1.2s
-0.47%

release detailed

Regressed (0)

name
old
new
delta
delta_pct

Improved (0)

name
old
new
delta
delta_pct

Unchanged (delta < 1.0% or delta < 100.0ms) (18)

name
old
new
delta
delta_pct

AST.NumLoadedModules
552
552
0
0.0%

AST.NumTotalClangImportedEntities
35,937
35,969
32
0.09%

IRModule.NumIRBasicBlocks
188,328
188,328
0
0.0%

IRModule.NumIRFunctions
80,707
80,707
0
0.0%

IRModule.NumIRGlobals
88,852
88,852
0
0.0%

IRModule.NumIRInsts
1,623,320
1,623,320
0
0.0%

IRModule.NumIRValueSymbols
158,826
158,826
0
0.0%

LLVM.NumLLVMBytesOutput
61,377,328
61,376,784
-544
-0.0%

SILModule.NumSILGenFunctions
28,959
28,959
0
0.0%

SILModule.NumSILOptFunctions
43,156
43,156
0
0.0%

Sema.NumConformancesDeserialized
82,471
82,471
0
0.0%

Sema.NumConstraintScopes
1,028,891
1,029,027
136
0.01%

Sema.NumDeclsDeserialized
199,328
199,359
31
0.02%

Sema.NumFunctionsTypechecked
10,984
10,984
0
0.0%

Sema.NumGenericSignatureBuilders
5,337
5,343
6
0.11%

Sema.NumLazyIterableDeclContexts
24,913
24,915
2
0.01%

Sema.NumTypesDeserialized
110,992
111,022
30
0.03%

Sema.NumTypesValidated
18,705
18,705
0
0.0%

@swift-ci please test

@swift-ci please test source compatibility

Build failed
Swift Test OS X Platform
Git Sha - 2925055cff132d4e0299624afd173dcec4ae70b4

Build failed
Swift Test Linux Platform
Git Sha - 2925055cff132d4e0299624afd173dcec4ae70b4

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 5f394a5bebbeb74cbea300d6ceac3a23fb3993c4

There are a couple of LLDB failures:
12:53:33     lldb-Suite :: lang/swift/private_var/TestSwiftPrivateVar.py
12:53:33     lldb-Suite :: lang/swift/resilience/TestResilience.py

which have to do with unknown symbol for unsafeMutableAddressor. Don't seem related to my changes.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 5f394a5bebbeb74cbea300d6ceac3a23fb3993c4

@swift-ci please smoke test macOS platform

Build failed
Swift Test OS X Platform
Git Sha - 5f394a5bebbeb74cbea300d6ceac3a23fb3993c4

@swift-ci please smoke test macOS platform

@dcci Could you please help me understand what effect IncludeOuterResults lookup flag has on LLDB?
The only test-case failing is test/lang/swift/private_var/TestSwiftPrivateVar.py:
private var a = 1
func doSomething(b: Int) {
	a += b //% self.expect("expr a", substrs=['Int', '= 1'])
}
doSomething(b:2)

And it fails this way:
20:41:35 runCmd: expr a
20:41:35 runCmd failed!
20:41:35 error: Couldn't lookup symbols:
20:41:35   a.(a in _8EC5D11DF8416F30E6CB4119BEB79E77).unsafeMutableAddressor : Swift.Int
20:41:35

There seems to be no "shadowing" in that example - a is defined only once as a top-level variable so I have no idea why IncludeOuterResult might be affecting this at all...

It's not immediately obvious what is going there, but since the expression evaluator has to inject itself into the symbol lookup process, I'm not surprised that there is an interaction. We'll have to look at this together in the debugger to fully understand what's going on. In the mean time you can reproduce the bug while having "lldb log enable expr" enabled, then you can see all the lookups being performed. Perhaps that gives you a clue.

Here are the relevant pieces from the expression log:
 Parsing the following code:
@LLDBDebuggerFunction @available(OSX 10.15, *)
func $__lldb_expr(_ $__lldb_arg : UnsafeMutablePointer<Any>) {
do
{
/*__LLDB_USER_START__*/
a
/*__LLDB_USER_END__*/
}
catch (let __lldb_tmp_error)
{
    var $__lldb_error_result = __lldb_tmp_error
}
}

This is what is being passed to the type checker.
We're getting the following callbacks:
 [LLDBExprNameLookup::lookupOverrides(0)] Searching for UnsafeMutablePointer
 [LLDBExprNameLookup::lookupAdditions (0)] Searching for UnsafeMutablePointer
 [LLDBExprNameLookup::lookupOverrides(1)] Searching for ==
 [LLDBExprNameLookup::lookupAdditions (1)] Searching for ==
 [LLDBExprNameLookup::lookupOverrides(2)] Searching for IntegerLiteralType
 [LLDBExprNameLookup::lookupAdditions (2)] Searching for IntegerLiteralType
 [LLDBExprNameLookup::lookupOverrides(3)] Searching for FloatLiteralType
 [LLDBExprNameLookup::lookupAdditions (3)] Searching for FloatLiteralType

Source file after type checking:
 (source_file "<EXPR>"
  (func_decl range=[<EXPR>:2:1 - line:13:1] "$__lldb_expr(_:)" interface type='(UnsafeMutablePointer<Any>) -> ()' access=internal
    (parameter_list
      (parameter "$__lldb_arg" type='UnsafeMutablePointer<Any>' interface type='UnsafeMutablePointer<Any>') range=[<EXPR>:2:18 - line:2:60])
    (brace_stmt range=[<EXPR>:2:62 - line:13:1]
      (var_decl implicit range=[<EXPR>:2:62 - line:2:62] "a" type='Int' interface type='Int' access=private readImpl=stored writeImpl=stored readWriteImpl=stored)

      (pattern_binding_decl implicit range=[<EXPR>:2:62 - line:2:62]
        (pattern_typed implicit type='Int'
          (pattern_named implicit type='Int' 'a')))
...

Variables:
   [name=b, type = Swift.Int]
   [name=a, type = Swift.Int]
   [name=$__lldb_result, type = Swift.Int, is_result]
   [name=$__lldb_error_result, type = Swift.Error, is_error]

Does this make things more clear, or more confusing?

@adrian-prantl Thank you! I think that makes it more confusing as to where unsafeMutableAddressor comes into play at all...