[Bug] FireStore - iOS 12 crash on fetch data

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.3.41f1
Firebase Unity SDK version: v11.3, v11.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Firestore
Other Firebase Components in use: Auth, Crashlytics, Analytics,Installations
Additional SDKs you are using: Ironsource,facebook
Platform you are using the Unity editor on: Mac
Platform you are targeting: iOS, Android
Scripting Runtime:  IL2CPP
Pre-built SDK from the website or open-source from this repo: this repo

Downgrading to v10.2.0 is working properly
[REQUIRED] Please describe the issue here:
0  grpcpp +0x4f18                  0x4f18 (0x4ea8 + 112)
1  grpcpp +0x2b1a4                 0x2b1a4 (0x2b18c + 24)
2  grpcpp +0x2b2e8                 0x2b2e8 (0x2b2d8 + 16)
3  FirebaseFirestore +0x905e4      firebase::firestore::remote::GrpcConnection::CreateChannel() const
4  FirebaseFirestore +0x9034c      firebase::firestore::remote::GrpcConnection::EnsureActiveStub()
5  FirebaseFirestore +0x90a90      firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, firebase::firestore::remote::GrpcStreamObserver*)
6  FirebaseFirestore +0x136290     firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
7  FirebaseFirestore +0x137954     0x137954 (0x137910 + 68)
8  FirebaseFirestore +0x8258       firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&)
9  FirebaseFirestore +0x14841c     firebase::firestore::util::Task::ExecuteAndRelease()
10 libdispatch.dylib +0x607d0      __dispatch_client_callout
11 libdispatch.dylib +0x9320       __dispatch_lane_serial_drain$VARIANT$mp
12 libdispatch.dylib +0x9e3c       __dispatch_lane_invoke$VARIANT$mp
13 libdispatch.dylib +0x124a8      __dispatch_workloop_worker_thread
14 libsystem_pthread.dylib +0xc110 __pthread_wqthread

Steps to reproduce:
App is getting crashed on calling GetSnapshotAsync() on iOS devices

Drive-by comment: This is another instance of https://github.com/firebase/firebase-ios-sdk/issues/11509. This is a suspected race condition but the Firestore team has not had success reproducing it. @rameshporeddy are you able to reliably reproduce this crash? If so, would you be able to reproduce under thread sanitizer and address sanitizer? If those sanitizers discover anything they will very likely be extremely helpful. Xcode instructions for the sanitizers are documented at https://developer.apple.com/documentation/xcode/diagnosing-memory-thread-and-crash-issues-early

@dconeybe I had to buy an iPad Mini 2 which only supports the latest 12.5.7 it crashes when it tries to perform the login, let me know if you need more information.

@victors1681 That's fantastic! Can you rebuild your app with thread sanitizer and reproduce? See more instructions in my previous comment: https://github.com/firebase/firebase-unity-sdk/issues/851#issuecomment-1702809660

@khambadkone My apologies that the 11.6.0 Unity SDK release did not upgrade its dependencies on the firebase-ios-sdk, and still suffers from that bug you linked to. We don't have a workaround for now, but the next release of the Unity SDK will include the upgraded dependency (barring any prohibitively-difficult technical issues). We don't typically give ETAs for releases, but the next Unity SDK release is planned for mid-late January 2024.

Hi folks, I believe the fix for this has been released, so I'll go ahead and close this thread. Feel free to let us know if this is still causing an issue.


Outlook-Loginpage-Clone

1-Add your projectfolder into folder pages
2-Project folder structure
i-index.html
ii-js folder
iii-css folder
iv-image
v-ss of your work
3-Add your userdata into Data/pages.json folder
        "id": 1,
        "name": "Your clone Page Name",
        "description" : "This is the login page of this this ...",
        "img": "",
        "githuburl": "",
        "liveurl": "",
        "userData": {
            "nameofcreator": "",
            "githuburl": "",
            "linkedinurl": "",
            "portfolio": "",
            "email": "",
            "twitter": ""
        }
    }

4-Create a Pr
5- Star the repo


gRPC server streaming, client cannot receive any response

It now looks like the server will return to the client after processing all the logic. And if a server streaming request is being executed, the server does not accept any other requests.
Has anyone had a similar problem?

Could you provide more information about that?

What Armeria version are you using?
Which gRPC stub is used such as gRPC-Java, gRPC-Kotlin, and so on.
Is it possible to create a reproducible example? It is super helpful to find out the cause of the issue.

Related issue: #3099

Could you provide more information about that?

What Armeria version are you using?
Which gRPC stub is used such as gRPC-Java, gRPC-Kotlin, and so on.
Is it possible to create a reproducible example? It is super helpful to find out the cause of the issue.

Armeria version: 1.14.1
gRPC stub: gRPC-Java
proto
service StreamingGreeter {
  rpc ServerStreaming (HelloRequest) returns (stream HelloReply) {}
}
message HelloRequest {
  string name = 1;
  bytes fileBody = 2;
}
message HelloReply {
  string message = 1;
  bytes fileBody = 2;
}

client
public class MyClient {
    public static void main(String[] args) {
        Channel channel = GrpcFactory.newChannel("localhost", 8888, Integer.MAX_VALUE);
        StreamingGreeterGrpc.StreamingGreeterBlockingStub blockingStub = StreamingGreeterGrpc.newBlockingStub(channel);
        Iterator<HelloReply> helloReplyIterator = blockingStub.serverStreaming(HelloRequest.newBuilder().build());
        while (helloReplyIterator.hasNext()) {
            System.out.println(helloReplyIterator.next().getMessage());
        }
    }
}

server
public class MyServer {
    public static void main(String[] args) {
        ThreadPoolExecutor EXECUTOR = new ThreadPoolExecutor(
                1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingDeque<>(),
                new ThreadFactoryBuilder().setNameFormat("grpc-server-start-stop-%d").build());
        GrpcService grpcService = GrpcService.builder().addService(new MyServiceImpl()).build();
        Server.builder()
                .startStopExecutor(EXECUTOR)
                .http(8888)
                .service(grpcService)
                .build()
                .start();
    }
}

Thread.sleep(1000L);

Armeria server executes a gRPC service on an event loop by default. Your service code blocks the event loop with Thread.sleep()
If you want to perform a blocking task, please turn on GrpcServiceBuilder.useBlockingTaskExecutor(boolean).

Thread.sleep(1000L);

Armeria server executes a gRPC service on an event loop by default. Your service code blocks the event loop with Thread.sleep() If you want to perform a blocking task, please turn on GrpcServiceBuilder.useBlockingTaskExecutor(boolean).

It works! Thanks! I have a question: Whether the blocking tasks and async tasks use the same thread pool?

They use different thread pools.
You can set a custom blocking task executor using https://javadoc.io/static/com.linecorp.armeria/armeria-javadoc/1.14.1/com/linecorp/armeria/server/ServerBuilder.html#blockingTaskExecutor(java.util.concurrent.ScheduledExecutorService,boolean)

They use different thread pools. You can set a custom blocking task executor using https://javadoc.io/static/com.linecorp.armeria/armeria-javadoc/1.14.1/com/linecorp/armeria/server/ServerBuilder.html#blockingTaskExecutor(java.util.concurrent.ScheduledExecutorService,boolean)

I took a test: no streaming RPC, non-blockingTaskExecutor, 10 requests, server sleep 1s, client receive the response almost the same time.
What scenario would use blockingExecutor?

I took a test: no streaming RPC, non-blockingTaskExecutor, 10 requests, server sleep 1s, client receive the response almost the same time.
What scenario would use blockingExecutor?

I think it doesn't matter whether streaming or non-streaming is used.
Rather, I think you want to use blockingExecutor if your API is performing any blocking operations on armeria threads. (So this would be Thread.sleep(), CompletableFuture.join(), etc on armeria threads).
So if you need to perform blocking operations, you can do it on your own threads like the following:
public class MyServiceImpl extends StreamingGreeterGrpc.StreamingGreeterImplBase {
    ThreadExecutor executor;
    @Override
    public void serverStreaming(HelloRequest request, StreamObserver<HelloReply> responseObserver) {
        // in armeria thread at this point
        System.out.println(Thread.currentThread());
        executorService.submit(() -> {
            // in user defined thread at this point
            for (int i = 0; i < 1000; i++) {
                System.out.println("==================" + i);
                responseObserver.onNext(HelloReply.newBuilder().setMessage(i + "").build());
                try {
                    Thread.sleep(1000L);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            responseObserver.onCompleted();
        });
    }
}

What scenario would use blockingExecutor?

Specifying blockingExecutor basically lets armeria do the above for you (in addition to other stuff like context propagation).

got it. Thanks all!


What is the actual latency on ARM or CPU?

Thanks for the great work! And I also find that ESPNetv2 has comparable performance with MobileNet or ShuffleNet with even less FLOPS, but is the actual inference speed (images / sec) on ARM or CPU faster than the other light weighted architectures?

I have not tested on ARM devices, but it delivers comparable speed to otherwhile being more power efficient on other edge devices.
P.S: I am not sure if PyTorch has optimized libraries for CPU or ARM

Got it, thx for the reply :)


Error: The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'List?'

Hey 👋
I'm using squadron 5.0.0 with squadron_builder 2.1.2 and get this error when compiling my app.
lib/src/core/api/data/service/json_service.vm.g.dart:11:58: Error: The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'List<dynamic>?'.
 - 'Map' is from 'dart:core'.
 - 'List' is from 'dart:core'.
void _start(Map command) => run($JsonServiceInitializer, command, null);
                                                         ^
Target kernel_snapshot failed: Exception

I saw now that you have to configure it in build.yaml.

Yep, just hoping that List is lighter/easier to transfer across Isolates and Web workers...
BTW thanks for providing an example integrating Squadron with Chopper. I see the example uses Squadron to deserialize the response from the REST API. I was wondering if you've tried to wrap the whole Chopper client inside a Squadron worker? So that the whole REST call is handled off the main thread, i.e. request serialization / API call / response deserialization.

I was essentially trying to replicate what the Flutter docs suggest:

If you run the fetchPhotos() function on a slower device, you might notice the app freezes for a brief moment as it parses and converts the JSON. This is jank, and you want to get rid of it.
You can remove the jank by moving the parsing and conversion to a background isolate using the compute() function provided by Flutter. The compute() function runs expensive functions in a background isolate and returns the result. In this case, run the parsePhotos() function in the background.

I haven't tried putting the whole REST call into a Worker. I'm not sure what the benefit of that would be and it could get quite tricky when passing JWT tokens around, however, I'll take a look at it once I got a bit more free time :)

Don't bother, I was just being curious :-)


How to embedding segment lable

Thanks for you code ,which let me leran more details for this papper .But i cant't understand segment.py. You haven't writeen  how to embedding segment lable .

@waallf It's just embedding with vocab size 2, which element is sentence A and sentence B.
So I inherit the nn.Embedding and initialized with vocab_size 2

More concretely, he sets this embedding to be of shape (2 + 1, embed_size) where:

2 is the number of segments in the input
1 is an additional index is for padding. It is initialized as zeros, as-per the Pytorch Documentation

We keep the same embedding space as the other embeddings so that we can add them together later.
import torch.nn as nn

class SegmentEmbedding(nn.Embedding):
    def __init__(self, embed_size=512):
        super().__init__(3, embed_size, padding_idx=0)

@codertimo this can probably be closed.

hi, thank you for the code it's really helpful. but i have an issue!
what is segment_info actually? i mean what should we write here?


pyxattr making noise

Issue came up, when building documentation on redthedocs.org:
https://readthedocs.org/projects/conu/builds/6278023/
Steps to reproduce:
$ docker run -it fedora bash

# dnf install git python-pip -y
# git clone https://github.com/fedora-modularity/conu
# pip install --user ./conu

This behaviour is expected - pyxattr is an c extension and needs to be installed with root privileges. It has already been included in requirements.sh.
But still we need to figure out our docs generation. There is a new issue for tracking this: https://github.com/fedora-modularity/conu/issues/76


Error passing a filepath string to files.add

The interface spec suggests that from node you can call ipfs.add with a Path.
https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/FILES.md#add

 ipfs.files.add(data, [options], [callback])
Where data may be:
a Buffer instance
a Readable Stream
a Pull Stream
a Path (caveat: will only work in Node.js)
a URL
an array of objects

Trying to pass a file system path as a string throws an error
Error: first arg must be a buffer, readable stream, an object or array of objects
    at Function.promisify (/Users/oli/Code/ipfs/js-ipfs-api/src/files/add.js:34:23)
    at Object.add (/Users/oli/Code/ipfs/js-ipfs-api/node_modules/promisify-es6/index.js:32:27)
    at Object.<anonymous> (/Users/oli/Code/ipfs/js-ipfs-api/examples/files-api/files-api.js:19:12)

Do I need to update the spec, or fix the implementation?

The plan was to merge add, addFromUrl and addFromFs into just add with -- https://github.com/ipfs/interface-ipfs-core/pull/162#issue-148011840 -- endeavor, that last bit was postponed and didn't get done.
What this means is that, yes the docs are wrong for the current implementation but what we would like is to improve the implementation to actually support it. Thanks @olizilla for catching this one :)


Fallback configuration for alertmanager

When the config for an instance is unusable (generally because it is blank), allow the alertmanager to be configured with a fallback.
We also allow the instance-id to be encoded in the Slack URL, triggered by a magic value, because multitenant.

I got round to trying this; it's still very noisy in the logs because it's trying to hit a webhook that doesn't exist.
Some other ideas:

implement a sink for webhooks inside the alertmanager process, so they are silently ignored
add a 'null' receiver to prometheus alertmanager
have the ruler examine the route config, so it can tell it's invalid
have the multitenant alertmanager return 204 instead of 404 when it doesn't have a config (from @aaron7 )

Updated in view of review comments; PTAL

I changed it to return a new object, and thus spotted it was modifying the underlying data, which made it less multitenant than we might have hoped.


Library request: OR-Tools - Google Optimization Tools

Expected Behavior
Supports Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems.
It's available for both Python and C#.
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

C# Google.OrTools has been added to QC cloud


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(engines<EMAIL_ADDRESS>chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

.travis.yml

chore(travis): remove node versions 10.15.2
chore(travis): add node versions -10,10.15.3

Codecov Report

Merging #476 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #476   +/-   ##
=======================================
  Coverage   95.12%   95.12%
=======================================
  Files           1        1
  Lines          41       41
=======================================
  Hits           39       39
  Misses          2        2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 02b5070...79792f4. Read the comment docs.

Coverage remained the same at 90.909% when pulling 79792f447f62b9bbb3fbfb254821cad85c47957d on template-sync-1 into 02b5070a1e542fcd2f3ad9eb4fecd1f23a63d5ba on master.


Enable metadata input

We had to change data representation in the package to enable metadata as input in a tabular form. A new Data base class was introduced. Any implementation of this class (we have Spectra and DataFrame for now) has to implement get_metadata method for metadata extraction and fuse_metadata to fuse the metadata back to the original format. The metadata itself is then used in the annotation process. This way, the annotation can be performed on any supported data format with implemented metadata extraction and fusion.
Close #136.

@xtrojak which column names are we requiring? Do we want to introduce some sanitizing / multi index for the column names to be more flexible?

@xtrojak which column names are we requiring? Do we want to introduce some sanitizing / multi index for the column names to be more flexible? https://pyjanitor-devs.github.io/pyjanitor/

The Curator class is ready for this, we just need to decide if and what we want to have.


[DOC] Use sphinx for documentation

I was looking into how to make some aspects of the documentation writing easier.
I have started playing with sphinx to automatically generate part of a Matlab based project and serving it with read the docs. There is an extension for sphinx that can deal with matlab and read automatically from the "help" sections of functions, classes...
I know that cosmomvpa uses it.
I suspect that reStructured text has a higher "tech" requirements than markdown so might be scarier to new contributors but I feel that this could make the developping / maintaining of the doc easier in the long term.

The Sphinx extension seems great but I wonder if that's a reason enough to use Sphinx. How do you envisage the documentation to look like? Here, I find that tutorials can be more suited to convey how to use bids-matlab. The MATLAB Sphinx example looks nice but targeting developers more than users.

Oh yes sorry I forgot to mention that this was more for the low level API doc for developpers.
Otherwise yes I thinkt that having a good set of jupyter notebooks might be a better "first line of defense" for the documentation on how to use it.
So by with the figure below: jupyter notebook for the top left corner and spinx for the bottom right one.
What do you think?

https://documentation.divio.com/

And I hear you on the mkdocs material being prettier though I am sure we could find a sphinx template for that could feel less... Hum... "Dry".

OK, I agree with you. In terms of priorities, I would focus on the top half of the diagram, even if everything matters at the end of the day.

for maintainability and to lower the barrier for future contributors to the documentation I recommend keeping it as simple as possible. One reason GitHub is so popular is that it natively supports markdown and that you don't have to set up an extra website or CMS system for documentation. So the question here: do we actually need something more sophisticated than a bunch of *.md files?

I think we all agree here: in terms of priority and ease of use sticking to Markdown and jupyter notebook makes sense. For now.
But if we see that we start coying large sections of our code "help" section to reuse in our doc, I will reopen this.
:wink:  :stuck_out_tongue_closed_eyes:


Image Upload will make the record invalid afterwards

Uploading an image will make the record invalid. When accessing the record after uploading an image, I get this errors after validation:
#<ActiveModel::Errors:0x007f7d1cdea508 @base=#<Movie id: 1, name: "Cat Movie", image_id: "a33b3faabd54839a3bd4acb8630503cb3f92fdbdd1912884b5...", created_at: "2015-01-14 19:05:18", updated_at: "2015-01-14 19:05:18">, @messages={:image=>["has an invalid file format"]}>

PoC App here.
Am I doing something wrong here?

Oh, seems this is resolved on master. Sorry for the noise.


Will you support merging gzip files?

From I know gzip support this kind of usage:
$ echo -n aaa >1
$ echo bbb >2
$ gzip 1
$ gzip 2
$ cat 1.gz 2.gz >3.gz
$ zcat 3.gz
aaabbb

And lumberjack compresses each log backups only, no merging performed here, leaving the gzip backups deleted before they reach the space limit.

And this is my config, which specify 128M size limit, but gzip backups only reach to 18M or so : (

Will you guys consider this is a feature Todo?

If lumberjack has a "Cleaner" or "OnRollover" callback, it will be easy.
I implemented on my own filewriter, https://github.com/phuslu/log/blob/master/file.go#L191-L212
Note: the w.Cleaner callback awares gz files and their size, so you could decide what you will do.

Great logger you did, I will use the filewriter you wrote : )

just finished the rotater based on @phuslu's job:
https://github.com/sequix/sup/blob/main/pkg/rotate/rotate.go

nice and congrats, i believe my file writer implementation is easy modified and simple enough to math with  v3 Work Thread point 5


Fix builder class generating name clash if union contains field named "error"

Unfortunately, there seems to be an upstream bug in addition to the missing fully qualified reference to kotlin.error in the code generator.
Or do you have an idea why my fix would not work?

kotlinpoet hasn't yet had a release containing your fix; are you testing with a local build to know that there's an issue?
It seems like there's an active situation around Dokka and the move from jcenter to Maven Central, so CI isn't even running the tests you've added.  I'll see if I can clear that up.

OK, now CI shows your test-case failing.
As far as why your fix isn't working, my guess is that it's because kotlin.error is a function, not a type, and thus wouldn't be affected by the regular CodeWriter import rules.  Just a guess though.  Top-level functions are a rather late addition to kotlinpoet.

Yeah, I think you are right. This seems to be a new, albeit similar upstream bug, using master does not fix it.

I think a better, if less-satisfying, fix will be to update KotlinCodeGenerator to reserve the name error. We'd do that in the function that generates NameAllocator instances, around line 155 or so. This will result in the field being named something like error_ which kind of sucks, but will at least compile :)

Better as in quicker? Because to me, this is a clear KotlinPoet bug again. If I fully-qualify the reference I expect it to stay fully qualified if there is potential for a clash.

Better as in quicker, yes.  I share your expectation.

There is no time pressure for the bug, so I would rather fix it upstream (unless extremely complicated or something). Will have a look what I can find.

Not the prettiest solution: https://github.com/square/kotlinpoet/pull/1040

Marked this as ready for merge because thrifty's side is done, now we are waiting for a new KotlinPoet version including my fix. An alternative to waiting until we can merge would be to merge the required code (the fully qualified method) and test in @Disabled state right now so we don't keep this open.

Moved the updating to https://github.com/microsoft/thrifty/pull/446, will rebase after that's merged

Ready to merge now. Thankfully, the KotlinPoet folks even took the very ugly "interface methods emit explicit abstract modifier" back :)

Thanks for seeing this through - I really appreciate how thorough you've been!

Thanks for seeing this through - I really appreciate how thorough you've been!

You are more than welcome! Thanks for being so responsive and supportive!


Update zio-http, zio-http-testkit to 3.0.0-RC6

About this PR
📦 Updates

dev.zio:zio-http
dev.zio:zio-http-testkit

from 3.0.0-RC2 to 3.0.0-RC6
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #150.


[BugFix] Fix mv rewrite bug for having exprs with other predicates (#…

…29976)

Fix mv rewrite bug for having exprs with other predicates

fix bugs

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 44 / 59 (74.58%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/validate/MVRewriteValidator.java
6
16
37.50%
[39, 49, 57, 58, 59, 60, 62, 63, 81, 82]

:large_blue_circle:
com/starrocks/sql/optimizer/Optimizer.java
5
7
71.43%
[356, 476]

:large_blue_circle:
com/starrocks/sql/PlannerProfile.java
3
4
75.00%
[321]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
19
21
90.48%
[378, 1775]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/cost/CostModel.java
4
4
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


Slow Training

Hi, is it normal to have 4 hours/epoch during training. I have GTX 1070 and to complete even 100 epochs, I need 13 days. If so, how to improve it?

Hi sorry for the late reply, unfortunately neural_mesh_renderer is rather slow - you can try using pytorch3d to render data instead (see https://github.com/akashsengupta1997/STRAPS-3DHumanShapePose/issues/14)


Rerun Automatically functionality missing

The following

"Rerun Automatically" button is normally available when running or debugging JUnit tests
However, it's not available in the "Launched VM"

Hi!
Thank for suggesting the improvement.
Thoughts after a quick research: current implemented mechanism relies on test process state (it waits for the process with tests to be finished before starting next one) and it will not work for this plugin, since the plugin keeps the process alive.
It will require to reimplement this mechanism or to do something tricky, so it will work for Sprinter.
Unfortunately, I don't think I'll have time for this in near future.
Workaround
There is already implemented action for rerunning tests which were run last time.
Shortcut is shift+alt+z or shit+option+z.
It's not the same, what your are asking for, but very close to it and, I hope, should solve your use-case.
Let me know if it helps

Thanks for taking a look and suggesting a workaround


"AttributeError: can't set attribute..."

https://github.com/modelscope/agentscope/blob/bc2e24ba6bab26108fd350fbbc1ad51472258ea5/src/agentscope/parsers/json_object_parser.py#L95
When dealing with TagNotFoundError, an error message "AttributeError: can't set attribute..." will be reported. Because response.text is' read-only '. 'response._text 'can be used instead when' response.text 'is assigned.
I found this issue while running 'werewolf. py' and LLMs can not provide the correct answer format. And it is just a suggestion for this code.

Thanks for your suggestion. We will fix this error in #422 , where we add @text.setter function to support attribute setting in model response.


Database Dump From wow query dev

Hey, I couldn't find where else to contact you but I'm trying to unzip the database dump and I'm getting
gunzip: dump.sql.gz: unexpected end of the file.
It also shows the size of the dump at 0 Kb.
Am I doing something wrong or is the dump contain nothing/bugged.
I just want to get a dump of the items so I can create an autocomplete search since the blizzard API search is no good.

Indeed there is a problem right now on the database and schema export feature. Unfortunately wow-query.dev is not currently under development while I focus on other projects.


Bucket Sort in C #365

Assigned Issue Number ?
#365
Language Opted ?
C
Number of files added or updated ?
1
Name of these files ?
Algorithms/Sorting_Algorithms/Bucket_Sort/BucketSort.c
Checklist

[x] I've read the contribution guidelines.
[x] I've referred the correct issue number.
[x] I've fill up this entire template correctly.

Perfect Code :+1:
Thanks @Harshalszz
Happy Contributing :clap:


Bogus coordinates when controlling Nexstar 8SE

I've tested the telescope control in Stellarium with a serial-usb connection directly to my x86 workstation and it works as expected. When I control the telescope over the same serial-usb connection to my Raspberry Pi B+ it goes in all sorts of nonsensical directions. When I tell it to go from Polaris to Vega and back to Polaris, it just goes to 3 random coordinates, often below the horizon. I haven't seen any pattern in the directions it slews.
I have left the telescope connection configuration in Stellarium as instructed in the guide.
Raspberry Pi stats:
node: v0.10.36
npm: v1.4.28

I received some patches that maybe fix your problems about random coordinates. Waiting for https://github.com/fcsonline/node-telescope-server/issues/7 to review the pull request.


How to lock the player's rotation so that he remains vertical at all times?

I want to keep the player sprite vertical at all times, regardless.  Right now, if it comes in contact with certain objects it tips over on its side.  I found a lot of documents on the web related to this, but I'm having a recurrent problem with the documents I find using the primary Matter namespace.  The examples in those documents don't match interfaces I find with inspecting the matter property attached to a Phaser 3 object.   When I try the techniques described in the Matter namespace documents they don't work, usually with the demonstrated property being undefined.
I tried manually setting the angle property attached to the player body property, but Matter JS appears to interpret that sudden change in angle as a massive velocity event and sends the player sprite flying off the visible world:
player.body.angle = 0;

I tried setting the player's inertia to infinity, but then it won't move:
player.body.setInertia('Infinity');

How can I keep the player always vertical?
Also, if someone could point me to a document that explains how to use Matter JS specifically when operating in the Phaser JS environment, I'd really appreciate it.  I've lost literally days learning how to do various operations that should have been straightforward.  For example, I still haven't figured out how to access the Matter-JS SAT module from within a Phaser 3 app so I can do advanced collision detection like detecting when my player is colliding with any game objects or not.  The matter property attached to the Phaser 3 instance does not have a SAT property.

wow unanswered qustion. not good, not good....
U can set angle every tick
Events.on(engine, 'afterUpdate', function(){player.body.angle = 0;});
i would do some extra options in this library if i where developer

update
still there's no way to disable body angular velocity
hope developers will respond something

i have a proposal - add to player rectangle another small rectangle at the bottom over the main one and set mass of this new one to some high value. So it will work as an anchor
got my idea?

found another solution
Events.on(engine, 'beforeUpdate', function(){
Matter.Body.setAngularVelocity(body, 0)
});

@roschler
You can set the inertia to infinity, and that should prevent your body from rotating.
Matter.Body.setInertia(body, Infinity);

@speekadievs thanks for answering, that's usually what I suggest. I will add an example for this since it gets asked so often.
I'm unable to help with Phaser issues sorry, please post those in the Phaser issue tracker.


feat: luarocks support

Hey :wave:
Summary
This PR is part of a push to get neovim plugins on LuaRocks.
See also:

rocks.nvim, a new luarocks-based plugin manager.
this blog post.

Things done:

Add a release-please workflow that creates release PRs with SemVer versioning based on conventional commits.
Add a workflow that publishes tags to LuaRocks when a tag or release is pushed.

The workflows are based on this guide by @vhyrro.
Notes:

On each merge to main, the release-please workflow creates (or updates an existing) release PR.
You decide when to merge release PRs.
Doing so will result in a SemVer tag, and a GitHub release, which will trigger the luarocks workflow.
In the luarocks github action, tagged releases are installed locally and then published to luarocks.org.
For the luarocks workflow to work, someone with a luarocks.org account will have to add their API key to this repo's GitHub actions secrets.
Due to a shortcoming in LuaRocks (https://github.com/luarocks/luarocks-site/issues/188), the neovim and/or vim labels have to be added  to the LuaRocks package manually (after the first upload), for this plugin to show up in https://luarocks.org/labels/neovim or https://luarocks.org/labels/vim, respectively.

I ran prettier, but CI is still failing.

@mrcjkb made some changes, please review :)

btw, would be nice if you could also add this to none-ls-extras

https://github.com/nvimtools/none-ls.nvim/actions/runs/8531392590/job/23370952901

https://github.com/nvimtools/none-ls.nvim/actions/runs/8531392590/job/23370952901 scm publishing is broken @mrcjkb

https://github.com/nvimtools/none-ls.nvim/pull/106


nitrokey-app2: init at 2.0.1

Description of changes
A graphical application to manage Nitrokey devices.
It may one day succeed the nitrokey-app package. The functionality is very limited at the moment, e.g. it detects Nitrokey devices and offers the firmware update (and then fails, for me at least).
The package comes with an internal Python dependency (pyqt5-stubs), which needs a pyqt5 with special additional features. To remain consistent in python3Packages, it was decided to move pyqt5-stubs and the custom pyqt5 out of the normal python3Packages and instead to provide an own override.
@frogamic: since you use a Nitrokey 3, you might be interested to review or even co-maintain this.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@panicgh I would be happy to co-maintain

Thanks! As I wrote in the beginning, the application doesn't do much yet, but it detects a Nitrokey 3 and displays some information.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1007

I am going to close this PR since the other is newer and requires less review changes.


androidtv/adb_command

Hi, I am trying to get the Search working that you describe here (https://github.com/Nerwyn/android-tv-card#google-assistant-search). When I just add "search" in my lovelace card I get this error:
Cannot call service androidtv/adb_command. must contain at least one of entity_id, device_id, area_id.
so I have to work with custom keys I assume?
so I if I add the following:
    custom_keys:
      search:
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.samsung_au7100_70_tv

I get this error:
Cannot call service androidtv/adb_command. required key not provided @ data['command']
so I need to add a command I guess, but when I put something like this it doesn't work. the text box doesnt appear:
    custom_keys:
      search:
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.samsung_au7100_70_tv
          command: HOME

but that's strange because what I enter in the text box should be sent as a "command", right?
->

or am I missing something here?
I have added Android Debug Bridge successfully in HA dus ABD is correctly configured on my TV.

Please post your full config. You should have the keyboard_id (formerly adb_id which also still works) option filled out with your Android TV ADB media player entity ID.

my full config:
I've set "keyboard_id" and "search" but the "search" is asking for the "command" like I described above.
type: vertical-stack
cards:
  - type: custom:mini-media-player
    entity: media_player.samsung_au7100_70_tv
    volume_stateless: false
  - type: media-control
    entity: media_player.chromecast_2
  - type: custom:android-tv-card
    remote_id: remote.chromecastwoonkamer
    media_player_id: media_player.samsung_au7100_70_tv
    keyboard_id: media_player.samsung_au7100_70_tv
    title: TVWoonkamer
    rows:
      - - back
        - power
        - home
        - search
      - - volume_down
        - volume_mute
        - volume_up
      - - navigation_buttons
      - - netflix
        - youtube
        - disney
        - spotify
      - - previous
        - rewind
        - play_pause
        - fast_forward
        - next
    custom_keys:
      volume_down:
        service: media_player.volume_down
        service_data:
          entity_id: media_player.samsung_au7100_70_tv
      volume_mute:
        service: media_player.volume_mute
        service_data:
          entity_id: media_player.samsung_au7100_70_tv
          is_volume_muted: true
      volume_up:
        service: media_player.volume_up
        service_data:
          entity_id: media_player.samsung_au7100_70_tv
      search:
        service: androidtv.adb_command
        service_data:
          entity_id: media_player.samsung_au7100_70_tv
          command: ???

Don't create a custom key for search, doing so overrides the default behavior. It also looks like you set the keyboard_id to your Samsung TV instead of your Chromecast ADB media player entity?

Hm when I set the keyboard id to the entity name of my tv (the one from the android bridge HA extention) and remove custom search it gives me this error
Cannot call service androidtv/adb_command. must contain at least one of entity_id, device_id, area_id

If you're including adb/keyboard ID then that's really weird because that is the entity ID that gets included in the ADB command here in code. I wonder if it's a browser caching issue? Can you try clearing cache or pressing Ctrl + F5 on the page with the remote?

What are the entity IDs of your Android TV remote, Android TV media player, Android ADB media player, and Samsung TV remote?
If you go to Developer tools > SERVICES and set the service to androidtv.adb_command, and call the command am start -a "android.search.action.GLOBAL_SEARCH" --es query "test" does it throw the same error?

Yes the same error:

the entities:
From the Android ADB media player integration:

media_player.android_tv_192_168_2_177

From the Android TV Remote integration:

remote.chromecastwoonkamer
media_player.chromecastwoonkamer

from the Samsung Smart TV integration:

remote.samsung_au7100_70_tv
media_player.samsung_au7100_70_tv

hm not sure which one I need for your solution, I think only the Bridge entity right?
When I choose the Android Bridge entity option here, it says Succceed but nothing happens on the TV.

media_player.android_tv_192_168_2_177 is the right entity ID to use for keyboard_id. From your second screenshot it looks like the command sends successfully when you use it but your Android TV isn't doing anything. I see that your language is set to Dutch. I wonder if this is a localization issue? Could you also try some other ADB commands and see if they work?

Ok I've done some more testing and when I execute the command you send earlier it's working on the Chromecast TV. Also in the developer tools when I select the bridge entity ID.
This also works:
service: androidtv.adb_command
data:
  command: >-
    am start -a "android.search.action.GLOBAL_SEARCH" --es query "{{
    states('input_text.androidtv_adb_zolder') }}"
target:
  device_id: media_player.android_tv_192_168_2_177
enabled: true

Ok I cleared my cache and now the Search works
Thanks for your time and patience!


fix(ROX-23169): de-flake admission control inline scan tests

Description
Admission control tests that need to do an inline scan can be quiet flaky. They require a response from the image registry (quay.io) which is never 100% reliable. The changes in this PR ensures that the image used is already present in central prior to testing. Note: this will still fail in the event of quay.io outage but will deal with typical flakiness.
Credit to @janisz for the SHA tip and @dhaus67 for the background and metadata check.
Checklist

[x] Investigated and inspected CI test results

Testing Performed
Here I tell how I validated my change

[x] - ran CI with ci-all-qa-tests to ensure the modified tests are exercised :weight_lifting:.

Manual Test Steps
These were facilitated with a hacked up groovy script on: https://github.com/stackrox/stackrox/pull/10335. admission-control was configured for inline scan similar to the steps in AdmissionControllerTest.groovy.
Test One: Verify the current behavior
Verify that the current admission-control inline scan test methodology issubject to quay.io flakeage.

Reset
scan image without SHA
verify metadata is present
remove the quay autogenerated integration + secret
create a new secret with invalid creds
verify that the integration is created
attempt to deploy the image without SHA
should succeed when central fails to provide the scan data to admission-control

Test debug, the validating webhook times out and allows the deployment creation after 23 seconds, similar to existing flakes:
15:33:57.737 [main] DEBUG test -- About to create
15:34:15.655 [main] DEBUG orchestratormanager.Kubernetes -- Told the orchestrator to createOrReplace qanginx
15:34:15.656 [main] DEBUG test -- Created: true
Exception in thread "main" Assertion failed:

assert !created
       ||
       |true
       false

Central tries to scan as part of admission-control inline scan.
pkg/images/enricher: 2024/03/19 22:33:58.254501 enricher_impl.go:367: Info: Getting metadata for image quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1
image/service: 2024/03/19 22:34:15.592792 service_impl.go:318: Error: error enriching image {"image": "quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1", "error": "image enrichment error: error getting metadata for image: quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1 errors: [getting metadata from registry: \"Autogenerated https://quay.io for cluster remote\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/nginx-1.21.1\": context deadline exceeded (Client.Timeout exceeded while awaiting headers), getting metadata from registry: \"Public Quay.io\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/nginx-1.21.1\": net/http: request canceled (Client.Timeout exceeded while awaiting headers)]"}
pkg/images/enricher: 2024/03/19 22:34:15.614388 enricher_impl.go:367: Info: Getting metadata for image quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1
pkg/images/enricher: 2024/03/19 22:34:17.649135 enricher_impl.go:367: Info: Getting metadata for image quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1
image/service: 2024/03/19 22:34:20.035183 service_impl.go:318: Error: error enriching image {"image": "quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1", "error": "image enrichment error: error getting metadata for image: quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1 errors: [getting metadata from registry: \"Autogenerated https://quay.io for cluster remote\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/sha256:a05b0cdd4fc1be3b224ba9662ebdf98fe44c09c0c9215b45f84344c12867002e\": http: non-successful response (status=401 body=\"\"), getting metadata from registry: \"Public Quay.io\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/sha256:a05b0cdd4fc1be3b224ba9662ebdf98fe44c09c0c9215b45f84344c12867002e\": http: non-successful response (status=401 body=\"\")]"}
image/service: 2024/03/19 22:34:22.252123 service_impl.go:318: Error: error enriching image {"image": "quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1", "error": "image enrichment error: error getting metadata for image: quay.io/rhacs-eng/qa-multi-arch:nginx-1.21.1 errors: [getting metadata from registry: \"Autogenerated https://quay.io for cluster remote\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/nginx-1.21.1\": http: non-successful response (status=401 body=\"\"), getting metadata from registry: \"Public Quay.io\": failed to get the manifest digest: Head \"https://quay.io/v2/rhacs-eng/qa-multi-arch/manifests/nginx-1.21.1\": http: non-successful response (status=401 body=\"\")]"}

Test two: Verify the improved method
Verify that scanning an image with a SHA + a metadata check + using a SHA image in the deploy step is sufficient to remove quay.io as a source of flakiness and still do e2e coverage of inline scan for admission-control. i.e. admission-control will still fetch from sensor -> central but central will not need to connect to quay.io during the test.

Reset
scan image with SHA
verify metadata is present
remove the quay autogenerated integration + secret
create a new secret with invalid creds
verify that the integration is created
attempt to deploy the image with SHA
should fail when central provides the previously cached scan data to admission-control

The Pre Test Reset
Reset stackrox components to defaults. Used a deleteImages() request and admission-control restart (to clear the cache). Ensure a valid integration exists for quay.io. Ensure no deployment from prior run.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

I may be just confused, but isn't this change defeating the purpose of this test?
If I understanding correctly, this test case was supposed to verify that with scan-inline enabled, admission control is capable of triggering a scan in the critical path, and if the scan completes and returns vulnerabilities, the deployment create request is rejected.
By using the cache, we're effectively short-circuiting part of the workflow and only testing that the cache lookup works?

I don't think so. It is still exercising the image fetch that admission-control follows. And as an AdmissionControllerTest I think that is sufficient. Other tests exist (or should exist) that central is scanning images OK.

/retest


Moving nginx(3) resources to v1beta1 version

nginx 3

[ ] azurerm_nginx_certificate
[ ] azurerm_nginx_configuration
[ ] azurerm_nginx_deployment

azurerm_nginx_deployment Failed.
deployment_output.txt
subnet_output.txt
deployment.yaml.txt
Next resources need azurerm_nginx_deployment
azurerm_nginx_certificate
azurerm_nginx_configuration


Config settings for desktop

I can't see any documentation that mentions config settings for localhost. i.e. qlik sense desktop users..
Can anyone help me out?
I got used to qsocks where I didnt need to pass anything...

You can start with the dev-hub template.
https://github.com/qlik-demo-team/qdt-devhub-template


Support partition value string deserialization for timestamp/binary

Description
support partition value string deserialization for timestamp/binary
Related Issue(s)

related to #357

Documentation

I'm not sure the binary format test case and implementation is correct.
In the delta spec description, the binary data would be encoded as a string of escaped binary values. For example, "\u0001\u0002\u0003".
I tried to generate a delta table which partitioned with binary data column with values "\u0001" and "\u0002". In the _delta_log file, the partitionValues seems to be consistent with the document:
{
    "add": {
        "path": "biz_date=%2501/part-00000-bdbac3d9-1594-48eb-b83c-883efd820c3a.c000.snappy.parquet",
        "partitionValues": {
            "biz_date": "\u0001"
        },
        "size": 472,
        "modificationTime":<PHONE_NUMBER>000,
        "dataChange": true
    }
}

Then I tried to debug the new implementation with following test case:
use deltalake::checkpoints::CheckPointWriter;
use deltalake::storage;

#[tokio::test]
async fn write_checkpoint_partitioned_on_binary() {
    let table_location = "./tests/data/partitioned_data/test_partition_on_binary";
    let log_path = "./tests/data/partitioned_data/test_partition_on_binary/_delta_log";

    // Load the delta table with binary partition
    let table = deltalake::open_table(table_location).await.unwrap();

    // Write a checkpoint
    let storage_backend = storage::get_backend_for_uri(log_path).unwrap();
    let checkpoint_writer = CheckPointWriter::new(log_path, storage_backend);
    let _ = checkpoint_writer
        .create_checkpoint_from_state(table.version, table.get_state())
        .await
        .unwrap();
}

And watch the input parameter of typed_partition_value_from_string, the input string_value is not "\u0001" but "". So I also use the original string value in the test case.
Although typed_partition_value_from_string_test passed, the write_checkpoint_partitioned_on_binary test failed. The error message is:
called `Result::unwrap()` on an `Err` value: ArrowError { source: JsonError("Binary type is not supported") }

I'm not sure if I've missed some important things here...

Thanks @zijie0 , I will take a closer look at the PR later today or tomorrow. The timestamp handling part is going to be tricky due to ambiguities in the delta spec, see: https://github.com/delta-io/delta/issues/643. The nanosecond type we write out is a logical timestamp type stored in int64, which is not supported by spark. Spark only reads nanosecond type stored in int96, which is deprecated in newer versions of parquet format. The rust parquet crate supports reading int96 timestamp, but not writing int96 as recommended by the parquet developers. So we need to look into this more to see what's the best way to handle timestamp.

Hmm... It reminds me a similar issue we encounter some time ago: https://github.com/dask/fastparquet/issues/646

Yeah, it's similar to the one you posted. Basically spark writes out timestamp in the deprecated int96 type by default. When reading nanosecond timestamps, it only supports int96, not the newer logical nanosecond type (int64), which is also not recommended due to limited precision constrained by int64. So the best type to use going forward is logical micro second type (int64). This type is supported by spark for both read and write. My hunch on this is we should probably use micro second timestamp here as well instead of nano seconds.

It seems that in #375 , we will change the time unit back to micro second. Maybe I should modify my PR after the previous one getting merged?

yeah, I will send a email to the dev list later this week to get more clarifications from the delta authors on what's the expected way to handle timestamp semantics.

Another (entry level) question is that when I'm debugging the binary format case, the call stack only shows the error is thrown from unwrap call. Do you have any best practice on how to debug async methods to locate where the error is originally generated?

Async stack trace is unfortunately a pain point I have as well. So I don't really have a good solution either. I usually will try running the code with RUST_BACKTRACE=1 first, if that didn't get me enough information, I would then use the backtrace module to explicitly print out the stack trace right before where the crash happens.

Sorry @zijie0 for the late reply, I finally got some time to take a closer look at the binary type test error you reported.
I believe it's coming from https://github.com/apache/arrow-rs/blob/3fa6fcdbc09542343fb42a2b5b6c5bbe2e56c125/arrow/src/json/reader.rs#L1300. This means arrow-rs itself currently doesn't support reading json string into binary data type. It should be a fairly straight forward thing to add though. So if you are interested in getting a commit into Arrow Rust implementation, please let me know, I am more than happy to help guide you through the process. If not, I can add that support for you this weekend to unblock this PR.

the input string_value is not "\u0001" but "�". So I also use the original string value in the test case.

This is because when we load the json file in rust using serde_json, the string "\u0001" is already parsed by the json parser into unicode string. Here is the quote from the JSON RFC: https://www.ietf.org/rfc/rfc4627.txt.

Any character may be escaped.  If the character is in the Basic
Multilingual Plane (U+0000 through U+FFFF), then it may be
represented as a six-character sequence: a reverse solidus, followed
by the lowercase letter u, followed by four hexadecimal digits that
encode the character's code point.

Given that typed_partition_value_from_option_string works with Add.partition_value, which is already a Rust HashMap parsed from the JSON commit log entry, what you are doing in this PR is the correct behavior I believe. i.e. passing the parsed string value as is to downstream parquet serialization.

also cc @xianwill @mosyp in case you notice any issue with binary column type handling in production with kafka delta ingest ;)

@houqp Cool, let me take a look at arrow-rs project first.

Hi @houqp , I tried to draft a commit for supporting binary type in arrow-rs. I'm not sure where can I find something like "arrow spec" so I just read the source code to do the implementation. It seems that BinaryArray is very similar to StringArray so that I made a similar implementation here.
The commit is: https://github.com/zijie0/arrow-rs/commit/926ea32ee6fd27c891a83ba55e2d9832acf27e43
Could you please take a look? Thanks in advance!

@zijie0 that looks good to me, please feel free to send an upstream arrow-rs PR :) Arrow spec is documented at https://arrow.apache.org/docs/format/Columnar.html.

@houqp I've changed timestamp type to micro seconds. Please take a look when you got some time.

Thank you @zijie0 ! We can tackle the timestamp precision problem later :)


Add support for hex format for int8 query tensors

Currently, we don't support expressing query tensors with hex feed format (for int8 tensors).
It would be great if we could support this format on the query side as well:
/search/?ranking.features.query(binary_code)=FF00118022FE

done, doc in:
https://github.com/vespa-engine/documentation/pull/2468

Thanks @arnej27959!


Don't do that exec hack in html/__init__.py

This means that Wing IDE doesn't know to automatically find DIV.

OK, I have replaced exec with and explicit list of functions

Thank you!


Declare variables global/local

This caused warnings with setopt warn_create_global

Nice! Thank you!

@olivierverdier any chance we can get this merged?


error when extracting

when extracting I get this error:
Cannot create symbolic link : A required privilege is not held by the client. : D:\SBTool-master\SBTool-master\exec
I was hopping there was a releases tab for this sbtool, as usually when I extract master zips they have no executable file and I get lost on how to build the whole project as an exe

@opnoobkiller Are you using Windows 10 or prior? And what are you using to extract the zip archive?

Click to see my hypothesis regarding this problem, if you're interested
On Windows, creating symlinks ("symbolic links") required adminstrator privileges prior to Windows 11, so if you're using Windows 10 or older, that would explain why you're getting an error which complains about "required privileges".

What doesn't make sense, however, is...why is an attempt being made to create a symlink in the first place? That's why I asked what you're using to extract the zip archive - I'm wondering if something weird is going on here...perhaps relating to quirks of different zip extraction implementations? I guess we'll see soon enough...

@opnoobkiller Are you using Windows 10 or prior? And what are you using to extract the zip archive?
Click to see my hypothesis regarding this problem, if you're interested
On Windows, creating symlinks ("symbolic links") required adminstrator privileges prior to Windows 11, so if you're using Windows 10 or older, that would explain why you're getting an error which complains about "required privileges".
What doesn't make sense, however, is...why is an attempt being made to create a symlink in the first place? That's why I asked what you're using to extract the zip archive - I'm wondering if something weird is going on here...perhaps relating to quirks of different zip extraction implementations? I guess we'll see soon enough...

I am extracting using 7zip, I've always used it and in sites where they give me a passkey for extraction I used that, but in some cases I never had to use a passkey. Yes, I'm using windows 10 and I have no clue why it's trying to create a "symbolic link"; however, if your project here all builds perfectly into an exe then making a public release of this master git should work, should it have the exe and various sources to make the exe work. Also I have one question on this, I am making a level editor for the HD remake using blender and python as the base. I was wondering if this program allows me to extract .aem, as my guess leads me to believe this is a model or model data, which I would like to use for my blender addon. If you are interested my repository and src will go up later on today, but not right now as I need to fix a few bugs, make a few buttons, and add author info so it's not claimed as stolen.

Also I would like to chat on discord, as I have a few more questions and concerns on getting files from Switchball HD.


[CORE] Typo in Service Hook Specification

There is a 'space' missing in the code example:
https://docs.osgi.org/specification/osgi.core/8.0.0/framework.servicehooks.html#d0e46081
see attached screenshot

Obviously already fixed in
https://github.com/osgi/osgi/blob/c02d0067ec9c30d6be08f9454afd82b9497a5312/osgi.specs/docbook/core/055/framework.servicehooks.xml#L353-L354


Console findings

login, no MFA, password changed: whitescreen:

page reload to console took 5 - 10 seconds. this is a bad first impression to customers.

landing page:

which effect does "Spitzname" have? that is not explained

metadata

why am I able to enter Metadata if I do not have permissions? that should be checked before the dialog

popup

the first popup occured after the 2nd page reload, why not at first? (with an option to disable it if needed)

first logout

the logout leads to an white page with state="" in the URL. the customer should have an appropriate feedback for the logout. reload of page does not change this behavior.

re login

after a new console load, my username gets prefixed with "smartive". the login is successful.
the login name is correct in personal info

create a new user

if there is an option to PRE verify the email, wouldn`t it make sense to have the option for phone as well?

infobutton link

the infobutton in the top left corner (besides the domain) leads to the projects overview page, I would have expected the users overview page as I am editing a user
it is correct on the "benutzer" page though

infobox text

"per Du" oder "per Sie". ?

new Project

to my taste, this dialog and the checkboxes should have an info button for further informations, it is pretty technical.
here, this issue is solved fine

new application

when a new application is created but no URL is defined, an error occurs, why don't we add a link to the missing information?

If I enter the URL "manually", "no changes found" error occurs when I hit save button

after I entered the 2 url i was not able to save the application. the check of OIDC config was still failing, no matter which elements I saved. this leads to a "dead end"

I guess that might be misleading to some of our customers @  "breadcrumbs"


State Utility Method get_client_ip() does not return the client IP.

Describe the bug
When the on_click event in the button occurs, it tries to call any function defined in State.
Within that function, I want to call Utility Method get_client_ip in State and log the IP of the client that caused the web event.
Only <IP_ADDRESS> is logged, not the client's IP. (Of course, the web event occurred on a PC other than local.)
I don't know if this is a bug or if it's misconfigured.
To Reproduce
Steps to reproduce the behavior:

<Part of the button code>
def logging_client_ip(self):
        logger.filelogV("Client IP", self.get_client_ip())

<Part of the button code>
def detail():
    return rx.center(
            rx.vstack(
                rx.button("refresh", bg="blue", color="black", size="lg", on_click=[State.logging_client_ip],)
            )
    )

I attach a part of the code.
There is no special code.
It just calls any function that uses the get_client_ip() method in State.
The code I'm developing is not much different.
Expected behavior
The method call should return the IP value of the client that ran the event, not the localhost IP (<IP_ADDRESS>).
Screenshots
Specifics (please complete the following information):

Python Version: 3.9.13
Reflex Version: 0.2.2
OS: Client - Windows 10 / Server - Windows Server 2019
Browser (Optional): Google Chrome, Naver Whale

Additional context

Fixed by https://github.com/reflex-dev/reflex/pull/2808
Please reopen if issues persists in reflex 0.4.5+


Add support for dmy formats

This PR adds support for date and timestamps that have their month, date and year part in dmy format. I have borrowed the implementation frommdy_family functions and have added appropriate tests.
dmy parsing is lower in priority than mdy so dmy parsing will only kick in if mdy fails to parse.

I don't know why one of the tests are failing, seems unrelated to my changes.


Result Management Application

Developed a “Result Managment Application” using HTML, CSS, JavaScript and Node.
• Two types of users can login to application by clicking a button on homepage
• Students can enter their roll number and date of birth to view their result
• If roll number and D.O.B. does not match, an error should be shown on screen.
• Teachers can View all records, add new record, edit and delete the records.

You can follow me one github and give ⭐ to this repo.


Fix transparent editor theme being brighter

TIL that you can have a transparent editor theme, but it makes the editor background also transparent, and the background before that is white. This update forces the background alpha to be opaque
Before

After

Updated to new master branch. Should work completely fine but additional testing may be needed

Thanks!

Cherry-picked for 3.3.


error "Something went wrong with the authentication" for chartbrew to connected strapi

i use my local for chartbrew to connected strapi. But i got alert error "Something went wrong with the authentication. Please check the host and token are correct and try again.". How do i fix this? Thank you

strapi version v4.3.2

Hey @tirajetw apologies for the delay, I missed the notification for this one.
Is your local copy of Chartbrew working if you go to localhost:4018 and log in?

Hi @razvanilin. I am also facing this issue while setting up the plugin. I followed all the steps for the self hosted version of chartbrew. Both the frontend and backend on ports 4018 and 4019 are working perfectly. But, I am not able to connect strapi and receiving the same error as in the image. Any help would be much appreciated. Also, i can provide any more info that you might need.

Hey @HarjasSodhi are you able to access Chartbrew from the machine where your Strapi instance is running from?
Also, can you let me know what version of Strapi are you using?

Yes. Both strapi and chartbrew were running locally on the same machine. They both were working fine.
The only problem I encountered was connecting strapi to the chartbrew instance.
I am on strapi v4.9.0

I'm heaving the same issue. Both locally running. POST http://localhost:1337/chartbrew/settings returns a 200. But UI shows: Authentication failed
Something went wrong with the authentication. Please check the host and token are correct and try again.

Updated the readme with instructions on how to solve the issue. Closing this for now

Ok, I think I found the issue and this should affect those instances where Strapi is connecting to Chartbrew with an http:// connection. I was able to replicate the issue and traced it back to Content Security Policy where Strapi is blocking any requests made to an unsecured URL.
To fix this, you are going to have to modify the /config/middlewares.js file and allow connections to http. If you already have strapi::security in your middleware file, replace the line with the object below:
module.exports = [
...
  {
    name: 'strapi::security',
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          'connect-src': ["'self'", 'http:', 'https:'],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
...
];

Also, don't forget to build your Strapi again after making this change: npm run build
Let me know if this fixes the issue for you all ✌

Hi razvanilin,
I followed your instruction by adding this code to the strapi/config/middlewares.ts file and then run the command npm run build. After these, I use npm run develop and got the following error


error trying to log in with email+password OR session cookie

Using the windows EXE on this page: https://cloudwithlightning.net/random/chostin/cohost-dl
I specify a data path and media download directory, and then try to log in. Giving my email and password give this error:
Logging in...
Error: error sending request for url (https://cohost.org/rc/login)
Caused by:
    0: client error (Connect)
    1: OS Error -2146762482 (FormatMessageW() returned error 317) (os error -2146762482)

Trying with session cookie gives this error:
Checking...
[2024-11-11T02:55:38Z ERROR cohost_dl::context] GET https://cohost.org/api/v1/trpc/login.loggedIn: error sending request for
url (https://cohost.org/api/v1/trpc/login.loggedIn). trying again (try 2/10)

I'm running via Wine on Linux. Is this an issue on my end, or cohost's?

considering it's an os error on a windows function i'm thinking it's some issue with wine. you can still compile from source, i've done this and it works fine. you need to install npm and rust, and follow the instructions here

I'll give it a shot. I was just looking to avoid that because the first line under that section says

compile the post & markdown renderer. this is super jank. it currently requires running cohost-dl 1 as well

I was able to run the EXE build from a windows machine, and it worked fine. So this problem appears to be Wine + Linux related. Feel free to close if supporting that is outside the scope of this program.


Unable to Play Music

OS: Windows 10 Version 1607
Issue Descriptions: The application loads fine and I am able to browse through all pages (Music Library, Browse Stations, etc) without issue, but when I try to play anything (song, playlist, station, etc), it doesn't start playing. If I click play on a station, the loading indicator appears, but then it does not start playing. I have already tried restarting my computer, to no avail.
I know this isn't much information to go off of, but I'm not too sure where to start looking for debug info.

Same issue, on Debian Linux.
Yesterday the UI would load and be interactive, but no stations would play. Today the UI won't even load, I just get a loading "spinner" graphic the whole time.

Okay, I'm glad I'm not the only one. I didn't try using the application yesterday, but the day before (08/10) it worked perfectly fine. I wonder if maybe there was an API update?

Having a similar issue. Can't browse music though, I'm just getting the circular loading graphic.

I have a similar issue as well, on launch I only get the loading spinner.
Arch Linux 4.6

Also on Ubuntu 16.04, my problem seemed to be out of date software for me.
Try this on Ubuntu to check version.
dpkg -l google-play-music-desktop-player
My working version shows 3.4.3-1 as my version

Guys, please check the closed issues before raising new ones...
Duplice #1454 #1453 #1445

TLDR Update to version 3.4.3, windows and macOS users should receive the update automatically.  Linux users have to do linux things and update automatically


Install monitoring service

Either Scout or RayGun

How about both? Ray gun is last resort exception/crash reporting. Scout is performance reporting


Feature request: Make it work in the LaCros browser

This extension is indispensable, but does not function in the LaCros browser.

Yes; the chrome.input.ime framework is not available in LaCros, this is apparently an intentional product decision. It is being discussed on the chromium bug forum, but I don't have high hopes that this framework will be brought back :-(

Does this mean that there will be no way to add extra keyboard layouts to Chrome OS after Lacros is the default browser? I've just turned on the lacros-only flag to be able to have parallel browser sessions in 2 Google accounts. That feature works great, but my custom keyboard layout disappeared, which is a deal-breaker for me.

Yes; at present Lacros does not include the necessary Javascript API (chrome.input.ime) to allow keyboard layout extensions to work. This was an intentional design choice, mostly for security reasons (IME is pretty terrible from a security perspective). There is still some discussion about allowing a more limited form of the IME API which would allow most of these extensions to be used (with some rewriting and possibly small functionality losses); but as far as I know a final decision has not yet been made on this.


Get started - Dependency ionicons

Path for ionicons is "node_modules/ionicons/dist/css/ionicons.css", not "node_modules/ionicons/css/ionicons.css" as described on the "Get started" page.
There is also a "min" version available that might is preferable?

You probably have installed ionicons version 3 or 4.
Admin lte 2 is served with inonicons 2.
You can use the minified version but angular will take care of minifying the css anyway.


c/flutter-app.bbclass: Add symlink to libapp.so

This fix application launching in release mode,
ivi-homescreen is looking for lib (along kernel_blob.bin) in assets dir
(ie: --a=/usr/share/flutter/gallery/flutter_assets/ )
Observed issue was:
[ERROR:flutter/runtime/dart_vm_data.cc(18)] \
VM snapshot invalid and could not be inferred from settings.
[ERROR:flutter/runtime/dart_vm.cc(269)] \
Could not set up VM data to bootstrap the VM from.
[ERROR:flutter/runtime/dart_vm_lifecycle.cc(84)] \
Could not create Dart VM instance.
[FATAL:flutter/shell/common/shell.cc(143)] \
Check failed: vm. Must be able to initialize the VM.
Aborted

Relate-to: https://booting.oniroproject.org/rzr/meta-oniro-blueprint-flutter/-/issues/3#note_24362
Relate-to: https://github.com/meta-flutter/meta-flutter/issues/115#issuecomment-1160263129
Signed-off-by: Philippe Coval<EMAIL_ADDRESS>

@rzr Heads up.  I introduced a breaking change in ivi-homescreen today.
--a is now for setting Engine accessible features
--b replaces prior usage of --a.
In the next couple of days I will be implementing the following folder structure (based on flutter build linux output):
            <flutter app install folder>
           ├── data
           │   └── flutter_assets
           └── lib
               └── libapp.so

This supports x86_64 homescreen host dev scenarios, as well as standardizing on flutter build linux build output format.  A script is in development to support dev use which create this folder structure for an app, as well as download all the required artifacts.  It will be checked into meta-flutter.  This makes it easy to use homescreen for desktop, switch between engine flavors, and run Vulkan backend.
Homescreen will stat /data/icuctl.dat before defaulting to load /usr/share/flutter/icuctl.dat.
The flutter app install will reflect the above folder layout.


Polygon ID : generate a DID at wallet creation

it is a secp256k1 curve , same as ethereum.
Need to use the wallet flutter dart sdk
https://0xpolygonid.github.io/tutorials/

https://github.com/iden3/polygonid-flutter-sdk/tree/develop

good documentation for flutter package here: https://github.com/iden3/polygonid-flutter-sdk/tree/develop/example

First version create DID and display it in new menu in drawer

When creating the identity the blockchain is polygon and the network is the main net.


Bullseye icon

is there a quick/clean way to override the bullseye icon? By this I mean to an arbitrary icon unrelated to a font.

no need, closing


[Fix]:Card size and placement of Download button

Description
Adjusted placement of download button on the Adjust Contrast Page
Closes #1819
Checklist

[ X] I have read the Contribution Guidelines
[X] I have performed a self-review of my own code
[X ] I have commented my code, particularly in hard-to-understand areas
[ X] My changes generate no new warnings
[X ] I have read the section Add New Translation Tags (for new translation tags only)

I dont think this change is needed anymore actually?


Unable to do the Search

Hello, thank you for your work!
I have a problem with the search functionality. I tried running the sample code in the repo but it gives no data. What could be the reason?
Running the following code:
from twitter.search import Search
import pandas as pd
email, username, password =  , ,
search = Search(email, username, password, debug=True)
latest_results = search.run(
    'jennifer hudson since:2023-05-18',
    limit=100,
    latest=True,  # get latest tweets only
    retries=3,
)
print(latest_results)

I get the following output:
2023-05-22 17:17:49,711.711 DEBUG: 'timeline'
2023-05-22 17:17:49,712.712 DEBUG: No data for: jennifer hudson since:2023-05-18 | retrying in 1.73 seconds
2023-05-22 17:17:51,497.497 DEBUG: 'timeline'
2023-05-22 17:17:51,499.499 DEBUG: No data for: jennifer hudson since:2023-05-18 | retrying in 2.01 seconds
2023-05-22 17:17:53,563.563 DEBUG: 'timeline'
2023-05-22 17:17:53,565.565 DEBUG: No data for: jennifer hudson since:2023-05-18 | retrying in 4.52 seconds
2023-05-22 17:17:58,139.139 DEBUG: 'timeline'
2023-05-22 17:17:58,141.141 DEBUG: Max retries exceeded

[[None]]

Just ran this and I'm getting data returned. My best guess is that this is likely due to a pending Arkose challenge or email verification challenge. I'm working on automating the email verification challenges for specific mail clients. For now you'll have to complete the challenges in the web app. I'll also need to add some better error messages so this can be more easily identified.
*Ensure you're using the latest version, currently 0.8.1


$ensure parameter to concat::fragment is deprecated

The usage of the parameter ensure in keepalived::vrrp::instance [1] is deprecated and should get removed.
It throws this warning message:
Warning: Scope(Concat::Fragment[keepalived.conf_vrrp_instance_VI_1]): The $ensure parameter to concat::fragment is deprecated and has no effect.
I will sent a PR to remove them.
[1] https://github.com/arioch/puppet-keepalived/blob/master/manifests/vrrp/instance.pp#L184

Closing after merging #114.
Thanks again. 👍

My pleasure, thanks for reviewing and merging so fast :)


Support for renaming subdirectories

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

For issue #113
@gilv Can you review this please?

We don't need rename on directory level. Rename on the object level supports only _spark_metadata by now


feat: pass socket_options to Postgrex

I've deployed a system using WalEx to fly.io. I can only connect to the postgres database over IPv6, which required this change. Wanted to offer it back -- thanks for the library!
In general, it could make sense to accept all of the Postgrex configuration options as part of the WalEx config, but this is all I needed and I didn't want to over-complicate things.

Thank you, can you remove the IO.inspect call?

I removed the IO.inspect and fixed the failing test.


Unable to use this in 1.21.1

Describe the issue
cant use 1.21 with 1.21.1 minecraft
Minecraft Version
1.21.1
Mod Version
1.21-1.9.8
Modloader(Fabric/Forge/NeoForge)
fabric
Modloader Version
0.16.2 (latest)
Additional Info (Crashlog/Modlist)
.

I'll take a look at this today.

alright, ty

Should be fixed in 1.10.0

how can i make the hud appear?  as there is no way of opening the config ingame or any keybind for it

even trying to make it go to the right with the config doesnt show it, i have serene seasons mod tho

"H" is  default key to bring up the in game options (if you have Accessories installed, you may need to reassign it. They recently added a keybind for the same key). I tested on fresh install on 1.21.1 w/ Fabric and it appears to be working

Yes,but I changed nothing and it's enabled,but I can't see it

Can you upload you're "latest.log" and I'll see if I can replicate it.

https://mclo.gs/ATv3RP7


translation: soft multitenancy

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: fleeto
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: frankbu
Assign the PR to them by writing /assign @frankbu in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @fleeto. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@rootsongjc Please review.

Hi, I did some refactoring and the file you edited has moved in the repo. Please rebase and push again. Sorry for the inconvenience.

It's ok , just waiting for #1602 , after it closed , I'll correct related files, not only mine.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: fleeto
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gyliu513
Assign the PR to them by writing /assign @gyliu513 in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

It seems something wrong in the master.  This pr is blocked by ci, after merged with the master. So I'll merge again tonight or tomorrow.
I think what we need most now is content

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fleeto, gyliu513
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS [gyliu513]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/ok-to-test


Error when copying from Dropbox remote to S3

Version of rclone:
rclone v1.38-052-gf60e2a7aβ

os/arch: linux/amd64
go version: go1.9.2

Description:  Error seems to occur when copying from a dropbox remote to any other remote.  I suspect it's a read error from the source side.  Error occurs more frequently when the file to copy is large (in excess of 10GB)  Attempting to copy to a crypt remote error occurs much more frequently
error with debug:  Copy from dropbox remote to s3 remote
2017/11/14 20:56:52 ERROR : FILENAME: Failed to copy: MultipartUpload: upload multipart failed
upload id: jieiXUa2_G8EJ7fSqxUu.pZWbhrl4Mog8_LHwjWnUK2DWPsFG5r9ql5Vw758g2a2SwCsLH3fy6U5rF6_XJc9p9AO8LUxA76W49zbOlO6eK3SKYsNI8.s8dr5bnBXzfv7
caused by: ReadRequestBody: read multipart upload data failed
caused by: unexpected EOF

I suspect it's a read error from the source side

Yes that is what it looks like to me too.
That error looks like it comes from the S3 SDK Multipart upload code and it looks like it was reading on the file handle but it was closed unexpectedly.
This will have been caused by dropbox closing the handle for some reason.
Can you download those big files to the local disk from dropbox?

I'm going to close this now since I haven't heard from you.  Please reopen if you can reproduce the problem.


Add disable-process-reuse flag

Affects #120431
This PR adds an enable-render-process-reuse flag to the runtime arguments in argv.json (one can access that file by running the workbench.action.configureRuntimeArguments command. By default, the runtime argument is false, but one can set it to true in argv.json.

The flag is now enable-render-process-reuse, which takes in either true or false. Its default value is true.
It's set in argv.json. I was having trouble testing it earlier, until I realized this. 😅

Sanity Check before merging,

Workbench process ID does not change on reload
Swapping workspaces in a window also keeps the same process
Ensure child process from workbench get restarted

Extension Host
Watcher Service
Search Service

Smoke test https://github.com/Microsoft/vscode/wiki/Smoke-Test

[ ] Windows @rzhao271
[ ] Linux @deepak1556
[ ] MacOS @bpasero

Current issues on Windows:

The search service isn't reloading
The smoke tests don't run

It turns out the search service not loading until a search is made is expected behaviour.
Rob points out that extension activation could cause a search to occur, which I confirmed on Insiders: I launched code-insiders with all extensions disabled on an untrusted workspace. Then, I opened the process explorer, and confirmed that searchService wasn't there.

Current progress:
On Mac, sometimes a hang occurs when restarting a workspace. When there are no hangs, the smoke tests pass, too. This is with process reuse enabled on Electron 11. At least there's no more process leaks.
On Windows, Electron 12 needs to be merged in to bring in https://github.com/electron/electron/pull/28175, as described here: https://github.com/microsoft/vscode/issues/120431#issuecomment-816354849. Considering how it should be merged in relatively soon, I'll check whether it's been merged in tomorrow. If it hasn't, I'll just reapply these changes locally on the Electron 12 branch and run the sanity checks from there.

Adding Alex for the changes in extension host.

@alexdima I've adjusted the onWillShutdown() and onDidShutdown() methods within localProcessExtensionHost.ts, because when I put a breakpoint within the then clause within onDidShutdown(), the process crashes. @deepak1556 is already looking into this, but considering how it is a long-running task anyway, I have moved it to onWillShutdown().
I'm also wondering why there was a 10 second setTimeout used though? I'm not sure whether that can cause bugs considering how with process reuse, the workbench PID stays the same, but another extension host is launched.

@alexdima I talked with Deepak about the case where the render process quits unexpectedly, or where the watchdog detects that the extension host is unresponsive. We're thinking that the main process can spawn a watchdog process of sorts, and that process can be used to monitor/kill the extension host in both cases. This way, we don't need the 1-second polling from the extension host, and we don't need the native watchdog to be loaded separately. Thoughts?
As for the case where the workbench is being reloaded, I've been trying a few implementations locally, but it seems that on Mac, unless I explicitly kill the extension host process using this._extensionHostProcess.kill(), the extension host always stays as a zombie process. I've tried adding a this._extensionHostProcess.unref() line right after the fork() call, so that the parent renderer process does not have to wait for the extension host to exit before proceeding with the reload, but that results in a zombie: on the next relaunch, the old extension host shows up in the process explorer as just (Code - OSS Helper), and that process doesn't show up in the Activity Monitor. If I do wait for the extension host to exit using an .on('exit', ...) handler, and by joining this with the onWillShutdown event, the reload now takes much longer (up to 5 seconds longer), due to having to wait for the extension host to cleanly exit, but it doesn't show up as a zombie anymore.

@deepak1556 @rzhao271 @bpasero I've pushed the changes we discussed about:

(1) the renderer process explicitly closes the renderer <-> extension host socket
(2) the extension host listens to the close event on the socket and behaves as if the renderer process asked it to terminate
I have rolled back all the other changes in this area

IMHO these changes (1) and (2) are good and I intend to also push them on main.
That being said, when using "enable-render-process-reuse": true in argv.json and doing a reload, I see that the socket change works fine; the extension host shutdown no longer depends on the renderer process id. In the extension host log, I see an entry e.g. extension host terminating: renderer closed the socket. So the extension host is able to realize that it needs to terminate, to deactivate extensions and exit.
But I'm still seeing what @rzhao271 saw. The extension host process is listed as a zombie process. e.g. in htop:

By looking at the log, I have validated that the extension host process has exited correctly. I'm not very knowledgeable about the inner workings of unix/linux processes, so I found this page helpful -- https://idea.popcount.org/2012-12-11-linux-process-states/
It appears that when the extension host process exits, it enters the zombie state until it is reaped by the parent process or until the parent process also exits. In the past, we never did cp.kill() on the extension host process because the extension host process can by design outlive the renderer process. But the extension host process never ended up in the zombie process, and I think that is because it would become "detached"/"orphaned". Now that the renderer process stays alive after a reload, the kernel expects that the renderer process will reap the extension host process. I think that means it needs to call kill(extHostPid). And right now it doesn't do so and it is not possible for us to add a .kill() call before the reload, because that would defeat the design decision that the extension host process should outlive the renderer process.
So I think that we need to capture the pid of the extension host in the renderer process and communicate that pid to the reloaded renderer process and have the reloaded renderer process call kill(pid) like 10s after launching or something like that. Alternatively, the page at https://idea.popcount.org/2012-12-11-linux-process-states/ seems to describe a lot of ways in which zombie processes can be avoided by doing all kind of signal tricks in C++.
So I suggest three possibilities:

figure out how to capture the pid of the extension host process in the old renderer, as it is shutting down and pass this pid to the new renderer (same process id) and ask the new renderer to call kill(pid) like after 10s or so.
launch a C++ thread that is unrelated to nodejs / v8 from the renderer before it goes down that will call kill(pid) after 10s
do some other C++ trick as described in the link above or maybe there are other ways to reap zombie processes.

@alexdima cool findings. We already have a method to kill a process by going through the main process:
https://github.com/microsoft/vscode/blob/16baed2dd411bb241fb259e67d37c84505cad5c7/src/vs/platform/native/electron-main/nativeHostMainService.ts#L484-L484
Can we not just add a delay option here and let the main process take care of killing the extension host after a while or does it really need to be the renderer process that kills the extension host?

Thanks for the great context @alexdima , to add some pointers from the internals. Whenever we call fork or spawn calls on the child_process module, they all hit the same codepath in libuv where it sets SIGCHLD handler https://github.com/libuv/libuv/blob/v1.x/src/unix/process.c#L431 to reap zombie processes when the child terminates https://github.com/libuv/libuv/blob/v1.x/src/unix/process.c#L75
The problem we are hitting is for whatever reason this SIGCHLD handler is not executed for the extension host that terminates after a timeout from the workbench reload, I am gonna check further on why that is the case.

Can we not just add a delay option here and let the main process take care of killing the extension host after a while or does it really need to be the renderer process that kills the extension host?

@bpasero I don't think main process can help here, even if it sends a kill signal to the child extension host. The extension host will still expect the parent (which is workbench) to do a waitpid call.

So I suggest three possibilities:

Sounds good idea where we still let the parent terminate the child but this would require us to have a handle to the old child process, I don't think we can do it after reload.

Will work but this requires us to deploy another native addon in the renderer, maybe this can be a last resort solution.

Would be to let libuv handle it as it normally should, I will look into this.

Having a detached process model sounds neat, let the extension host manage its lifetime would be useful when we move the host to be parented on other process when we sandbox the workbench. This is worth experimenting.

:+1:
After thinking more about it, as we want to enable renderer sandboxing soon anyways, maybe I can look into moving the extension host spawning to the shared process.

💯 , happy to assist in that endeavour, maybe an architecture similar to how the PTY host is managing terminals in the shared process would work for extension host as well, given we will have 1 per window.

I've rebased the PR.
TODO for myself:

[ ] Confirm whether zombie processes are still created on the Mac.
[ ] See whether terminate still has to be in the form of a promise, and whether we must still wait on it during _onWillShutdown.

I have confirmed that long-lasting zombie process are not created on macOS. Sometimes, a terminal process turns into a zombie, but it is reaped soon after.
However, on macOS, the main process seems to freeze very often, and its CPU usage goes up to around 100%. Moreover, the terminal often doesn't load with process reuse enabled, so I'm wondering whether there is something going on with the main-to-ptyHost communication path.

I would test process reuse with Electron 15 branch, I will push up the branch tomorrow. Electron 15 has far more fixes than 13 that cleans up the old process code path.

on macOS, the main process seems to freeze very often, and its CPU usage goes up to around 100%

Can you take a profile and see where the slowdown is.

Moreover, the terminal often doesn't load with process reuse enabled, so I'm wondering whether there is something going on with the main-to-ptyHost communication path.

Is it slow rendering or no rendering ? There is a know issue with the revive feature impacted by the shared process host https://github.com/microsoft/vscode/issues/133964, profile would be good understand what you are seeing.

I'm unable to repro the slowness issue or the terminal issue now. Considering how I was also seeing issues with the terminal, I think recent changes to the terminal fixed the issue.

Ben reminded me that the flag was not changeable for Electron >=14 anyway.
To me, it makes more sense for the setting to be opt-in for Electron 13 for easier merging + testing. After we're on Electron 15 stable, we can remove the lines having to do with app.allowRendererProcessReuse altogether.
Ref https://github.com/electron/electron/issues/18397


Unable to set the display mode in Toplist

Describe the bug
The class datadog_api_client.v1.model.toplist_widget_definition.ToplistWidgetDefinition does not have a field called "display_mode" or something similar. Without that field, the API is unable set the display mode (absolute vs relative) of a Toplist widget.
To Reproduce
Steps to reproduce the behavior:
Check datadog_api_client.v1.model.toplist_widget_definition.ToplistWidgetDefinition
Expected behavior
There's a "display_mode" field or something similar which allows the caller to set the display mode of the toplist widget.
Screenshots
N/A
Environment and Versions (please complete the following information):
Python 3.11.3 and the datadog-api-client 2.17.0

services, libraries, languages and tools list and versions.

Additional context
Add any other context about the problem here.

Thanks for your patience, fixed in #1733


Missing Dataset

The data folders are empty.

Since the data is confidential, its not updated in the folders