[FEATURE] Adding a paste button on the input fields

Description
I would like to add a paste button, on every fields, which when clicked, will put the recent item in the clipboard to on the field.
This feature will improve the UI of the website.
Screenshots
No response
Additional information
No response

@adity2911 No need .
Please find an another issue from Readme file


Support for custom renet transports

I'm currently trying to get this to work with a couple of custom renet transports I wrote for running a client inside wasm.
After some debugging, I found out that the client systems will only .run_if(client_connected()) where the client_connected() run condition is from renet, that run condition will only return true if the built-in renet client transport is connected and not any custom ones.

Yes, the plugin currently coupled with Netcode transport. It's because renet doesn't export any generic check if client is connected and does not have any labels for its system:
https://github.com/lifescapegame/bevy_replicon/blob/9560d62ad891293ed3f0d33ac2d3b59b4006059e/src/client.rs#L30
I asked the author about it several times. If you working on a custom transport, maybe you could add the necessary API to renet to allow third-party crates to abstract over transport?

We could configure this in the client plugins (default to renet's client_connected()).

If I remember correctly, Renet have client_connected condition for each transport (steam and netcode). I would ask the author to expose is_connected to RenetClient.

I think we need to abstract away the transport plugin.

Yes, that's what I suggesting! I just think that it would be nicer to do it on Renet side.

Maybe a good long-term solution would be adding a transport trait to bevy_replicon that encapsulate the backend API needed.

Yes, this would solve #27. But I still considering it...

I asked the author about it https://github.com/lucaspoffo/renet/pull/97#issuecomment-1643404698, but have no response. If you working on a custom transport, maybe you could add the necessary API to renet to allow third-party crates to abstract over transport?

Possibly yeah, but this seems like a relatively complex thing for a new contributor, but we'll see depending on what you decide to do here.

Opened https://github.com/lucaspoffo/renet/issues/115

Been experimenting more and just swapping out the client_connected calls with resource_exists::<RenetClient>() seems to work, not sure if there are any other side effects though

Depends on how it's used I suppose, but there's also a is_disconnected function on RenetClient

not sure if there are any other side effects though

It's fine, you can use this as a temporary solution :)


Update PrivacyInfo.xcprivacy

Remove Unneeded Key in Privacy Info
Summary: This PR removes an unnecessary key from the privacy information in the app configuration.
Reason: When integrating Kount into the app and submitting it for review in App Store Connect, the app was flagged as an invalid binary, triggering the following warning:

Resolution: After removing the key, the warning no longer appears, and the app functions as expected without any issues.

Hello @bruno-centanaro ! Thank you so much for your suggestion ! The fix is already available in version v4.2.1 of the SDK. If you have any questions, don't feel afraid to reach back to us ! 🙌🏻


Turned out that I had messed up write permission in my log directly. So the file appender
couldn't write to my configured log directory.
My own fault, I know. But I got no warning when I started up the application.
So, I'm proposing a change :)
In LoggingFactory#configure, after the appenders are set up, logback's StatusPrinter#printIfErrorsOccured is called. If any errors has occurred, those are printed to System.out.
I'm not sure if printing to System.out is smart, perhaps we should print to System.err instead? Printing to System.out could interfere with output from other commands.
Example of an error message:
10:51:26,122 |-ERROR in ch.qos.logback.core.FileAppender[file-appender] - openFile(/var/folders/p7/81qg63wn2p14k0kgpk5_wz8m0000gn/T/junit888714839740087763/folder-without-write-permission/my-log-file.log,true) call failed. java.io.FileNotFoundException: /var/folders/p7/81qg63wn2p14k0kgpk5_wz8m0000gn/T/junit888714839740087763/folder-without-write-permission/my-log-file.log (Permission denied)
	at java.io.FileNotFoundException: /var/folders/p7/81qg63wn2p14k0kgpk5_wz8m0000gn/T/junit888714839740087763/folder-without-write-permission/my-log-file.log (Permission denied)
	at 	at java.io.FileOutputStream.open(Native Method)
	at 	at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
	at 	at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:28)
	at 	at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:150)
	at 	at ch.qos.logback.core.FileAppender.start(FileAppender.java:108)
	at 	at io.dropwizard.logging.FileAppenderFactory.build(FileAppenderFactory.java:168)
	at 	at io.dropwizard.logging.LoggingFactory.configure(LoggingFactory.java:126)
	at 	at io.dropwizard.logging.LoggingFactoryPrintErrorMessagesTest.configureAndCaptureSystemOut(LoggingFactoryPrintErrorMessagesTest.java:66)
	at 	at io.dropwizard.logging.LoggingFactoryPrintErrorMessagesTest.testWhenFileAppenderDoesNotHaveWritePermissionToFolder_PrintsErrorMessageToConsole(LoggingFactoryPrintErrorMessagesTest.java:79)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at 	at java.lang.reflect.Method.invoke(Method.java:606)
	[...]

Coverage increased (+1.75%) to 69.27% when pulling 515a71954f375fbe36a62b5fbf2cffe419b5ce37 on eiden:logback-print-error-messages into dbe1fe4f631b0d70f2b346be2aed23112e3c3648 on dropwizard:master.

@eiden, thanks for your contribution!
I find this change very useful and inclined to merge it. It's valuable to have more insight to why an application is not working.
I've reviewed your changes and added some directions where it, in my opinion, could be improved. But, in overall, this PR looks good.

@arteam Thanks for reviewing this! I appreciate the feedback, and I'll address the things you have pointed out

@arteam, I have made some changes to address the issues you pointed out. I've also added a three new tests. Let me know if I should squash the commits.

Coverage increased (+1.9%) to 69.41% when pulling c76e0fe9235f3cfbdb20485696233436a68647cf on eiden:logback-print-error-messages into dbe1fe4f631b0d70f2b346be2aed23112e3c3648 on dropwizard:master.

Looks great. Thanks.

Thanks, @eiden! Very good and thorough contribution.


onWebSocketConnect, macOS Monterey

Hi,
I am experiencing issues with workerman, it seems that clients with the latest version of macOs don't trigger onWebSocketConnect.
I am authenticating the user in onWebSocketConnect with cookies, which are assigned in the apache web app.
<?php

use Workerman\Worker;

require_once __DIR__ . '/vendor/autoload.php';

$file = fopen("/path/to/log", "a");

$GLOBALS['connectionsID'] = array();

$context = [
	'ssl' => [
		'local_cert' => __DIR__ . '/cert/cert.pem',
		'local_pk' => __DIR__ . '/cert/key.pem',
		'verify_peer' => false
	]
];

$websocket = new Worker('websocket://<IP_ADDRESS>:8080', $context);
$websocket->transport = 'ssl';

$websocket->onWebSocketConnect = function ($connection) use ($file) {

	global $connectionsID;

	$connectionsID[] = $connection->id;

	fwrite($file, date("Y-m-d H:i:s") . " New connection on " . $connection->getRemoteIp() . " (" . $connection->id . ")" . PHP_EOL);

};

$websocket->onMessage = function ($connection, $data) use ($websocket) {

	global $connectionsID;

	if (!in_array($connection->id, $connectionsID)) $connection->destroy();
};

$websocket->onClose = function ($connection) use ($file) {

	global $connectionsID;

	unset($connectionsID[array_search($connection->id, $connectionsID)]);

	fwrite($file, date("Y-m-d H:i:s") . " Connection closed on " . $connection->getRemoteIp() . " (" . $connection->id . ")" . PHP_EOL);

	}
};

Worker::runAll();

This is my log file:
2022-06-20 16:06:27 New connection on [ip_address] (1)
2022-06-20 16:06:31 Connection closed on [ip_address] (1)
2022-06-20 16:10:59 New connection on [ip_address] (2)
2022-06-20 16:10:59 New connection on [ip_address] (3)
2022-06-20 16:11:02 Connection closed on [ip_address] (2)
2022-06-20 16:11:28 Connection closed on [ip_address] (3)
//macOS Monterey client:
2022-06-20 16:17:43 Connection closed on [ip_address] (4)
2022-06-20 16:18:09 Connection closed on [ip_address] (5)
2022-06-20 16:18:21 Connection closed on [ip_address] (7)

Only the connection closed message appears in my logs, if I replace onWebSocketConnect with onConnect the macOS clients can connect to the websocket but I cannot find a way to read the cookies set in the apache web app
Any idea what i am doing wrong ? Feel free to ask for more details if it not clear !
Thanks in advance

It's strange that the code looks ok.


[MRG] Notebook on hyperparameter optimisation

My attempt at #102

#113 should be merged first, so that I can remove these ugly casts in the objective function.

Rebased and cleaned up, since #113 is merged.

Awesome!

Whoops, should we set n_start=1 and the compare the performance? The first n_start iterations really don't tell us anything right?

/me is confused.com

I get this when I do that.

I'm a bit confused what we are discussing, my guess is that this is about setting the starting point to be the same for all of them?
I think we should do something similar to #103 by running the minimisation many times, and highlighting the average performance.
If we stick with n_start=10 we should try and find an example where you are unlikely to reach the "optimum" in around ten steps. Or we reduce n_start but that makes life harder for the models as they have nothing to fit to -> they are returning more or less random samples.
(New issue or should we keep discussing here?)

+1 for showing something to what you did in the other notebook. Otherwise, methods may still be better than others only by chance.


[Feature Request] export from explore view

Was a user I would like the ability to export table data that is the result of my explore query.

@parkesy you can already download a csv file of your data and save the query as a dashboard cell. Could you describe what you mean by "Export table data"?


[backport] Add Trainer tutorial

Backport of #2620

@niboshi Could you resolve this doctest error?
22:07:16 File "tutorial/trainer.rst", line 43, in default (setup code)
22:07:16 Failed example:
22:07:16     from chainer.datasets import mnist
22:07:16
22:07:16     train, test = mnist.get_mnist()
22:07:16 Expected nothing
22:07:16 Got:
22:07:16     Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...
22:07:16     Downloading from http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz...
22:07:16     Downloading from http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz...
22:07:16     Downloading from http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz...

Yes, this issue has been fixed in #3810.
I'll make a backport of that PR as soon as this PR is merged.


Allowing to use Memory in Pipeline

Currently fails docsig. Assumingly, this is a docsig error, as this only occurs for 0.59.0. See this issue.


Move from freenode to libera.chat

Made a PR instead of committing directly so someone more authoritative can pull the trigger when we decide the time is right, as the Whateverable bots (and probably some other things and people) aren't yet migrated at the time of this writing

Happy to help. Agreed, freenode did seem to be far more prolifically embedded in our docs and website than I expected.
If this move happens, yes it would be safe to assume it's permanent. I emphasize "if" because I am currently unaware of an official decision to move the Raku IRC channels. However, every mention I've seen of it in our community seems to point in that direction, and many people including several core developers are already on libre.chat and have established our channels there. From the discussions I've seen both in and outside of the Raku community, the move seemed likely enough to be worth getting this part of the work out of the way in advance. I'll update this PR and Raku/raku.org#164 if we decide to move elsewhere.

Hmmm... isn't a merge a bit premature ?   My approval did not mean: do it now  :-)

@JJ We should turn this live ASAP. The move is official, and freenode's new staff has forcibly seized control of our channels and disposed of them. See https://www.reddit.com/r/rakulang/comments/nlbt0r/freenode_staff_has_nuked_the_raku_channels/ and https://news.ycombinator.com/item?id=27286628

Already deployed

My mistake, I apparently still had an old version in my browser cache. Thanks!


Converting fails with this scratch project

mc10-gen1.sb3.zip
Extract this zip file and you will get an sb3 project. When I try to convert it with sb2gs, it produces the following error
$ python sb2gs mc10-gen1.sb3 mc10
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/__main__.py", line 33, in <module>
    main()
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/__main__.py", line 30, in main
    Builder(input, output)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/builder.py", line 22, in __init__
    self.build_project(json.load(sb3.open("project.json")))
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/builder.py", line 31, in build_project
    self.build_sprite(sprite)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/builder.py", line 44, in build_sprite
    CodeGen(out, sprite, self.globals, self.listglobals)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/codegen.py", line 64, in __init__
    self.block(block)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/codegen.py", line 159, in block
    self.control_forever(o)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/codegen.py", line 315, in control_forever
    self.block(self.blocks[o["inputs"]["SUBSTACK"][1]])
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/codegen.py", line 151, in block
    self.control_if(o)
  File "/home/mrmayman/Documents/Programs/sb2gs-main/sb2gs/codegen.py", line 291, in control_if
    self.input(o["inputs"]["CONDITION"])
KeyError: 'CONDITION'

When i check the converted folder (mc10), the assets are there, and gs files are there. But when I open the gs file with a text editor it looks like it was cut off halfway

Not sure if I'm being dumb here. I understand this is a very hard thing to code (i myself made something like sb2gs but gave up). Hope you are able to solve this!

I understand this is a very hard thing to code
It's not, really. The way this works is actually quite simple, you traverse the Abstract Syntax Tree from top to bottom and generate text depending on what the nodes are.

The reason it cuts half way is because that is the location where the error occured. While traversing the AST generated code is instantly written into the output files.
The reason this error is occuring is because you have a IF block which does not have a condition inside it. When I wrote the code, I did not account for this so just add a NOT block as the condition.

Wow that worked. Thank you so much for the help!


Writing to a BAM file with adamSAMSave consistently fails

I'm running this code on a yarn cluster. It's trying to filter a BAM file to just those alignments which are either on chr22 or have a mate on chr22.
override def run(args: Arguments, sc: SparkContext): Unit = {
  val filterContig = args.filterContig
  val alignments = sc.loadAlignments(args.reads)
  val matchingAlignments = alignments.filter(matchesContig(_, filterContig))
  matchingAlignments.persist()
  println("Found " + matchingAlignments.count() + " alignments with   one pair in " + filterContig)
  matchingAlignments.coalesce(10).adamSAMSave(args.outputPath, asSam = false)
}

I'm consistently getting this error:

Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 5 in stage 5.0 failed 4 times, most recent failure: Lost task 5.3 in stage 5.0 (TID 706, demeter-csmaz08-10.demeter.hpc.mssm.edu): java.lang.AssertionError: assertion failed: Cannot return header if not attached.

My command line is this:

spark-submit --master yarn --deploy-mode client --executor-memory 16g --driver-memory 10g --num-executors 1000 --executor-cores 1 --driver-java-options "-Dyarn.resourcemanager.am.max-attempts=1 -Dlog4j.configuration=scripts/log4j.properties" --class org.hammerlab.guacamole.Guacamole --verbose target/guacamole-with-dependencies-0.0.1-SNAPSHOT.jar structural-variant --reads hdfs:///datasets/dream/data/synthetic-challenge-4/synthetic.challenge.set4.tumour.bam --filter-contig 22 --out hdfs:///user/vanded03/synth4.tumor.chr22+mate.bam

(the input is from the dream challenge)
Would this be expected to work? cc @ryan-williams

I was seeing the same issue in #676 - which was apparently fixed, but I haven't checked since.

@arahuja I believe that issue was specifically when you used .coalesce(1). I ran out of memory when I tried that, so I'm using .coalesce(10) and running into this issue.

Closing as a ~dupe of #676


Added the ability to specify delivery-options for the offer

Hi, I added the ability to specify a delivery options for all types of offers.
Also added a new test and DTD for it

Codecov Report

Merging #28 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##             master     #28      +/-   ##
===========================================
+ Coverage     99.59%   99.6%   +<.01%
- Complexity      267     271       +4
===========================================
  Files            19      19
  Lines           741     751      +10
===========================================
+ Hits            738     748      +10
  Misses            3       3

Impacted Files
Coverage Δ
Complexity Δ

src/Generator.php
100% <100%> (ø)
51 <2> (+2)
:arrow_up:

src/Model/Offer/AbstractOffer.php
98.37% <100%> (+0.04%)
67 <2> (+2)
:arrow_up:

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 abb6bd1...5815732. Read the comment docs.

Finally, corrected it

Added new tag https://github.com/Bukashk0zzz/YmlGenerator/releases/tag/v1.10.0
In few minutes it will come to composer.


DBZ-78 add Debezium auto-creation topics configuration documentation

Debezium Configuration docs for https://issues.redhat.com/browse/DBZ-78

I just opened this PR for review and merge, but I need to build the docs and test them now prior merging.

Looks good  in community view. Do I have to test downstream documentation? If so, how?
Do we need CRD connector config for the last paragraph for downstream or is that JSON sufficient?

Here's the FUSEDOC Jira that I created to update this upstream doc, and add what's needed downstream:
https://issues.redhat.com/browse/FUSEDOC-4157
The fix version for this FUSEDOC Jira is Integration-2020-Q4.
I'm afraid I don't understand enough to suggest any updates now, but since we don't yet need updates for downstream, this should not hold up this PR.

@gunnarmorling I added the fallback behavior and default value description based on last night's twitter. ;)

@TovaCohen https://github.com/TovaCohen already created
https://issues.redhat.com/browse/FUSEDOC-4157 to handle adding and styling
of that docs section. It's also already annotated for the downstream module
handling.

Yepp, excellent. Thx!


Change scopes to scope

@yoav-zibin thanks mate!

note
https://developers.facebook.com/docs/reference/javascript/FB.login/v2.4


growl icon on installer is the wrong size

due to a bug in dmgcanvas, specific icon sizes do not save.

outdated


Add child page from userbar, as discussed in #694

Add child page from userbar, as discussed in #694

Hi @edrex, thanks for the changes. @kaedroho to review.

Thanks @edrex these changes look good to me and work well! :+1:

Merged in https://github.com/torchbox/wagtail/commit/c87802b68b435a8148d04e9fd0182b37c59cfd97


Spurious Github CI failures

We currently have the following issues (by order of importance):

[ ] Upload artifact is flakey

With the provided path, there will be 3 files uploaded
##[error]Unexpected response. Unable to upload chunk to https://pipelines.actions.githubusercontent.com/MUoCmBraMGvuydBy2QSX4O2kd4sh1jTcSs7vONus9MTVwAzxOj/_apis/resources/Containers/3738052?itemPath=agora-ubuntu-18.04%2Fagora
##### Begin Diagnostic HTTP information #####
Status Code: 500
Status Message: Internal Server Error
Header Information: {
  "cache-control": "no-store,no-cache",
  "pragma": "no-cache",
  "content-length": "334",
  "content-type": "application/json; charset=utf-8",
  "strict-transport-security": "max-age=2592000",
  "x-tfs-processid": "caa3baa2-6457-4909-a668-a007a2a68b56",
  "activityid": "244ff228-9195-4c3e-845c-db6b8641a893",
  "x-tfs-session": "244ff228-9195-4c3e-845c-db6b8641a893",
  "x-vss-e2eid": "244ff228-9195-4c3e-845c-db6b8641a893",
  "x-vss-senderdeploymentid": "193695a0-0dcd-ade4-f810-b10ad24a9829",
  "x-frame-options": "SAMEORIGIN",
  "x-msedge-ref": "Ref A: 9D0FDC19917D471C9F834A3B484F0573 Ref B: BN3EDGE0607 Ref C: 2020-05-27T08:43:55Z",
  "date": "Wed, 27 May 2020 08:43:55 GMT"
}
###### End Diagnostic HTTP information ######
##[warning]Aborting upload for /home/runner/work/agora/agora/build/agora due to failure
##[error]aborting artifact upload
Total size of all the files uploaded is 23994240 bytes
Finished uploading artifact agora-ubuntu-18.04. Reported size is 23994240 bytes. There were 1 items that failed to upload
##[error]An error was encountered when uploading agora-ubuntu-18.04. There were 1 items that failed to upload.

[ ] There is a random failure on build.d

+ dub test -b unittest-cov --skip-registry=all --compiler=ldc2
Executable configuration "unittest" of package agora defines no main source file, this may cause certain build modes to fail. Add an explicit "mainSourceFile" to the package description to fix this.
Running custom 'unittest' configuration.
Running pre-generate commands for vibe-d:tls...
Running pre-generate commands for agora...
Failed to execute program (No such file or directory)
Command failed with exit code 2: /Users/runner/hostedtoolcache/dc/ldc2-1.20.1/x64/ldc2-1.20.1-osx-x86_64/bin/dub source/scpp/build.d
##[error]Process completed with exit code 2.

This is the weirdest one. It might be triggered by some isolation failure, but I have really no clue as to what happens. I believe it started after some Github runner update.

[x] There is a race condition on start:

Linking...
Running ./build/agora-unittests
#### INTERNAL ERROR: Trying to access node at address 'Validator #2 (GC25...3DZO)' without first creating it
This node was started at source/agora/test/Base.d:377
Please file a bug at https://github.com/Geod24/localrest/
Full error: core.exception.AssertError@source/agora/test/Base.d(533): Trying to access node at address 'Validator #2 (GC25...3DZO)' without first creating it
----------------
??:? _d_assert_msg [0x10ff504e6]
/Users/runner/runners/2.262.1/work/agora/agora/source/agora/test/Base.d:533 agora.api.Validator.API agora.test.Base.TestNetworkManager.getClient(immutable(char)[], core.time.Duration) [0x10f5b98f5]
/Users/runner/runners/2.262.1/work/agora/agora/source/agora/network/NetworkManager.d:379 void agora.network.NetworkManager.NetworkManager.tryConnecting(immutable(char)[], bool) [0x10f60d192]
/Users/runner/runners/2.262.1/work/agora/agora/source/agora/network/NetworkManager.d:514 void agora.network.NetworkManager.NetworkManager.connectNextAddresses().__lambda1() [0x10f60e7d4]
/Users/runner/hostedtoolcache/dc/ldc2-1.21.0/x64/ldc2-1.21.0-osx-x86_64/bin/../import/std/regex/internal/thompson.d:906 void geod24.concurrency.FiberScheduler.create(void delegate()).wrap() [0x10faf879f]
??:? fiber_entryPoint [0x10ff57f98]
Error: clean-up of Database incorrectly depends on destructors called by the GC.
Info: :memory:
core.exception.InvalidMemoryOperationError@core/exception.d(647): Invalid memory operation
----------------
Program exited with code 1
##[error]Process completed with exit code 2.

^ This one should be fixed since #881

Looks like the race condition on start is still here. Just got this in #896 which is based on v0.x.x:
Linking...
Running ./build/agora-unittests
Error: clean-up of Database incorrectly depends on destructors called by the GC.
#### INTERNAL ERROR: Trying to access node at address 'FullNode #0' without first creating it
This node was started at source/agora/test/Base.d:378
Please file a bug at https://github.com/Geod24/localrest/
Full error: core.exception.AssertError@source/agora/test/Base.d(534): Trying to access node at address 'FullNode #0' without first creating it
----------------
??:? [0x55cb3ad05295]
??:? [0x55cb3ad2a766]
??:? [0x55cb3ad1105d]
??:? [0x55cb3ad04e49]
/home/runner/work/agora/agora/source/agora/test/Base.d:534 [0x55cb3a77963f]
/home/runner/work/agora/agora/source/agora/network/NetworkManager.d:379 [0x55cb3a7c12b7]
/home/runner/work/agora/agora/source/agora/network/NetworkManager.d:514 [0x55cb3a7c2925]
concurrency.d:933 [0x55cb3aba75b0]
??:? [0x55cb3ad063ef]
Info: :memory:
core.exception.InvalidMemoryOperationError@core/exception.d(647): Invalid memory operation
----------------
Program exited with code 1
##[error]Process completed with exit code 2.

Workaround for the artifact upload: https://github.com/bpfkorea/agora/pull/898

#899 also fixed a spurious issue introduced last week. More on #900.

Looks like the race condition on start is still here. Just got this in #896 which is based on v0.x.x:

That's also the reason I said we need wait for the constructor to finish. withTimeout just fixes the timeout on start, but it doesn't fix the problem where start is called too quickly before the node ctor finishes.

There is now an infinite loop  which is triggering a tad too often. In addition to that, there is a bug with restart which needs a fix in Localrest (working on it).

This is an occasional one too:
Running ./build/agora-unittests
0   agora-unittests                     0x00000001098a1ace _D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUNbiPSQCk3sys5posix6signal9siginfo_tPvZv + 62
1   libsystem_platform.dylib            0x00007fff67ccf5fd _sigtramp + 29
Program exited with code -11

But the stack trace here is of no use.

But the stack trace here is of no use.

I accidentally reproduced this issue manually. If I send a SIGSEGV to the unittest binary while its running, this stack trace will be printed out. But the application won't crash! It will just continue running along..

I finally managed to attach a debugger to the stalled unittest process, here's the backtrace for all the threads, with whitespace for clarity:
2020-07-14T11:33:26.4497489Z Attaching to process 7447
2020-07-14T11:33:26.4498034Z [New LWP 7448]
2020-07-14T11:33:26.4498580Z [New LWP 7457]
2020-07-14T11:33:26.4499076Z [New LWP 7458]
2020-07-14T11:33:26.4499600Z [New LWP 7459]
2020-07-14T11:33:27.3469394Z [Thread debugging using libthread_db enabled]
2020-07-14T11:33:27.3470710Z Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
2020-07-14T11:33:27.6343737Z 88 ../sysdeps/unix/sysv/linux/futex-internal.h: No such file or directory.
2020-07-14T11:33:27.6344112Z 0x00007fc55c09f9f3 in futex_wait_cancelable (private=<optimized out>,
2020-07-14T11:33:27.6344377Z     expected=0, futex_word=0x7fc55dcc6ca0)
2020-07-14T11:33:27.6344926Z     at ../sysdeps/unix/sysv/linux/futex-internal.h:88
2020-07-14T11:33:27.7537863Z

2020-07-14T11:33:27.7538811Z Thread 5 (Thread 0x7fc42c6eb700 (LWP 7459)):
2020-07-14T11:33:27.7540453Z #0  0x00007fc55c09fed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7fc410ffcc20, expected=0, futex_word=0x7fc5584f3dc0) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
2020-07-14T11:33:27.7541501Z #1  __pthread_cond_wait_common (abstime=0x7fc410ffcce8, mutex=0x7fc5584f3d38, cond=0x7fc5584f3d98) at pthread_cond_wait.c:533
2020-07-14T11:33:27.7547770Z #2  __pthread_cond_timedwait (cond=0x7fc5584f3d98, mutex=0x7fc5584f3d38, abstime=0x7fc410ffcce8) at pthread_cond_wait.c:667
2020-07-14T11:33:27.7548725Z #3  0x0000555efa82bea5 in _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb ()
2020-07-14T11:33:28.1197495Z #4  0x0000555efa28c39a in _D6geod2411concurrency10MessageBox__T3getTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQGuMFS4core4time8DurationMQHpMQFcMQEdMQDdMQCmZb (this=0x7fc5584f3cc0, period=..., _param_1=..., _param_2=..., _param_3=..., _param_4=..., _param_5=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:1137
2020-07-14T11:33:28.1201474Z #5  0x0000555efa28adec in _D6geod2411concurrency__T14receiveTimeoutTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQHgFSQIiQIe3TidS4core4time8DurationQHyQFkQEkQDjQCrZb (self=..., duration=..., _param_2=..., _param_3=..., _param_4=..., _param_5=..., _param_6=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:711
2020-07-14T11:33:28.1201820Z #6  0x0000555efa28ac61 in _D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg__T7spawnedTCQCkQChQCf17TestValidatorNodeZQBnFNbSQFa11concurrency3TidAyaiSQEt6common6ConfigQhPOSQGv8RegistryQjAySQGg9consensus4data5BlockQgZ7runNodeMFZ9__lambda1MFZv () at /home/runner/work/agora/agora/submodules/localrest/source/geod24/LocalRest.d:600
2020-07-14T11:33:28.1260722Z #7  0x0000555efa6ce631 in geod24.concurrency.FiberScheduler.create(void() delegate).wrap() () at concurrency.d:916
2020-07-14T11:33:28.1265471Z #8  0x0000555efa82c610 in fiber_entryPoint ()
2020-07-14T11:33:28.1278701Z #9  0x0000000000000000 in ?? ()
2020-07-14T11:33:28.1284644Z

2020-07-14T11:33:28.1284807Z Thread 4 (Thread 0x7fc42ceec700 (LWP 7458)):
2020-07-14T11:33:28.1285762Z #0  0x00007fc55c09fed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7fc425ee5c20, expected=0, futex_word=0x7fc5584f3ca0) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
2020-07-14T11:33:28.1286833Z #1  __pthread_cond_wait_common (abstime=0x7fc425ee5ce8, mutex=0x7fc5584f3c18, cond=0x7fc5584f3c78) at pthread_cond_wait.c:533
2020-07-14T11:33:28.1294421Z #2  __pthread_cond_timedwait (cond=0x7fc5584f3c78, mutex=0x7fc5584f3c18, abstime=0x7fc425ee5ce8) at pthread_cond_wait.c:667
2020-07-14T11:33:28.1295877Z #3  0x0000555efa82bea5 in _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb ()
2020-07-14T11:33:28.1305832Z #4  0x0000555efa28c39a in _D6geod2411concurrency10MessageBox__T3getTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQGuMFS4core4time8DurationMQHpMQFcMQEdMQDdMQCmZb (this=0x7fc5584f3ba0, period=..., _param_1=..., _param_2=..., _param_3=..., _param_4=..., _param_5=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:1137
2020-07-14T11:33:28.1312777Z #5  0x0000555efa28adec in _D6geod2411concurrency__T14receiveTimeoutTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQHgFSQIiQIe3TidS4core4time8DurationQHyQFkQEkQDjQCrZb (self=..., duration=..., _param_2=..., _param_3=..., _param_4=..., _param_5=..., _param_6=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:711
2020-07-14T11:33:28.1313622Z #6  0x0000555efa28ac61 in _D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg__T7spawnedTCQCkQChQCf17TestValidatorNodeZQBnFNbSQFa11concurrency3TidAyaiSQEt6common6ConfigQhPOSQGv8RegistryQjAySQGg9consensus4data5BlockQgZ7runNodeMFZ9__lambda1MFZv () at /home/runner/work/agora/agora/submodules/localrest/source/geod24/LocalRest.d:600
2020-07-14T11:33:28.1314275Z #7  0x0000555efa6ce631 in geod24.concurrency.FiberScheduler.create(void() delegate).wrap() () at concurrency.d:916
2020-07-14T11:33:28.1319509Z #8  0x0000555efa82c610 in fiber_entryPoint ()
2020-07-14T11:33:28.1324726Z #9  0x0000000000000000 in ?? ()
2020-07-14T11:33:28.1331019Z

2020-07-14T11:33:28.1331167Z Thread 3 (Thread 0x7fc44dd0c700 (LWP 7457)):
2020-07-14T11:33:28.1331792Z #0  0x00007fc55c09fed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7fc41ffffc20, expected=0, futex_word=0x7fc5584f3b80) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
2020-07-14T11:33:28.1333935Z #1  __pthread_cond_wait_common (abstime=0x7fc41ffffce8, mutex=0x7fc5584f3af8, cond=0x7fc5584f3b58) at pthread_cond_wait.c:533
2020-07-14T11:33:28.1343132Z #2  __pthread_cond_timedwait (cond=0x7fc5584f3b58, mutex=0x7fc5584f3af8, abstime=0x7fc41ffffce8) at pthread_cond_wait.c:667
2020-07-14T11:33:28.1344418Z #3  0x0000555efa82bea5 in _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb ()
2020-07-14T11:33:28.1352827Z #4  0x0000555efa28c39a in _D6geod2411concurrency10MessageBox__T3getTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQGuMFS4core4time8DurationMQHpMQFcMQEdMQDdMQCmZb (this=0x7fc5584f3a80, period=..., _param_1=..., _param_2=..., _param_3=..., _param_4=..., _param_5=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:1137
2020-07-14T11:33:28.1357586Z #5  0x0000555efa28adec in _D6geod2411concurrency__T14receiveTimeoutTDFSQBr9LocalRest__T15ShutdownCommandTC5agora4test4Base7TestAPIZQBsZvTDFNbNfSQEmQCv11TimeCommandZvTDFNaNbNiNfSQFtQEc9FilterAPIZvTDFSQGpQEy8ResponseZvTDFNbSQHmQFv7CommandZvZQHgFSQIiQIe3TidS4core4time8DurationQHyQFkQEkQDjQCrZb (self=..., duration=..., _param_2=..., _param_3=..., _param_4=..., _param_5=..., _param_6=...) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:711
2020-07-14T11:33:28.1358355Z #6  0x0000555efa28ac61 in _D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg__T7spawnedTCQCkQChQCf17TestValidatorNodeZQBnFNbSQFa11concurrency3TidAyaiSQEt6common6ConfigQhPOSQGv8RegistryQjAySQGg9consensus4data5BlockQgZ7runNodeMFZ9__lambda1MFZv () at /home/runner/work/agora/agora/submodules/localrest/source/geod24/LocalRest.d:600
2020-07-14T11:33:28.1358602Z #7  0x0000555efa6ce631 in geod24.concurrency.FiberScheduler.create(void() delegate).wrap() () at concurrency.d:916
2020-07-14T11:33:28.1364501Z #8  0x0000555efa82c610 in fiber_entryPoint ()
2020-07-14T11:33:28.1369625Z #9  0x0000000000000000 in ?? ()
2020-07-14T11:33:28.1375920Z

2020-07-14T11:33:28.1376066Z Thread 2 (Thread 0x7fc55b2ea700 (LWP 7448)):
2020-07-14T11:33:28.1376648Z #0  0x00007fc55c09fed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7fc032c56d90, expected=0, futex_word=0x7fc55dccfe84) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
2020-07-14T11:33:28.1378516Z #1  __pthread_cond_wait_common (abstime=0x7fc032c56e58, mutex=0x7fc55dccfdf8, cond=0x7fc55dccfe58) at pthread_cond_wait.c:533
2020-07-14T11:33:28.1388158Z #2  __pthread_cond_timedwait (cond=0x7fc55dccfe58, mutex=0x7fc55dccfdf8, abstime=0x7fc032c56e58) at pthread_cond_wait.c:667
2020-07-14T11:33:28.1389180Z #3  0x0000555efa82bea5 in _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb ()
2020-07-14T11:33:28.1395537Z #4  0x0000555efa295694 in _D6geod2411concurrency10MessageBox__T3getTPFNbSQBt9LocalRest8ResponseZvZQBjMFS4core4time8DurationMQCeZb (this=0x7fc55dccfd80, period=..., _param_1=0x555efa27e0c0 <_D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg5startMFNfZ9__lambda2MFNeZ9__lambda1MFZQnFNbSQEwQEs8ResponseZv>) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:1137
2020-07-14T11:33:28.1398415Z #5  0x0000555efa27e085 in _D6geod2411concurrency__T14receiveTimeoutTPFNbSQBt9LocalRest8ResponseZvZQBvFSQCxQCt3TidS4core4time8DurationQCnZb (self=..., duration=..., _param_2=0x555efa27e0c0 <_D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg5startMFNfZ9__lambda2MFNeZ9__lambda1MFZQnFNbSQEwQEs8ResponseZv>) at /home/runner/work/agora/agora/submodules/localrest/source/geod24/concurrency.d:711
2020-07-14T11:33:28.1399739Z #6  0x0000555efa27e038 in _D6geod249LocalRest__T9RemoteAPITC5agora4test4Base7TestAPITSQBaQxQu10SerializerZQCg5startMFNfZ9__lambda2MFNeZ9__lambda1MFZv () at /home/runner/work/agora/agora/submodules/localrest/source/geod24/LocalRest.d-mixin-914:946
2020-07-14T11:33:28.1400243Z #7  0x0000555efa6ce631 in geod24.concurrency.FiberScheduler.create(void() delegate).wrap() () at concurrency.d:916
2020-07-14T11:33:28.1404105Z #8  0x0000555efa82c610 in fiber_entryPoint ()
2020-07-14T11:33:28.1409446Z #9  0x0000000000000000 in ?? ()
2020-07-14T11:33:28.1414506Z

2020-07-14T11:33:28.1414660Z Thread 1 (Thread 0x7fc55dd8e740 (LWP 7447)):
2020-07-14T11:33:28.1415153Z #0  0x00007fc55c09f9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fc55dcc6ca0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
2020-07-14T11:33:28.1417448Z #1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7fc55dcc6bb8, cond=0x7fc55dcc6c78) at pthread_cond_wait.c:502
2020-07-14T11:33:28.1425111Z #2  __pthread_cond_wait (cond=0x7fc55dcc6c78, mutex=0x7fc55dcc6bb8) at pthread_cond_wait.c:655
2020-07-14T11:33:28.1426725Z #3  0x0000555efa82bdd0 in core.sync.condition.Condition.wait() ()
2020-07-14T11:33:28.1431103Z #4  0x0000555efa81921a in _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv10yieldForceMFNcNdNeZv ()
2020-07-14T11:33:28.1437684Z #5  0x0000555efa818f78 in _D3std11parallelism16submitAndExecuteFCQBlQBk8TaskPoolMDFZvZv ()
2020-07-14T11:33:28.1442414Z #6  0x0000555efa273f63 in _D3std11parallelism__T15ParallelForeachTAS5agora4test4Base22customModuleUnitTesterFZ7ModTestZQCt7opApplyMFMDFKQCrZiZi (this=0x7fc55dcba080, dg=...) at /opt/hostedtoolcache/dc/ldc2-1.21.0/x64/ldc2-1.21.0-linux-x86_64/bin/../import/std/parallelism.d:4097
2020-07-14T11:33:28.1442910Z #7  0x0000555efa272a23 in agora.test.Base.customModuleUnitTester() () at /home/runner/work/agora/agora/source/agora/test/Base.d:198
2020-07-14T11:33:28.1446575Z #8  0x0000555efa82b631 in runModuleUnitTests ()
2020-07-14T11:33:28.1450872Z #9  0x0000555efa836f1b in _D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv ()
2020-07-14T11:33:28.1454951Z #10 0x0000555efa836e43 in _d_run_main2 ()
2020-07-14T11:33:28.1458961Z #11 0x0000555efa836c9e in _d_run_main ()
2020-07-14T11:33:28.1479970Z #12 0x0000555efa29d215 in main (argc=1, argv=0x7fff91418348) at /opt/hostedtoolcache/dc/ldc2-1.21.0/x64/ldc2-1.21.0-linux-x86_64/bin/../import/core/internal/entrypoint.d:42
2020-07-14T11:33:28.1488971Z #13 0x00007fc55b70cb97 in __libc_start_main (main=0x555efa29d1f0 <main>, argc=1, argv=0x7fff91418348, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff91418338) at ../csu/libc-start.c:310
2020-07-14T11:33:28.1489802Z #14 0x0000555efa1465ea in _start ()

There seem to be 5 threads active, which makes sense. The main thread and the usual 4 node threads.
Full log:
https://gist.github.com/AndrejMitrovic/56526b73b56f709c44336a9a35a160e0
I think the next step would be to try to generate a core dump.

I'm running into another issue, uploading the build artifacts is too slow. The core dump is 3.1GB. I don't quite understand why it's so slow to upload files. Maybe we could try another solution and scp the files somewhere else..

There seem to be 5 threads active, which makes sense. The main thread and the usual 4 node threads.

Not quite. Our default is 6 nodes now. Additionally, since the unittest runner uses parallel, there are multiple threads that runs the unittest block.

Not quite. Our default is 6 nodes now.

No it's not. https://github.com/bpfkorea/agora/blob/155675af635a0b3d0faa2c523be120e67e7f35e5/source/agora/test/Base.d#L848

Additionally, since the unittest runner uses parallel, there are multiple threads that runs the unittest block.

Yes I know, I assumed it's just one set of threads which are waiting for each other.

It seems the slow upload is a known issue: https://github.com/actions/upload-artifact/issues/88
I'll just try to increase the timeout for now.

Ah I found more useful stuff: https://github.com/microsoft/azure-pipelines-agent/issues/1480#issuecomment-377085899

I'm almost there. I had a core dump but was missing the binary. Should be able to get it soon.

Struggling a bit with Microsoft's Azure reliability now.
Uploading /cores/core.2585 (99.8%)
Total file count: 2 ---- Processed file #1 (50.0%)
Total file count: 2 ---- Processed file #1 (50.0%)
Total file count: 2 ---- Processed file #1 (50.0%)
##[error]Unexpected response. Unable to upload chunk to https://pipelines.actions.githubusercontent.com/MUoCmBraMGvuydBy2QSX4O2kd4sh1jTcSs7vONus9MTVwAzxOj/_apis/resources/Containers/4999393?itemPath=agora-artifact%2Fcores%2Fcore.2585
##### Begin Diagnostic HTTP information #####
Status Code: 500
Status Message: Internal Server Error
Header Information: {
  "cache-control": "no-store,no-cache",
  "pragma": "no-cache",
  "content-length": "328",
  "content-type": "application/json; charset=utf-8",
  "strict-transport-security": "max-age=2592000",
  "x-tfs-processid": "de51143a-3fa7-4a3b-b341-a50149424181",
  "activityid": "a20ac6e5-3e2a-416c-be03-aa7fe8a68758",
  "x-tfs-session": "a20ac6e5-3e2a-416c-be03-aa7fe8a68758",
  "x-vss-e2eid": "a20ac6e5-3e2a-416c-be03-aa7fe8a68758",
  "x-vss-senderdeploymentid": "193695a0-0dcd-ade4-f810-b10ad24a9829",
  "x-frame-options": "SAMEORIGIN",
  "x-msedge-ref": "Ref A: 89B7BCBD0B444B2A861704C12FC15944 Ref B: ATAEDGE0912 Ref C: 2020-07-15T06:55:25Z",
  "date": "Wed, 15 Jul 2020 06:55:55 GMT"
}
###### End Diagnostic HTTP information ######
##[warning]Aborting upload for /cores/core.2585 due to failure
##[error]aborting artifact upload
Total size of all the files uploaded is 816329333 bytes
Finished uploading artifact agora-artifact. Reported size is 816329333 bytes. There were 1 items that failed to upload
##[error]An error was encountered when uploading agora-artifact. There were 1 items that failed to upload.

I have the core dump and the binary of the infinite loop / wait problem:
https://drive.google.com/file/d/1n7Gr37juqORyoVMDKSLh5j8vlHddemgW/view?usp=sharing

sudo lldb ./build/agora-unittests -c ./cores/core.2957

All of the threads seem to be stuck waiting (bt all), and it also seems there is a shutdown command that was being issued.

Ah the shutdown command was me misreading the mangled name. It was actually:
bool geod24.concurrency.MessageBox.get!(void delegate(geod24.LocalRest.ShutdownCommand!(agora.test.Base.TestAPI).ShutdownCommand), void delegate(geod24.LocalRest.TimeCommand) nothrow @safe, void delegate(geod24.LocalRest.FilterAPI) pure nothrow @nogc @safe, void delegate(geod24.LocalRest.Response), void delegate(geod24.LocalRest.Command) nothrow).get(core.time.Duration, void delegate(geod24.LocalRest.ShutdownCommand!(agora.test.Base.TestAPI).ShutdownCommand), scope void delegate(geod24.LocalRest.TimeCommand) nothrow @safe, scope void delegate(geod24.LocalRest.FilterAPI) pure nothrow @nogc @safe, scope void delegate(geod24.LocalRest.Response), scope void delegate(geod24.LocalRest.Command) nothrow)

file+line info seems to be missing..

The range error was fixed (not sure if it was listed here), but the infinite wait bug still happens it just seems to happen less often now.
I've noticed that on some builds the tests just take a long time to finish. For example:

Then there are two questions; Why does there seem to be an unbounded wait for some threads. And what is causing the threads to stall, what are they waiting for exactly?
I'll continue debugging.

Looks like the race condition on start is still here. Just got this in #896 which is based on v0.x.x:
Linking...
Running ./build/agora-unittests
Error: clean-up of Database incorrectly depends on destructors called by the GC.
#### INTERNAL ERROR: Trying to access node at address 'FullNode #0' without first creating it
This node was started at source/agora/test/Base.d:378
Please file a bug at https://github.com/Geod24/localrest/
Full error: core.exception.AssertError@source/agora/test/Base.d(534): Trying to access node at address 'FullNode #0' without first creating it
----------------
??:? [0x55cb3ad05295]
??:? [0x55cb3ad2a766]
??:? [0x55cb3ad1105d]
??:? [0x55cb3ad04e49]
/home/runner/work/agora/agora/source/agora/test/Base.d:534 [0x55cb3a77963f]
/home/runner/work/agora/agora/source/agora/network/NetworkManager.d:379 [0x55cb3a7c12b7]
/home/runner/work/agora/agora/source/agora/network/NetworkManager.d:514 [0x55cb3a7c2925]
concurrency.d:933 [0x55cb3aba75b0]
??:? [0x55cb3ad063ef]
Info: :memory:
core.exception.InvalidMemoryOperationError@core/exception.d(647): Invalid memory operation
----------------
Program exited with code 1
##[error]Process completed with exit code 2.

Tried to reproduce with adding random delays in the constructor of full node and validator nodes during the "Network Unit tests". Was not possible so perhaps this has been fixed by other changes.

The test agora.test.ManyValidators is causing frequent CI failures (sometimes hidden by the retry mechanism).
Looking at the node's logs I see that one SCP envelope is sent 434 (!) times. This seems to indicate there's a bug somewhere in the way we propagate SCP messages.

2020-08-25T06:08:04.6960040Z 2020-08-25 06:08:00,547 Info [agora.consensus.protocol.Nominator] - Rejected invalid envelope: { statement: { node: GDL2...HDUT, slotIndex: 12, pledge: Prepare { qset: { hash: 0x20ef...28f3, quorum: <unknown> }, ballot: { counter: 1, value: { tx_set: [Type : Payment, Inputs (1): 0xe19f...faef[0]:0x0e6c...1bb1
2020-08-25T06:08:04.6960360Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x0c90...7123[0]:0x035c...38f7
2020-08-25T06:08:04.6960570Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xdbc4...4fbc[0]:0x0968...c07b
2020-08-25T06:08:04.6961230Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x3869...e632[0]:0x0dd2...54c9
2020-08-25T06:08:04.6961460Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xacd6...cbd4[0]:0x0f85...224a
2020-08-25T06:08:04.6961670Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x8622...4789[0]:0x0713...0853
2020-08-25T06:08:04.6961880Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xc973...1c79[0]:0x01a7...d771
2020-08-25T06:08:04.6962090Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x8987...6401[0]:0x0aee...90c8
2020-08-25T06:08:04.6962320Z Outputs (1): GCOQ...LRIJ(7,625,000)], enrolls: [] } }, prep: { counter: 1, value: { tx_set: [Type : Payment, Inputs (1): 0xe19f...faef[0]:0x0e6c...1bb1
2020-08-25T06:08:04.6962550Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x0c90...7123[0]:0x035c...38f7
2020-08-25T06:08:04.6962760Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xdbc4...4fbc[0]:0x0968...c07b
2020-08-25T06:08:04.6963230Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x3869...e632[0]:0x0dd2...54c9
2020-08-25T06:08:04.6963440Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xacd6...cbd4[0]:0x0f85...224a
2020-08-25T06:08:04.6963640Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x8622...4789[0]:0x0713...0853
2020-08-25T06:08:04.6963840Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0xc973...1c79[0]:0x01a7...d771
2020-08-25T06:08:04.6964030Z Outputs (1): GCOQ...LRIJ(7,625,000), Type : Payment, Inputs (1): 0x8987...6401[0]:0x0aee...90c8
2020-08-25T06:08:04.6964260Z Outputs (1): GCOQ...LRIJ(7,625,000)], enrolls: [] } }, prepPrime: <null>, nc: 0, nH: 0 } }, sig: 0x0000...0000 }

Interestingly this is the only rejection envelope type in the log, and it's for slot 12. Very related to this:
https://github.com/bpfkorea/agora/blob/4fc127860126d78610676c92d49fdad55576aa66/source/agora/test/ManyValidators.d#L107
So it seems like maybe the envelopes being sent after a new set of enrollments are added somehow cause SCP to reject those envelopes. I'm investigating..

I think we can finally close this. The last remaining spurious error is our good old friend #864


Integrate with rosapi to avoid spamming the master

RosAPI proxy master requests. we should use this instead of asking the master directly.
https://github.com/RobotWebTools/rosbridge_suite

RosAPI could also be used to provide missing functionnalities for rostful server itself ( like getting the list of topics from a rest service )

We need to investigate but we might want rosapi to have latched topics to broadcast ros system data...
Might need to change the design a little bit.

https://github.com/robotics-in-concert/rocon_tools/issues/90

We are using connection_cache from rocon_tools and it works fine.
It is completely optional.
One improvement thought could be to make that connection cache a selfcontained (not rocon dependenct) full C++ component. another issue for another project.
closing.


sbt-javah mangles names of @native methods in objects incorrectly

object Foo {
  @native def bar()
}

should generate
JNIEXPORT void JNICALL Java_Foo_00024_bar
  (JNIEnv *, jobject);

but instead it generates
JNIEXPORT void JNICALL Java_Foo___bar
  (JNIEnv *, jobject);

... at least on recent JVMs. This seems to be already fixed in gjavah, but for some reason $ is special-cased in here https://github.com/jodersky/sbt-jni/blob/fb2c301d550cee5491780b40b6e87b7e3fc73163/plugin/src/main/java/ch/jodersky/sbt/jni/javah/Utils.java#L55-L56

Thanks for the pointers. I think that at the time I included gjavah in sbt-jni it didn't support special characters, so I just added the $ case to replicate what javah generated in the past.
If you have a general fix however, I'd be happy to merge it

In my case (I'm on JDK 14) the last branch of the if-else statement (builder.append(String.format("_0%04x", (int) ch))) produces the correct result. So just removing the special case for dollar sign would fix this. I'm not sure about other JDK versions though.

👋 could you check how the current main branch works for you? https://github.com/sbt/sbt-jni/pull/43 is merged so it could affect some things.

FYI, I recently migrated gjavah to scala and fixed the issues with symbols. See here: https://github.com/jodersky/mill-jnilib/blob/master/jnilib/src/jnilib/gjavah.scala
I can confirm that it works, even with Scala 3 top-level functions and all sorts of funky characters.

@jodersky Thanks for confirming that! :tada:
sbt-jni snapshots live here now: https://oss.sonatype.org/content/repositories/snapshots/com/github/sbt/sbt-jni_2.12_1.0/ and should be easier to test to other folks.
Let's close it for now, but @mrobakowski feel free to create a new issue and / or reopen this one.

oh, I realize that my comment was ambiguous. When I said "it works", I meant that my gjavah scala port works. I can't speak for the updated official version.
Thanks for setting up maven publishing again!

Ooops! I'll reopen it again than :D

@mrobakowski btw, we can add the latest JDK into CI if it helps.

Hi @pomadchin, sorry for not replying earlier.  I don't even remember what project I needed this for :sweat_smile:, so I cannot confirm or deny whether it works for my problem (I probably abandoned that side-project already). But the fix looks good, so thank you for that! :tada:


[csl] new API to convert CSL period between msec and ten symbols unit

This commit adds new APIs to convert CSL period, which is specified in units of ten symbols, to and from milliseconds.
When converting between units, the new APIs round to the nearest value. For example, if the CSL period is 212 (in ten symbols unit) which maps to 212 x 0.160 = 33.92 milliseconds, the value of 34 milliseconds is returned. Or if the target CSL period is 23 milliseconds, the converted value will be 144 (in units of ten symbols) which maps to 144 x 0.160 = 23.04 milliseconds instead of 143 which maps to 22.88 milliseconds.

Closing this PR in favor of

https://github.com/openthread/openthread/pull/9275.


Can't close popup menus by clicking on field that triggers it

Click on button that will spawn popup menu with some choices, like, for example, angle precision:
000000000000.webm
I expect, that I can click on anything outside of popup itself to close it.
For example, how Godot does that:
1111111111111.webm
Or GTK programs:
22222222.webm

This is an outcome of how all clicks outside of the popup area work as normal, e.g. you can click any button.
I don't know if we should change this, or make something specific for the buttons that open a context popup?

I think specific solution for buttons that triggers popups will be sufficient.
If you click on button it will show popup, if you click on same button again when popup is active then just close popup


Minor fixes

Some minor fixes and made sure latest nightly compiler is used over pre installed one.

Thanks for the PR! Yeah, there were minor mistakes in the code.


fix issue with tab delimited files

Hi! Since last release, there is an issue with tab delimited files. I made the change that fixed the issue.

Hi @adrean, thanks for noticing and fixing this. I'll publish the patch asap.


HBASE-28210 There could be holes in stack ids when loading procedures

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 34s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 55s
master passed

+1 :green_heart:
compile
0m 15s
master passed

+1 :green_heart:
shadedjars
4m 52s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 14s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 40s
the patch passed

+1 :green_heart:
compile
0m 15s
the patch passed

+1 :green_heart:
javac
0m 15s
the patch passed

+1 :green_heart:
shadedjars
4m 50s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 13s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 22s
hbase-procedure in the patch passed.

19m  9s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5531/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5531

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 067602ae9c9b 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 9631af791e

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5531/1/testReport/

Max. process+thread count
268 (vs. ulimit of 30000)

modules
C: hbase-procedure U: hbase-procedure

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5531/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 12s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 40s
master passed

+1 :green_heart:
compile
0m 21s
master passed

+1 :green_heart:
checkstyle
0m 10s
master passed

+1 :green_heart:
spotless
0m 40s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 23s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 36s
the patch passed

+1 :green_heart:
compile
0m 20s
the patch passed

+1 :green_heart:
javac
0m 20s
the patch passed

+1 :green_heart:
checkstyle
0m 10s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
9m 15s
Patch does not cause any errors with Hadoop 3.2.4 3.3.6.

+1 :green_heart:
spotless
0m 41s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 30s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 10s
The patch does not generate ASF License warnings.

23m 50s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5531/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5531

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 1511d1f42431 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 9631af791e

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
77 (vs. ulimit of 30000)

modules
C: hbase-procedure U: hbase-procedure

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5531/2/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Added disableAllProviders()

Title. Added a quick and simple method to disable all active providers in one call

Merged and published in 1.1.4 ;)


md-input - type=number disable stepper buttons

feature request:
Have the ability to disable the number stepper buttons.
What is the expected behavior?
Adding a CSS style or an attribute to change the appearance of the number input should disable stepper buttons on the input element (due to User Agent Stylesheet).
What is the current behavior?
The stepper buttons always show for input type="number"
What are the steps to reproduce?
See my Plunker demo: http://plnkr.co/edit/Xi8bdAhAIcwhLbGZrtEU?p=preview
What is the use-case or motivation for changing an existing behavior?
It doesn't make sense to have it for large numbers (numbers over 100k)
Which versions of Angular, Material, OS, browsers are affected?
Latest versions of Angular, Material, Chrome Canary
Is there anything else we should know?
Thank you for taking the time to look at this and keep up the good work!

Heya, You know this is not going to happen right?
The steppers you see are native number steppers, so the way html5 works.
What I suggest you do in this case is making it a normal text input and adding a regex pattern to allow only number (You could turn this into a directive).
Changing the style should obviously be an option, but wouldn't it be easier to do it yourself if you don't want the steps?

We decided we're not going to hide the native UI controls for this case. Individual apps should still be able to hide them with some simple css.


pointed to newest version of vulnerabilities

old link was broken
Purpose
the link to the owasp for LLMs was broken, pointed to the new version

...

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

Thanks, @timschps


Attributes annotations don't work with cucumber-java8 syntax

Client: 5.5.0
Agent: 5.0.2 (agent-java-cucumber6)
Description:
We use cucumber-java8 syntax in defining steps. Hence, the only way to placed the Report Portal's @Attributes annotation was like this:
@Attributes(multiValueAttributes = { @MultiValueAttribute(key = "myKey", values = { "valueOne", "valueTwo" }) }) Given("^user logs in", this::logInPlease);
I was expecting the assigned attributes to appear on Report Portal but they didn't. I tried to place the @Attributes annotation on the logInPlease() method that is called in the step but that didn't change anything.
I tried both, ScenarioReporter and StepReporter. Am I missing something of cucumber-java8 syntax is not supported by this agent?

cucumber-java8 Given, When, Then steps are static methods, their calls are inlined in code. And it's not possible in java to get annotations from method calls. Also Cucumber does not provide methods from which these steps are called. And it's also conceptual question how to handle multiple steps defined in one method/constructor. So no, it's not a bug or issue. Right now we don't have any plans to support such functionality.
Apart from that cucumber-java8 is a subject to deprecation.


x/build: use LLD linker on linux-amd64-clang builder?

The LLD linker is widely used by users. Occasionally there are some subtle differences in behavior between the C linkers (BFD, Gold, LLD), that cause issues for us (e.g. we may have assumptions based on the BFD linker's specific behavior (e.g. #59466), or we may uncover a bug in the C linker itself.)
As far as I can tell, we don't have much LLD coverage on the builders. I think it is probably good to have one. The linux-amd64-clang builder already uses LLVM based C compiler. So it may be a good fit. (gcc+lld is possible but probably not a popular configuration.)
Thoughts? Thanks.
cc @prattmic (was chatting with Michael about this the other day)

I agree we should have a clang+lld builder. My question is whether we should also keep a builder with the existing configuration (is it clang+bfd or clang+gold?).

I'm going to guess that we should probably have builders for every popular C linker (or whatever we're willing to say we explicitly support).
Logistical question: what can this builder share with other builders? Could it, for example, share ./make.bash output?

Now we build the toolchain without cgo, right? If so, the result of make.bash does not depend on the C linker at all. So we can share it.
Even if it still uses cgo, we probably can share. We just don't use LLD to link some tool binaries (the go command, the pprof command?), and that is probably fine, and we'll probably have the same coverage when linking test binaries.

We could have builder for clang+bfd, if the builder resource is fine. I think that is probably also a popular configuration that users use.

For the record (this was mentioned in the previous issue, but worth repeating here) this exact combination would be very welcome for those of us who compile C/C++ files using zig cc, as Zig is actually clang+lld behind the scenes.

Related: https://github.com/golang/go/issues/59666

CC @golang/release.


Adding a warning message when saving title from explore

It's not super clear that editing the title overrides the chart. If you are trying to create a new chart by changing the params of an existing chart and you edit the title before "saving as" a new chart, you'll save over the existing chart. This adds a warning message when a title change will save over the existing chart.
The cancel action reverts the title back to the previously saved title.
Tested by
Testing save and cancel on an existing chart
Testing editing the title on a new chart (with no popup)
Testing editing title on dashboard chart (with no popup)

Codecov Report

Merging #7047 into master will decrease coverage by 0.02%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master    #7047      +/-   ##
==========================================
- Coverage   64.46%   64.44%   -0.03%
==========================================
  Files         421      421
  Lines       20521    20540      +19
  Branches     2243     2247       +4
==========================================
+ Hits        13229    13237       +8
- Misses       7165     7175      +10
- Partials      127      128       +1

Impacted Files
Coverage Δ

...sets/src/explore/components/ExploreChartHeader.jsx
48.71% <33.33%> (-1.29%)
:arrow_down:

superset/assets/src/components/EditableTitle.jsx
74.07% <64.7%> (-7.47%)
:arrow_down:

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 f760ba8...5cd7ab2. Read the comment docs.

Codecov Report

Merging #7047 into master will decrease coverage by 0.02%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master    #7047      +/-   ##
==========================================
- Coverage   64.46%   64.44%   -0.03%
==========================================
  Files         421      421
  Lines       20521    20540      +19
  Branches     2243     2247       +4
==========================================
+ Hits        13229    13237       +8
- Misses       7165     7175      +10
- Partials      127      128       +1

Impacted Files
Coverage Δ

...sets/src/explore/components/ExploreChartHeader.jsx
48.71% <33.33%> (-1.29%)
:arrow_down:

superset/assets/src/components/EditableTitle.jsx
74.07% <64.7%> (-7.47%)
:arrow_down:

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 f760ba8...5cd7ab2. Read the comment docs.

I'm wondering if [instead of the warning], we should match the behavior expected by the user, which to me is the "Google Docs" behavior.

What do you mean by the google docs behavior @mistercrunch ?

I'm thinking Google Docs is where this UI interaction became more popular (editing the title). In Microsoft Office you would "save as" to change the filename, creating dups, but in GDocs you would go and edit the title right there in place, and it would always autosave. I guess it's different in GDocs as it always auto-saves and keeps track of history.
So currently, does editing the title just saves the title to the current sliceId, or does it saves all the formData that might have changed?

@mistercrunch currently editing the title saves the title and all of the form data to the slice. We could remove this and make it more like dashboard where editing the title just saves the title on the chart, but I'm not sure how attached people are to the current functionality, we'd need to message the change clearly so people don't think they are saving and lose work.
One nice thing about a warning is it lets you know you are going to save something before you do, which is a problem we'd still have if we kept the save just on title.

Personally I'd vote for the dashboard-like behavior, but I don't feel strongly about it. Designers could provide input here.

Thanks for sharing this @michellethomas !
A few thoughts:

If we take the warning route could we add additional context to that warning message. For example I would like to better understand what it means to save over an existing chart. What are the implications?
We should center the warning on the screen so we're not covering up what is being referenced (in this case the chart title).
I agree with Max that having to close out a warning message every time I change the title of a chart isn't an ideal experience. I would expect that I could change that name without issue.

Personally I think there's a lot of value in pushing for a more dashboard like editing experience. We should explore it, communicate it out and see if there is push back.

Sounds good thanks for the feedback, for now I'll focus on evaluating a dashboard like title editing.


[SPARK-21551][Python] Increase timeout for PythonRDD.serveIterator

What changes were proposed in this pull request?
This modification increases the timeout for serveIterator (which is not dynamically configurable). This fixes timeout issues in pyspark when using collect and similar functions, in cases where Python may take more than a couple seconds to connect.
See https://issues.apache.org/jira/browse/SPARK-21551
How was this patch tested?
Ran the tests.
cc @rxin

Can one of the admins verify this patch?

cc @JoshRosen

Any chance we can merge this?

This seems fine to me, especially since it's plausible that you might have a few-second GC pause in some situations. Let me go ahead and have Jenkins test this, then I'll merge it if tests pass (which I assume they will).

Jenkins, this is ok to test.

Test build #80419 has started for PR 18752 at commit 9d3c664.

Test build #80419 has finished for PR 18752 at commit 9d3c664.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/80419/
Test PASSed.

Great, thanks @JoshRosen!

Merging in master.


Brackets auto insert a space character each new line

Hi guys, i got a problem about enter new line, as the title

Pls help me guys, i dont need this useless space, i want it look like:

Thanks and sorry about my english :)

@nhieu92 By default, Brackets is using 4 spaces for indentation. Your document is using 2 space indentation. So you just have to change it to 2 spaces in the status bar (close to bottom right corner of the Brackets window).

@RaymondLim Thanks bro, it worked.

Ok, closing since it's not a real issue.


[backport] Fix compilation error causes when thrust is enabled

Backport of #2838

[automatic post] Jenkins, test this please.

Duplicated to #2839.

Jenkins CI test (for commit 4798192e9f09437d699236a94d5280a2ad2da802, target branch v7) succeeded!


Correction for raw affiliation Aeres University of Applied Sciences, Department of Applied Research, PO Box 374, 8250 AJ Dronten, The Netherlands.

Correction needed for raw affiliation Aeres University of Applied Sciences, Department of Applied Research, PO Box 374, 8250 AJ Dronten, The Netherlands.
raw_affiliation_name: Aeres University of Applied Sciences, Department of Applied Research, PO Box 374, 8250 AJ Dronten, The Netherlands.
new_rors: 03jnx2c74
previous_rors: 015d5s513
works_examples: W3013042687
contact: 0fb33001d3ff1f1d1a198513ac9108fe:83f28b2d9ed8a8c7 @ aeres.nl

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Auth support

I implemented auth support (CRAM-MD5 and LOGIN) in my fork, so I'd like to know whether you'd be interested in such functionality and I can create a pull request for that.

Sorry for the late reply. Sure, pull request welcome.

Where is the code?

Hello Good day
Does go-guerrilla support plain authentication. I'm new to developing smtp sever, so my apologies.

@flashmob I'm looking to develop this. I'll send across a pull request from my fork.

Hi,
Thanks for your interest!
At present, major development work is being done on
https://github.com/flashmob/go-guerrilla/pull/135
It has changed a lot of code, so it may be better to work off that branch.
Although there are changes that would need to be documented in there, so
you'd probably need to wait until it's done before you can work on it.
Question: Does Auth support require database access? Could you please link
to the code that does this in your fork?
On Sat, 11 Jul 2020 at 19:18, Agnibha<EMAIL_ADDRESS>wrote:

@flashmob https://github.com/flashmob I'm looking to develop this. I'll
send across a pull request from my fork.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flashmob/go-guerrilla/issues/92#issuecomment-657034821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE6MP4ZSDP4KEK7THJQUN3R3A4A3ANCNFSM4EC27LSA
.


Test passes even if not all expected actions are dispatched

I have the following set-up
actions.js
export function loadData() {
    return function (dispatch) {
        dispatch(transactions([876]));
    };
}

actions-test.js
  jest.dontMock('../actions');
  jest.dontMock('redux-mock-store');
  jest.dontMock('redux-thunk');

  const configureMockStore = require('redux-mock-store');
  const thunk = require('redux-thunk');
  const middlewares = [ thunk ];
  const mockStore = configureMockStore(middlewares);

describe('actions', () => {
  it('should load data', (done) => {
    const expectedActions = [
      { type: actions.TRANSACTIONS, transactions : [876] },
      //{ type: actions.DOES_NOT_EXIST, foo : [] },
      //{ type: actions.EXISTS, foo : [] }
    ];

    const store = mockStore({}, expectedActions, done);
    store.dispatch(actions.loadData());
  });
});

Running the above test passes as expected.
The problem is if I uncomment
      //{ type: actions.DOES_NOT_EXIST, foo : [] },
      //{ type: actions.EXISTS, foo : [] }

the test still passes even though now only one of the 3 expectedActions is dispatched.
Is this a bug, or am I misunderstanding something?

I have the same issue here, i did notice the examples were in mocha and I use jasmine, so that could be the problem maybe?

The issue lies here, where expectedActions.length === 0 is being trusted to signal that all the expected actions have been dispatched.
For example, If you provide the mock store with a single expected action, and dispatch an async action creator that then dispatches multiple other actions, the done() callback will be called as soon as the first original action has been dispatched, without waiting for the subsequent actions to be dispatched.
I'm looking into ways to fix this.

I also notice that this is using "expect": "^1.12.2" which uses deep-equal
https://www.npmjs.com/package/deep-equal
and in deep equal docs it states
If opts.strict is true, use strict equality (===) to compare leaf nodes.
The default is to use coercive equality (==)
because that's how assert.deepEqual() works by default.

but in the latest tag on the expect lib 1.13.4, it changed the dependency from deep-equal to using is-equal
https://www.npmjs.com/package/is-equal
but changing line 38 in redux-mock-store from
expect(action).toEqual(expectedAction); to expect(action).toEqual(expectedAction, {strict: true});
did not fix the problem.
Hope this helps, trying more things...

So redux mock store should be compatible with jasmine?

There shouldn't be any difference between using mocha and jasmine, the bug exists no matter which test suite you use.

For some reason switching to mocha fixes the issue for me.
This is what I have installed for both cases:
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>
this is the test:
import configureMockStore from 'redux-mock-store'
import thunk from 'redux-thunk'
import { pushState } from 'redux-router'

import { logout } from '../authentication'
import { LOGOUT } from '../../constants/action-types'

describe('authentication actions', () => {
  const middlewares = [ thunk ]
  const mockStore = configureMockStore(middlewares)

  it('logs out', done => {
    const expectedActions = [
      { type: LOGOUT },
      pushState(null, '/login')
    ]

    const store = mockStore({}, expectedActions, done)

    store.dispatch(logout())
  })
})

When using Jasmine I can just modify expectedActions and everyting still succeeds, with mocha I cannot:
// succeeds in Jasmine, fails with mocha
const expectedActions = [
    { type: 'does not exist' },
    pushState(null, '/login')
]

// or even:
const expectedActions = [
    { type: 'a' },
    { type: 'b' },
    { type: 'c' }
  ]

I don't know why or what I more information I can give you. I used "jasmine-core": "^2.3.4", and  "mocha": "^2.3.4",

same issue explained by @ngerritsen.
I currently using such workaround to make it work on Jasmine ~(>_<~)
import { createAction } from 'redux-actions';
import types from '../../lib/constants/ActionTypes';
// ...
const expectedActions = [
  act => expect(act).toEqual(createAction(types.FETCH_POSTS_REQUEST)()),
  act => expect(act).toEqual(createAction(types.FETCH_POSTS_SUCCESS)(posts)),
];

+1.

according jasmine documentation, The done.fail function fails the spec and indicates that it has completed., but redux-mock-store call done(exception). Is this the problem?

Yes I believe that's the issue.

In the meantime, here's a temporary module for Jasmine (and Mocha): https://www.npmjs.com/package/redux-mock-store-jasmine

There's a new version out, please give it a try :+1:


Flag Deprecation Plan

TypeScript Flag Deprecation Plan

(This is a proposal, but written in terms of a blog post for clarity)

As we think about the long-term future of TypeScript and its place in the JavaScript ecosystem, it's clear that many things TypeScript 0.8 users in 2012 needed aren't things that TypeScript users in 2024 are going to need. For example, in 2012, Internet Explorer 8 (which only supports ECMAScript 3) had enough marketshare to warrant serious compatibility concern. Today, thankfully, it doesn't.
While we still consider long-term language stability to be an absolutely paramount concern, having a well-defined deprecation policy in place also makes it easier for us to be slightly less risk-averse when adding new features to the language.
To that end, starting with TypeScript 5.0, we will begin the process of removing certain flags, features, and/or behaviors which we think the language or ecosystem have largely evolved past the need for.
Schedule
The deprecation schedule is based on our existing version += 0.1 versioning cadence, aligned with ones-place-incrementing versions for clarity.

Release / Phase
Description

TypeScript 5.0 - Phase 1
❔ Deprecation warnings introduced

TypeScript 5.5 - Phase 2
⚠ Flags start doing nothing

TypeScript 6.0 - Phase 3
❌ Flags removed entirely

The cycle repeats again with TypeScript 6.0 also introducing whatever new deprecation warnings deemed appropriate at that time.
Phase 1: ❔ Deprecation Warnings
In phase 1 (e.g. TypeScript 5.0), using a deprecated flags will produce a commandline error:
TS9998: Flag 'keyofStringsOnly' is deprecated and will stop functioning in TypeScript 5.5. Specify 'ignoreDeprecations: "5.0"' to silence this error

As hinted to in the error, you can supply a new flag value to silence this error:
    ignoreDeprecations: "5.0"

All other behavior is unchanged.
This gives people an immediate warning of impending deprecation, but won't block them from upgrading to TypeScript 5.0.
Phase 2: ⚠ Flags Start Doing Nothing
In phase 2 (e.g. TypeScript 5.5), deprecated flags can still be specified in tsconfig / commandline settings, but no longer have any effect. This allows users to have tsconfig.json files that work on both sides of the deprecation cycle (as you might have in a monorepo with a "shared" tsconfig settings file).
Phase 3: ❌ Flags Removed
In phase 3 (e.g. TypeScript 6.0), it is an error to specify a deprecated flag.
At this point, it also becomes illegal to have ignoreDeprecations: "5.0, since this setting doesn't do anything (it's illegal to specify those flags in the first place, and they've done nothing for 5 versions).
In 6.0, the only legal value of ignoreDeprecations will then be "6.0", per its Phase 1.
5.0 Deprecation Candidates
This list is provisional; please leave comments if you are depending on these in a serious way.
Removed entirely:

charset - already deprecated since approximately the beginning of time
noImplicitUseStrict - non-strict-mode code is extremely rare in modern JS
noStrictGenericChecks - this flag is broadly a bad idea, and improvements to the type system have rendered its original use cases largely moot
out - already deprecated since approximately the beginning of time (use outFile instead)
keyofStringsOnly - according to a rumor, we only wanted to ship this for three releases (2.9, 3.0, 3.1) when we added this!
suppressExcessPropertyErrors - improvements in not performing subtype reduction have rendered its original use cases largely moot
suppressImplicitAnyIndexErrors - the use cases here have been supplanted by better recognition of literal-typed keys
noFallthroughCasesInSwitch - style concern; use a linter if this is not allowed in your coding style

Removed possible values:

target - remove ES3 - no known extant software runs ES3 (this will be even more true in 2 years), and we don't have lib support for it anyway
module - remove umd, system, and amd - the ecosystem is rapidly converging, and better downlevelers exist for each of these should you still need them by 2024

non-strict-mode code is extremely rare in modern JS

While absolutely true, devil’s advocate argument is that there’s still a difference in JS today between a file with a "use strict" at the top and one without—and TS is meant to be spec-compliant outside of type annotations as a design goal.

One reason I advocate for removing noImplicitUseStrict is that no one ever can remember what it actually does, which based on reading the description I wrote up there, includes me 😬

Considering the current release cycle of 3 months, I think two and a half years quite too long for this. But otherwise I'm all for deprecating stuff. 👍

This sounds great. Freedom to evolve is important and this plan increases it whilst decreasing tech debt (entropy).
I recommend updating column 1 of the table to switch the order and say "Phase 1 (e.g. TypeScript 5.0)". Right now it looks like you are mandating 5 minors releases between each phase whereas the description that follows indicates it is only an example duration.
3.5 years (10 releases) to complete an entire deprecation cycle seems excessive. I'd suggest 2-4 releases for the full cycle would normally be fine.

Summarizing decisions from the meeting:
Queued for deprecation: noImplicitUseStrict , target: es3, keyofStringsOnly, suppressExcessPropertyErrors, suppressImplicitAnyIndexErrors, noStrictGenericChecks, charset, out
Still alive: All module targets (usage of these, based on GitHub queries, is higher than I anticipated). We'll investigate top repos using these targets (especially umd and systemjs) to see what their build systems are and try to evaluate their likelihood to adopt new TS versions (e.g. are these projects effectively archived?), new build system (e.g. do they seem to be wanting to move to a newer target), or whether these config settings are even active (e.g. are they actually using a different emitter?)
Also still alive, for now: noFallthroughCasesInSwitch - while we don't want to add any new lint-like rules to TS, this one is still high-value for what it does and asking folks to pick up a linter if they're happy with our limited lint-y offerings seems a bit much.
Possibly gone sooner?:  I'm proposing that we just remove charset and out entirely in 5.0. Since these haven't worked anytime in recent memory, they're effectively already deprecated and any runway seems unneeded.

non-strict-mode code is extremely rare in modern JS

While absolutely true, devil’s advocate argument is that there’s still a difference in JS today between a (non-module) file with a "use strict" at the top and one without—and TS is meant to be spec-compliant outside of type annotations as a design goal.

So instead, add a new type check error for non-module files:

TS____: This file requires a "use strict" directive.

Add a new --legacyDecorator flag and deprecates --experimentalDecorator

Forgive me if this is the wrong place to ask, but how about changing the default target to esnext in a future release?
This would make TS closer to a type checker only, and I think that is what most users expect in today (as opposed to the IE days of 2012 as you mentioned).

@styfle See #47572 for this.

Just my 2 cents: If it helps ship more features/bugfixes, I would vote for removement of already deprecated flags in 5.0. Additionally, I vote for faster removement of new deprecated flags. For example, not more than one year after deprecation. Or even in 2 ts releases.

I'm still using module "amd" with requirejs in some of my old projects :/. Is that so old school ?

I'm still using module "amd" with requirejs in some of my old projects :/. Is that so old school ?

Yes. We have modules now so there's no reason why you would ever need this after 2015. It's just increased complexity and dead code to support something no one uses or should use. We should deprecate CJS too, it's only used in old code, doubt anyone is compiling any new code with it.

cjs is the only one I actually learned when I studied javascript programming a couple years back. Nodejs at that time still had a few big debug frameworks that needed it. I think even they now have stable es model support. Separate tools like Babel can make the conversion if its still needed.

The setting that controls whether "use strict"; appears in your output is alwaysStrict, not noImplicitUseStrict

Sorry, you're right (looks like something is wrong in the Playground wrt this)
Without "use strict"; in the output, your code can change runtime semantics in surprising ways that the checker won't detect.

why do you want to force it upon us so badly?

We really want your code to work!

The stated reason was "non-strict-mode code is extremely rare in modern JS" and the longer reasoning outlined in #51909 was

This flag disables emitting a "use strict"; prologue at the top of module bodies when the target is not implicitly a module. This can lead to unexpected behavior since there are subtle behavioral differences between strict and nonstrict mode.
Fix: Remove any reliance on nonstrict behavior.


README: Design Phase + Opening Lines

Design Start of Readme

The contents section needs work.
Half way through 'The Why?' section..

Certainly! Here are actionable steps to refine your README from top to bottom, focusing on clarity, conciseness, engagement, and consistency:

Introduction and Definition
Step 1: Define "File Management System (FMS)" the first time you mention it, then use the acronym (FMS) consistently.
Step 2: Use a single sentence to introduce what an FMS does, incorporating examples like File Explorer and Finder to clarify.
"The Why" Section
Step 3: Start with a direct question to engage readers ("Why build a custom FMS?").
Step 4: List the benefits of creating your own FMS in bullet points for clarity and impact.
Document Contents
Step 5: Ensure all headings are formatted consistently (e.g., use Markdown heading levels appropriately).
Step 6: Provide a brief one-line description under each heading in the Document Contents section to give readers a clear roadmap of what to expect.
Design Phase and Technical Details
Step 7: Avoid technical jargon or explain it briefly in parentheses the first time you use it.
Step 8: When describing the functionalities and architecture of your FMS, use concise bullet points to outline key features and design choices.
Building Process and Reflection
Step 9: Use active voice to describe the development process and challenges faced, making the narrative more engaging.
Step 10: In the Reflection section, share insights or lessons learned in a structured manner (e.g., "Challenge – Solution – Insight").
Project Conclusion and Call to Action
Step 11: Ensure the conclusion summarizes the project's value and achievements succinctly.
Step 12: End with a clear call to action, inviting readers to contribute, try the FMS, or follow for updates. Make it easy for readers to know what their next steps should be.
General Tips
Step 13: Read through each section after writing to eliminate redundant words or phrases, aiming for concise and clear sentences.
Step 14: Vary sentence structure to maintain reader engagement throughout longer sections.
Step 15: Proofread for consistency in terminology, capitalization, and formatting. Use a tool or ask a colleague to help catch inconsistencies you might overlook.
By systematically applying these steps to each part of your README, you can enhance its clarity, conciseness, and overall effectiveness as an introduction and guide to your project.


Nice work! Can i run this in huggingface to try it out? or docker?

Love the look of the tool on the video. Can i run this in huggingface to try it out? or docker? would make it easier for others to see if it works for their case before going through the install.

@gdmcdonald Thanks for the comment! I'm not personally familiar with huggingface compute environment but yes, I believe you can run it in huggingface, docker or any other cloud or local virtual environment as long as it has access to an Nvidia GPU. If you are familiar with AWS, I have put together a setup manual for running this tool on AWS EC2. Please take a look at the readme file of https://github.com/yy29/aws-ec2-tips-llm-chat-ai and hope it helps.


Cannot use r2dbc.migrate with spring.sql.init

Issue
I want to apply the initial schema using spring.sql.init on application.yml and then use r2dbc.migrate to do the migration. However, the default behavior is that R2dbcMigrateAutoConfiguration.R2dbcMigrateBlockingInvoker bean is initialized first, and then SqlR2dbcScriptDatabaseInitializer is initialized later. The call order is reversed and the application crashes.
application.yml

spring:
  sql:
    init:
      enabled: true
      mode: always
      schemaLocations: classpath:/db/schema.sql

r2dbc:
  migrate:
    resourcesPath: classpath:/db/migration/*.sql

# schema.sql
-- users
CREATE TABLE IF NOT EXISTS users (
    id BIGSERIAL PRIMARY KEY,
    email VARCHAR(191) UNIQUE NOT NULL,
    name VARCHAR(191),
    hash_salt VARCHAR(500) NOT NULL,
    roles VARCHAR(16)[]
);

# V2__alter_deleted_at_field_on_users,nontransactional.sql
ALTER TABLE users ADD COLUMN deleted_at TIMESTAMP NULL DEFAULT NULL;

Caused by: io.r2dbc.postgresql.ExceptionFactory$PostgresqlBadGrammarException: [42P01] relation "users" does not exist

Temp Solution
When initializing R2dbcMigrateBlockingInvoker, it tells SqlR2dbcScriptDatabaseInitializer that it needs a dependency (I don't know if this is best) so that SqlR2dbcScriptDatabaseInitializer is called first and R2dbcMigrateBlockingInvoker is called later. I also tried using @DependOn or @AutoConfigureAfter but it didn't work well.
repository
@SpringBootApplication(exclude = [R2dbcMigrateAutoConfiguration::class])
class Application

@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(SpringBootR2dbcMigrateProperties::class)
class DatabaseConfiguration {

    @Bean(name = ["ar2dbcMigrate"], initMethod = "migrate")
    fun r2dbcMigrate(
        connectionFactory: ConnectionFactory,
        properties: SpringBootR2dbcMigrateProperties,
        @Autowired(required = false) maybeUserDialect: SqlQueries?,
        @Autowired(required = false) initializer: SqlR2dbcScriptDatabaseInitializer? // <--- THIS
    ): R2dbcMigrateAutoConfiguration.R2dbcMigrateBlockingInvoker {
        return R2dbcMigrateAutoConfiguration.R2dbcMigrateBlockingInvoker(
            connectionFactory,
            properties,
            maybeUserDialect
        )
    }
}

Expect
r2dbc.migrate and spring.sql.init to be used together by having SqlR2dbcScriptDatabaseInitializer called first and then R2dbcMigrateBlockingInvoker.
Thank you for your awesome project.

I've done by different way, thy 1.8.1 when it will be available at Maven Central


How to connect to Binance Smart Wallet @rarible/connector

Hi everyone.
I don't find guide connect with binance smart wallet use @rarible/connector.

Web3Modal package is a better way to connect. they frequently update and maintain their connectors.
just connect and pass the provider to createRaribleSdk method

@phananhvusafemoon rarible connectors are not required for you if you use SDK
It's optional
Use rarible connectors if you want to connect wallets from different blockchains


consider social links

option to share profile on twitter and facebook?
include screencap of profile?

position absolute, so the links don't follow the page when scrolling

It seems like Twitter blocks any tweets which lead to https://github-profile-summary.com/

That's very strange.

Has been fixed now @OrKoN

Its nice, but maybe implementing Facebook SDK, its possible to pass variables to the share, its so simple.. Its also possible to make dynamic share image, could pass the github profile image to the open graph tags,   'piece of cake'... Facebook has updated api and i think could pass "25 public repos" and joined:  6 years ago, to the shares, using open graph, its a litle, .. complicated, for me, because i had spent too much time learning platform, but i can try to help on this .

Could generate a image for the graphs. I did this sometime ago: Pass the image from profile, and pass another image, to mix both. Use a overlay for a second image, generated based on variables for :
Repos per Language
Stars per Language
Commits per Language
So, could share the result image, Github profile image and colored infos, i did it using PHP, takes huge processing from the server ,. but i had not saved the images on server, and i could upload that iimage on Facebook albuns, as i could share that as Facebook post, using fb feed, method share.. haha ..
It also used to publish the results at the Apps Page, so it had a lot of posts, i need update that .
I mean that; Implement sharing is basically everything to this project ;)
Also could make a kind of "iframe embedable" small version :)

I could help on the code, but i never saw a code like yours before .. the final version code, is okay, i can understand... But i have no idea whats happening, on the sources, because its all weird :`P


Commands crashes when called from Android application

Using discord-py-slash-command, release 1.0.9, calling a command with options from the Android app (version 61.1) raises an exception:
Ignoring exception in on_socket_response
Traceback (most recent call last):
  File "lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "lib\site-packages\discord_slash\client.py", line 741, in on_socket_response
    args = await self.process_options(ctx.guild, to_use["data"]["options"], selected_cmd.connector) \
  File "lib\site-packages\discord_slash\client.py", line 652, in process_options
    if x["type"] not in types:
KeyError: 'type'

It seems that from the mobile app (I don’t know if that occurs from iOS app too), Discord doesn’t send the "type" of an option in the response.
I’ve made a workaround on my side that solves my problem:
# discord_slash/client.py
    async def on_socket_response(self, msg):
    […]
            if "options" in to_use["data"]:
                for x in to_use["data"]["options"]:
                    if "type" not in x:
                        for option in selected_cmd.options:
                            if option["name"] == x["name"]:
                                x["type"] = option["type"]
                                break
                    if "value" not in x:
                        return await self.handle_subcommand(ctx, to_use)
    […]

It’s clearly not a good solution on a long term basis as it doesn’t handle subcommands which have probably the same problem, but it avoid adding complexity to the process_options method.

ohhh guy i have exactly same issue, also 3-2 days ago

Fixed and will release soon.

Is this happening because bot all clients are sending the type currently?
https://github.com/discord/discord-api-docs/issues/2383#issuecomment-776364193

I think yes. I forgot to check if all clients includes option type, and this happened I guess.

Hi, still having this issue on the latest version
Its worth noting i am using subcommands, I am unsure if the above commit handles them


Invesitigate powertop auto tune

https://wiki.archlinux.org/title/Powertop#Apply_settings
I'm currently on the vanilla -dx image (not framework) but found some significant savings after running powertop. I'm wondering if we should investigate an --auto-tune unit service unit, but there's likely other things we need to investigate so just filing this now.

Powertop can make some pretty aggressive recommendations.
For specific devices like the framework we can ship the vendors suggestions. But to generically run powertop will result in behavior that will be a bit overturned.
Additionally the new gnome-power-profiles has been merged and we already ship the patch.

Yeah and future Fedora is looking at tuned anyway so let's skip this.


About list6_train.txt in TUSimple

Hi, thank you for your nice work!
btw, is there your code that generate list6_train.txt in TUSimple?
I know that max lane in TUSimple is 5, but why above .txt is noted as 6 lane existence number?

If I remember it correctly, 6 lanes are (left left left, left left, left, right, right right, right right right) which follow the lane definition of CULane and facilitate the positioning of the ego-car.

Thank you for your comment!
but is there left-left-left or right-right-right lane in CULane? (I think it is not)
how did you label that list6_train.txt file?
you mean format of lane existence like 0 1 1 1 1 0 has meaning of lane position related to ego-car?


Test: try to re-enable

resolves rdar://92102119

preset=buildbot_all_platforms,tools=RA,stdlib=RA
@swift-ci Please test with preset macOS Platform

@swift-ci smoke test


Navigate hierarchies of packages and classes in Coder

Currently, only package hierarchies can be navigated, but class hierarchies can only be navigated upwards, i.e., no subclasses. Coder should allow to navigate both hierarchies.

Class hierarchies can now be browsed alongside packages. Still needs some tests, maybe headers.


Add consul snapshot flags (Consul enterprise)

Allow option for enabling snapshot agent, as well as bucket specification (where the snapshots are placed) and bucket path prefix.  This will only occur if IAM setup is enabled.  If someone is using a custom IAM role, they can just set up the required policy on their custom role.
Permissions for the snapshots match what is specified in the Consul snapshot agent docs.

Thanks for the PR! I'm super booked this week, but will try to take a look in the next few days.