The padding in a Material TabBar is hard-coded

The padding between tabs in a Material TabBar is hard-coded, and this makes it hard to achieve some quite reasonable designs.
I would like this padding between tabs to be configurable per-TabBar, and not hard-coded in the Flutter libraries.
Here's an example. My designer would like to achieve this:

I can approach it in Flutter, but I have a problem:

The tab heading "MON 22" is too long for the space that is available. Here's why:

There is padding around each tab:

The reason for this is in material/tabs.dart, line 880:
  @override
  Widget build(BuildContext context) {
    final MaterialLocalizations localizations = MaterialLocalizations.of(context);
    if (_controller.length == 0) {
      return new Container(
        height: _kTabHeight + widget.indicatorWeight,
      );
    }

    final List<Widget> wrappedTabs = new List<Widget>(widget.tabs.length);
    for (int i = 0; i < widget.tabs.length; i += 1) {
      wrappedTabs[i] = new Center(
        heightFactor: 1.0,
        child: new Padding(
          padding: kTabLabelPadding,
          child: new KeyedSubtree(
            key: _tabKeys[i],
            child: widget.tabs[i],
          ),
        ),
      );

    }

Each tab is padded by kTabLabelPadding — which I think is Hungarian for a constant tab label padding.
This is defined as:
/// The horizontal padding included by [Tab]s.
const EdgeInsets kTabLabelPadding = EdgeInsets.symmetric(horizontal: 16.0);

If I change this to 8.0 and restart my app, the tab fits:

My designer is happy

This is on today's Flutter master channel.
@HansMuller filing this separate issue as requested in https://github.com/flutter/flutter/issues/21026

It's always a good idea to add the output of flutter doctor -v to make it clear what Flutter version this issue is related to and in what environment you are using Flutter.

@zoechi Thanks, good call!
$ flutter doctor -v
[✓] Flutter (Channel master, v0.8.2-pre.24, on Mac OS X 10.13.6 17G2307, locale en-GB)
    • Flutter version 0.8.2-pre.24 at /Users/steve/code/flutter
    • Framework revision 4d9bbc10f2 (3 days ago), 2018-09-09 03:15:34 -0400
    • Engine revision 1770f88548
    • Dart version 2.1.0-dev.4.0.flutter-cd9a42239f

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at /Users/steve/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.27.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.18.0

[✓] Connected devices (1 available)
    • iPhone X • 1E0393AA-EF50-42AA-A244-3279599BE2C1 • ios • iOS 11.4 (simulator)

• No issues found!

Thanks @HansMuller !


chore: add filtered field to be able to filter tasks

What does this PR do?
allow to filter tasks
depends on

[x] https://github.com/podman-desktop/podman-desktop/pull/10194

Screenshot / video of UI

What issues does this PR fix or reference?
related to https://github.com/podman-desktop/podman-desktop/issues/9924
How to test this PR?

[x] Tests are covering the bug fix or the new feature

pull request rebased as the dependent PR has been merged

src/lib/preferences/PreferencesConnectionDetailsTerminal.spec.ts:202:55 flaky?

yes but not flaky on my computer ^^

I'll try to see if for example, there is a missing waitFor

relaunched the PR check and it's all ✅


clock_control: nrf5: Ensure HF & LF running before calibration

Fix RCOSC calibration initiation to ensure LF clock is
running; and the HF clock is running with crystal before
triggering the actual calibration in ISR.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

Looks good to me. Tested on microbit with LF RC oscillator (calibration seems to happen), and on a nRF52 board with 32kHz crystal.

@JonasNorling Thank you. I will resolve conflicts later today, and update the PR (and title).

Codecov Report

Merging #11038 into master will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11038      +/-   ##
==========================================
- Coverage    53.1%   52.96%   -0.14%
==========================================
  Files         218      218
  Lines       26853    26840      -13
  Branches     5950     5949       -1
==========================================
- Hits        14259    14216      -43
- Misses      10162    10187      +25
- Partials     2432     2437       +5

Impacted Files
Coverage Δ

subsys/logging/log_output.c
63.9% <0%> (-8.79%)
:arrow_down:

subsys/logging/log_core.c
68.05% <0%> (-3.63%)
:arrow_down:

misc/printk.c
85.45% <0%> (-3.1%)
:arrow_down:

include/logging/log_msg.h
89.09% <0%> (-1.82%)
:arrow_down:

boards/posix/native_posix/timer_model.c
51.09% <0%> (-0.73%)
:arrow_down:

include/logging/log_core.h
100% <0%> (ø)
: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 6203020...ba6766a. Read the comment docs.

@anangl could you take a look for any issues with the design?


Column styles

With the new version of grapesjs-mjml, I no longer am able to control the padding of the column components.
There is a fixed 10px top and bottom with style: 'pointer-events: all;' + (clmPadd ? padding: ${clmPadd}; : ''), so I want to remove the default and add the ability to control it with styles manager.
I am adding 'padding', 'padding-top', 'padding-bottom' to the stylable attributes of the component, but it's not having any effect. Why not?
Could someone please suggest how to do this?
UPDATE:
I was able to get it to work, but I don't like how I am doing it.
The MJML component has very few styles loaded for the div element. In mjml-column index.js line 94 it returns the div element with
...
return {
        div: {
          'font-size': '0px',
          'text-align': 'left',
          direction: this.getAttribute('direction'),
          display: 'inline-block',
          'vertical-align': this.getAttribute('vertical-align'),
          width: this.getMobileWidth()
        },
...

I added the padding and other properties to it and enabled styling in grapesjs-mjml Column component with stylable and it now works... But this is not a good solution as I'm changing to original MJML component.
Could anyone suggest a better way?

I'm not entirely sure what you want to accomplish, could you provide a better example ?


(consensus-prototype) Create BlockValidationScheduler and rewrite ChainCommitState

This PR makes some additional architectural changes required to decouple the block validator from the chain controller.
Next steps are:

Move ForkResolutionResult from block validator to chain controller, along with required methods.
Only validate the given block in process_block_validation
Improve separation between completer, block scheduler, block validator, and chain controller using queues.

@nick-drozd fixed


Ndp fix search filter #2r7f4un

What
https://app.clickup.com/t/2r7f4un
scss from about our data and course details popup was imported into global.scss so was spilling into the search filters code and causing visual bugs. Refactored the popup code to only be included on the relevant pages.
How to test

On mobile view, navigate to the search page and click on show filters to check it is now displaying correctly
On any view, navigate to a course details page from a different website - check the popup shows
On any view navigate to the about our data page by clicking the link in NSS accordion and check the popup shows

Task linked: CU-2r7f4un Visual issues on mobile site


Fixed some typos

Hi guys, I'm here again.
I fixed some typos that I saw when I was digging out some files... I hope this pull request can be useful.

I just updated the website with these changes.  I forgot to do that after I merged.


SPARK-3642. Document the nuances of shared variables.

Sandy do you want to remove or update the 2nd paragraph? can be merged then, it looks like.

Test build #28433 has started for   PR 2490 at commit aae3340.

This patch merges cleanly.

Test build #28433 has finished for   PR 2490 at commit aae3340.

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

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

LGTM since the PR now represents the just the first paragraph that Josh alludes to above, and he approved that much. I'll leave it open a little while for more comments just in case.


[Bug][Blueprints] 400 error when adding Azure DevOps scope to existing project

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
On a project with an existing github connection (such as #7503), adding an Azure DevOps connection to it gives a 400 error in the UI:

Inside lake microservice container, the error is the below:
time="2024-05-24 12:40:03" level=error msg="HTTP 400 error\n\tcaused by: error patching the blueprint (400)\n\tWraps: (2)\n\tWraps: (3) fork/exec ./run.sh: argument list too long\n\tWraps: (4) fork/exec ./run.sh\n\tWraps: (5) argument list too long\n\tError types: (1) *hintdetail.withDetail (2) *hintdetail.withDetail (3) *hintdetail.withDetail (4) *fs.PathError (5) syscall.Errno"
[GIN] 2024/05/24 - 12:40:03 | 400 | 4.889660007s | <IP_ADDRESS> | PATCH "/blueprints/2"

What do you expect to happen
AzureDevops scopes are added to existing project.
How to reproduce

Create a project
Successfully add data scopes from GitHub
Try to add Azure DevOps scopes

Anything else
Same environment where #7503 is happening.
Version
1.0.0-beta6
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Would you like to try the AzureDevopsGo plugin? It is more robust and actively maintained by @mr-ks

Will do! What's the difference between the two?

@klesh somehow the repos I can see in the python plugin are not showing up in the go plugin.

Oh, I see. What is the different between those repos? loop @mr-ks

@slaterx, the two plugins use different database tables, did you manage to successfully create the connection in the go plugin?
One important distinction is that the Go version excludes disabled repositories. Is this possibly why you're not seeing some repositories?
https://github.com/apache/incubator-devlake/blob/288c01e3c7b86a0f5beb3e073320ebb69d4f206b/backend/plugins/azuredevops_go/api/remote_helper.go#L150-L155

@mr-ks thank you for explaining the distinction, indeed the difference comes from the disabled repos showing up on the python plugin.
In Azure DevOps land, a disabled repo means that only the source code is unavailable. Pipelines, boards and other items might still be available and actively used by teams (which is our case).

Sounds good. I'll re-enable disabled repositories but exclude them from tasks of the code domain. I think pr‘s and such are not available for disabled repos. What do you think @klesh, @slaterx


USBFN support in Intel Atom e3900

Hi,
Is there support for USBFN in Intel Atom e3900 BSP? If not, how to develop it? If I get steps to develop the support, it would be helpful.
Thanks,
Keshava G N

This should help.


Allow specifying additional info to go in the

You know, to allow CSS/fonts/scripts etc

This works via the configuration passed in


Combined trains break apart after server restarting

English is not my native language; please excuse typing errors.
Info
Please provide the following information:

BkCommonLib Version (/train version): 1.20.2-v1 (build: 1464)
TrainCarts Version (/train version): v1.20.2-v1 (build: 1634)
Server Type and Version (/version): git-Paper-280 (MC: 1.20.2)

Bug
Description
Combination trains running on loop lines will malfunction after a server restart. For example, carts will disconnect from each other and became a new train.
Before restart:

After restart:

You can see that some train got new children.
Steps to reproduce
Just restart the server and do nothing.

Where the trains revert, is that near to the spawn area of the server, and is the spawn kept loaded? Do the trains have keepchunksloaded on?

Where the trains revert, is that near to the spawn area of the server, and is the spawn kept loaded? Do the trains have keepchunksloaded on?

Some of them near the spawn area, but not very close(maybe about 100-200 blocks away?)
And yes, each train has enabled keepchunksloaded to ensure it can running on a circle line.

And /train startuplog doesnt show any errors at startup when this happens?

And /train startuplog doesnt show any errors at startup when this happens? Its going to be difficult to figure out when/what causes it. Not easy to reproduce on my end anyways

Yes, nothing goes wrong in the log:
====================================================
Date: Friday, November 10, 2023 GMT+8
Server: git-Paper-280 (MC: 1.20.2) (JDK 17.0.6+9-LTS-190)
Relevant plugins:
  - BKCommonLib 1.20.2-v1 (build: 1634) (jar: BKCommonLib-1.20.2-v1-1634.jar)
  - Train_Carts 1.20.2-v1 (build: 1464) (jar: TrainCarts-1.20.2-v1-1464.jar)
====================================================

---- Plugin logs ----
[10:26:13] [INFO] [BKCommonLib] Loading server plugin BKCommonLib v1.20.2-v1
[10:26:23] [INFO] [Train_Carts] 0 detector rail regions loaded covering 0 blocks
[10:26:25] [INFO] [BKCommonLib] Enabling BKCommonLib v1.20.2-v1
[10:26:26] [INFO] [BKCommonLib] BKCommonLib is running on Paper (git-Paper-280) : v1_20_R2 (Minecraft 1.20.2)
[10:26:26] [INFO] [BKCommonLib.Network] Now using the ProtocolLib library to provide Packet Listener and Monitor support
[10:26:26] [INFO] [BKCommonLib] Supplier supplying suppliers for your lazy needs!
[10:26:26] [INFO] [BKCommonLib] BKCommonLib version 1.20.2-v1 (build: 1634) enabled! (0.871s)
[10:26:28] [INFO] [BKCommonLib] [RegionChangeTracker] Region block changes will be notified from WorldEdit (>= v7.0.0)
[10:26:29] [INFO] [BKCommonLib] ViaVersion detected, will use it to detect player game versions
[10:26:29] [INFO] [Train_Carts] Enabling Train_Carts v1.20.2-v1
[10:26:33] [INFO] [Train_Carts] [Resource Pack Models] Loading resource pack item model lists
[10:26:33] [INFO] [Train_Carts] SignLink detected, support for arrival signs added!
[10:26:34] [INFO] [Train_Carts] 12 Trains have been loaded in 1 world. (240 Minecarts)
[10:26:34] [INFO] [Train_Carts] Restoring trains and loading nearby chunks...
[10:26:43] [INFO] [Train_Carts] Train_Carts version 1.20.2-v1 (build: 1464) enabled! (13.178s)
[10:26:43] [INFO] [Train_Carts] SignLink detected, support for arrival signs added!

---- Miscellaneous server logs ----
[10:26:24] [INFO] [Minecraft] Server permissions file permissions.yml is empty, ignoring it
[10:26:44] [INFO] [Minecraft] [CoreProtect] 使用 SQLite 用于数据存储。
[10:26:44] [INFO] [Minecraft] --------------------
[10:26:44] [INFO] [Minecraft] [CoreProtect] 对 CoreProtect 感到满意吗？请加入我们的 Discord 频道！
[10:26:44] [INFO] [Minecraft] [CoreProtect] Discord: www.coreprotect.net/discord/
[10:26:44] [INFO] [Minecraft] --------------------
[...]
[10:26:44] [INFO] [Minecraft] [CoreProtect] 与 WorldEdit 的交互已成功初始化。
[10:26:45] [INFO] [Minecraft] Timings Reset

This issue occurs every time the server starts. I have updated all plugins and server core but the problem is not resolved.

I suspect this error occurs during the save or restore phase. Because if you don't reboot the server, then everything will be fine.

Can you stop the server and upload the latest.log generated at that point? Its possible the server did not properly shut down (and save). So it should show the plugins disabling and worlds saving before the server shuts off.

Can you stop the server and upload the latest.log generated at that point? Its possible the server did not properly shut down (and save). So it should show the plugins disabling and worlds saving before the server shuts off.

Sure, there's the log:
[16:37:46 INFO]: There are 11 trains on this server (of which 8
[16:37:46 INFO]:  are moving)
[16:37:46 INFO]: There are 336 minecart entities
[16:37:46 INFO]: The following trains exist on this server:
[16:37:46 INFO]: L1-1 / L1-2 / L1-3 / L2-1 / L2-2 / L2-3 / L2-4 / L2-5
[16:37:46 INFO]: L2-6 / L2-7 / woolfact
[16:37:52 INFO]: Stopping the server
[16:37:52 INFO]: Stopping server
[16:37:52 INFO]: [AntiPopup] Disabling AntiPopup v7
[16:37:52 INFO]: [AntiPopup] Disabled PacketEvents.
[16:37:52 INFO]: [Chunky] Disabling Chunky v1.3.92
[16:37:52 INFO]: [CoreProtect] Disabling CoreProtect v22.2
[16:37:52 INFO]: [CoreProtect] 正在完成数据记录，请稍等...
[16:37:53 INFO]: [CoreProtect] 禁用 CoreProtect v22.2 成功！
[16:37:53 INFO]: [GravityControl] Disabling GravityControl v2.0.0
[16:37:53 INFO]: [Images] Disabling Images v2.3.1
[16:37:53 INFO]: [ResourcePack-Plugin] Disabling ResourcePack-Plugin v1.7.3
[16:37:53 INFO]: [ResourcePack-Plugin] ResourcePack-plugin has been disabled!
[16:37:53 INFO]: [SeeMore] Disabling SeeMore v1.0.2
[16:37:53 INFO]: [TabTPS] Disabling TabTPS v1.3.21
[16:37:53 INFO]: [Train_Carts] Disabling Train_Carts v1.20.2-v1
[16:37:54 INFO]: [Train_Carts] Train_Carts disabled!
[16:37:54 INFO]: [ViaBackwards] Disabling ViaBackwards v4.8.1
[16:37:54 INFO]: [BlueMap] Disabling BlueMap v3.17
[16:37:54 INFO]: [BlueMap] Stopping...
[16:37:54 INFO]: [BlueMap] Saved and stopped!
[16:37:54 INFO]: [WorldEdit] Disabling WorldEdit v7.2.17+6544-56d0383
[16:37:54 INFO]: [BKCommonLib] [RegionChangeTracker] Region block changes will no longer be notified from WorldEdit (>= v7.0.0)
[16:37:54 INFO]: Unregistering com.sk89q.worldedit.bukkit.BukkitServerInterface from WorldEdit
[16:37:54 INFO]: [SignLink] Disabling SignLink v1.20.2-v1
[16:37:54 INFO]: [SignLink] SignLink disabled!
[16:37:54 INFO]: [Vault] Disabling Vault v1.7.3-b131
[16:37:54 INFO]: [BKCommonLib] Disabling BKCommonLib v1.20.2-v1
[16:37:54 INFO]: [PlaceholderAPI] Disabling PlaceholderAPI v2.11.5
[16:37:54 INFO]: [LuckPerms] Disabling LuckPerms v5.4.82
[16:37:54 INFO]: [LuckPerms] Starting shutdown process...
[16:37:54 INFO]: [LuckPerms] Closing storage...
[16:37:54 INFO]: [LuckPerms] Goodbye!
[16:37:54 INFO]: [ProtocolLib] Disabling ProtocolLib v5.1.1-SNAPSHOT-673
[16:37:54 INFO]: [ViaVersion] Disabling ViaVersion v4.8.1
[16:37:54 INFO]: [ViaVersion] ViaVersion is disabling, if this is a reload and you experience issues consider rebooting.
[16:37:54 INFO]: Saving players
[16:37:54 INFO]: Saving worlds
[16:37:54 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[16:37:54 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world'
[16:37:54 INFO]: [ChunkHolderManager] Halted chunk system for world 'world'
[16:37:54 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world'
[16:37:55 INFO]: [ChunkHolderManager] Saved 330 block chunks, 774 entity chunks, 0 poi chunks in world 'world' in 0.62s
[16:37:55 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[16:37:55 INFO]: Saving chunks for level 'ServerLevel[world_nether]'/minecraft:the_nether
[16:37:55 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_nether'
[16:37:55 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_nether'
[16:37:55 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_nether'
[16:37:55 INFO]: [ChunkHolderManager] Saved 400 block chunks, 160 entity chunks, 0 poi chunks in world 'world_nether' in 0.45s
[16:37:55 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[16:37:55 INFO]: Saving chunks for level 'ServerLevel[world_the_end]'/minecraft:the_end
[16:37:55 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_the_end'
[16:37:55 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_the_end'
[16:37:55 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_the_end'
[16:37:55 INFO]: [ChunkHolderManager] Saved 1 block chunks, 5 entity chunks, 0 poi chunks in world 'world_the_end' in 0.02s
[16:37:55 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[16:37:55 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[16:37:55 INFO]: Flushing Chunk IO
[16:37:55 INFO]: Closing Thread Pool
2023-11-14 16:37:55,868 Log4j2-AsyncAppenderEventDispatcher-1-Async WARN Advanced terminal features are not available in this environment
[16:37:55 INFO]: Closing Server

Starting org.bukkit.craftbukkit.Main
System Info: Java 17 (Java HotSpot(TM) 64-Bit Server VM 17.0.6+9-LTS-190) Host: Windows 11 10.0 (amd64)
Loading libraries, please wait...
2023-11-14 16:38:56,772 ServerMain WARN Advanced terminal features are not available in this environment
[16:38:59 INFO]: Environment: Environment[accountsHost=https://api.mojang.com, sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[16:39:00 INFO]: Loaded 7 recipes
[16:39:00 INFO]: Starting minecraft server version 1.20.2
[16:39:00 INFO]: Loading properties
[16:39:00 INFO]: This server is running Paper version git-Paper-280 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: 4675152)
[16:39:01 INFO]: Server Ping Player Sample Count: 12
[16:39:01 INFO]: Using 4 threads for Netty based IO
[16:39:01 WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future.
    We recommend installing the spark profiler as a replacement: https://spark.lucko.me/
    For more information please visit: https://github.com/PaperMC/Paper/issues/8948
[16:39:01 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 5 worker threads, and gen parallelism of 5 threads
[16:39:01 INFO]: Default game type: SURVIVAL
[16:39:01 INFO]: Generating keypair
[16:39:01 INFO]: Starting Minecraft server on *:25565
[16:39:01 INFO]: Using default channel type
[16:39:01 INFO]: Paper: Using Java compression from Velocity.
[16:39:01 INFO]: Paper: Using Java cipher from Velocity.
[16:39:01 INFO]: [SpigotLibraryLoader] [AntiPopup] Loading 1 libraries... please wait
[16:39:01 INFO]: [SpigotLibraryLoader] [AntiPopup] Loaded library D:\MCSManager\daemon\data\InstanceData\19474cdaca8245f4ae1764d280385f04\libraries\dev\dejvokep\boosted-yaml-spigot\1.3\boosted-yaml-spigot-1.3.jar
[16:39:01 INFO]: [ViaVersion] Loading server plugin ViaVersion v4.8.1
[16:39:01 INFO]: [ViaVersion] ViaVersion 4.8.1 is now loaded. Registering protocol transformers and injecting...
[16:39:01 INFO]: [ViaVersion] Loading block connection mappings ...
[16:39:01 INFO]: [ViaVersion] Using FastUtil Long2ObjectOpenHashMap for block connections
[16:39:02 INFO]: [ViaBackwards] Loading translations...
[16:39:02 INFO]: [ViaBackwards] Registering protocols...
[16:39:02 INFO]: [ProtocolLib] Loading server plugin ProtocolLib v5.1.1-SNAPSHOT-673
[16:39:03 INFO]: [LuckPerms] Loading server plugin LuckPerms v5.4.82
[16:39:04 INFO]: [PlaceholderAPI] Loading server plugin PlaceholderAPI v2.11.5
[16:39:04 INFO]: [BKCommonLib] Loading server plugin BKCommonLib v1.20.2-v1
[16:39:09 WARN]: [org.bukkit.craftbukkit.v1_20_R2.legacy.CraftLegacy] Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!
[16:39:15 INFO]: [Vault] Loading server plugin Vault v1.7.3-b131
[16:39:15 INFO]: [SignLink] Loading server plugin SignLink v1.20.2-v1
[16:39:15 INFO]: [WorldEdit] Loading server plugin WorldEdit v7.2.17+6544-56d0383
[16:39:15 INFO]: Got request to register class com.sk89q.worldedit.bukkit.BukkitServerInterface with WorldEdit [com.sk89q.worldedit.extension.platform.PlatformManager@6b5fb7a4]
[16:39:15 INFO]: [BlueMap] Loading server plugin BlueMap v3.17
[16:39:15 INFO]: [ViaBackwards] Loading server plugin ViaBackwards v4.8.1
[16:39:15 INFO]: [Train_Carts] Loading server plugin Train_Carts v1.20.2-v1
[16:39:16 INFO]: [Train_Carts] 0 detector rail regions loaded covering 0 blocks
[16:39:16 INFO]: [TabTPS] Loading server plugin TabTPS v1.3.21
[16:39:16 INFO]: [SeeMore] Loading server plugin SeeMore v1.0.2
[16:39:16 INFO]: [ResourcePack-Plugin] Loading server plugin ResourcePack-Plugin v1.7.3
[16:39:16 INFO]: [Images] Loading server plugin Images v2.3.1
[16:39:16 INFO]: [GravityControl] Loading server plugin GravityControl v2.0.0
[16:39:16 INFO]: [CoreProtect] Loading server plugin CoreProtect v22.2
[16:39:16 INFO]: [Chunky] Loading server plugin Chunky v1.3.92
[16:39:16 INFO]: [AntiPopup] Loading server plugin AntiPopup v7
[16:39:16 INFO]: [AntiPopup] Loaded PacketEvents.
[16:39:16 INFO]: Server permissions file permissions.yml is empty, ignoring it
[16:39:16 INFO]: [ProtocolLib] Enabling ProtocolLib v5.1.1-SNAPSHOT-673
[16:39:16 INFO]: [LuckPerms] Enabling LuckPerms v5.4.82
[16:39:17 INFO]:         __
[16:39:17 INFO]:   |    |__)   LuckPerms v5.4.82
[16:39:17 INFO]:   |___ |      Running on Bukkit - Paper
[16:39:17 INFO]:
[16:39:17 INFO]: [LuckPerms] Loading configuration...
[16:39:17 INFO]: [LuckPerms] Loading storage provider... [H2]
[16:39:18 INFO]: [LuckPerms] Loading internal permission managers...
[16:39:18 INFO]: [LuckPerms] Performing initial data load...
[16:39:18 INFO]: [LuckPerms] Successfully enabled. (took 1652ms)
[16:39:18 INFO]: [BKCommonLib] Enabling BKCommonLib v1.20.2-v1
[16:39:18 INFO]: [BKCommonLib] BKCommonLib is running on Paper (git-Paper-280) : v1_20_R2 (Minecraft 1.20.2)
[16:39:18 INFO]: [BKCommonLib.Network] Now using the ProtocolLib library to provide Packet Listener and Monitor support
[16:39:19 INFO]: [BKCommonLib] Bringing home the bacon since 2011!
[16:39:19 INFO]: [BKCommonLib] BKCommonLib version 1.20.2-v1 (build: 1634) enabled! (1.154s)
[16:39:19 INFO]: [Vault] Enabling Vault v1.7.3-b131
[16:39:19 INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
[16:39:19 INFO]: [Vault] Enabled Version 1.7.3-b131
[16:39:19 INFO]: [LuckPerms] Registered Vault permission & chat hook.
[16:39:19 INFO]: [WorldEdit] Enabling WorldEdit v7.2.17+6544-56d0383
[16:39:19 INFO]: Registering commands with com.sk89q.worldedit.bukkit.BukkitServerInterface
[16:39:20 INFO]: WEPIF: Vault detected! Using Vault for permissions
[16:39:20 INFO]: Using com.sk89q.worldedit.bukkit.adapter.impl.v1_20_R2.PaperweightAdapter as the Bukkit adapter
[16:39:21 INFO]: [BKCommonLib] [RegionChangeTracker] Region block changes will be notified from WorldEdit (>= v7.0.0)
[16:39:21 INFO]: [ResourcePack-Plugin] Enabling ResourcePack-Plugin v1.7.3
[16:39:21 INFO]: [ResourcePack-Plugin]  ===============================================
[16:39:21 INFO]: [ResourcePack-Plugin]           ResourcePack-plugin launched!!
[16:39:21 INFO]: [ResourcePack-Plugin]              By CokeFenya And Fess_
[16:39:21 INFO]: [ResourcePack-Plugin]                   Version: 1.5
[16:39:21 INFO]: [ResourcePack-Plugin]              The plugin was created:
[16:39:21 INFO]: [ResourcePack-Plugin]            https://github.com/CokeFenya
[16:39:21 INFO]: [ResourcePack-Plugin]  ===============================================
[16:39:21 INFO]: Preparing level "world"
[16:39:22 INFO]: Preparing start region for dimension minecraft:overworld
[16:39:23 INFO]: Time elapsed: 528 ms
[16:39:23 INFO]: Preparing start region for dimension minecraft:the_nether
[16:39:23 INFO]: Time elapsed: 40 ms
[16:39:23 INFO]: Preparing start region for dimension minecraft:the_end
[16:39:23 INFO]: Time elapsed: 44 ms
[16:39:23 INFO]: [ViaVersion] Enabling ViaVersion v4.8.1
[16:39:23 INFO]: [ViaVersion] ViaVersion detected server version: 1.20.2 (764)
[16:39:23 INFO]: [BKCommonLib] ViaVersion detected, will use it to detect player game versions
[16:39:23 INFO]: [PlaceholderAPI] Enabling PlaceholderAPI v2.11.5
[16:39:23 INFO]: [PlaceholderAPI] Fetching available expansion information...
[16:39:23 INFO]: [SignLink] Enabling SignLink v1.20.2-v1
[16:39:24 INFO]: [PlaceholderAPI] Successfully registered internal expansion: signlink [1.20.2-v1]
[16:39:24 INFO]: [PlaceholderAPI] Successfully registered internal expansion: sl [1.20.2-v1]
[16:39:24 INFO]: [SignLink] SignLink version 1.20.2-v1 (build: 89) enabled! (0.115s)
[16:39:24 INFO]: [BlueMap] Enabling BlueMap v3.17
[16:39:24 INFO]: [BlueMap] Loading...
[16:39:24 INFO]: [ViaBackwards] Enabling ViaBackwards v4.8.1
[16:39:24 INFO]: [Train_Carts] Enabling Train_Carts v1.20.2-v1
[16:39:24 INFO]: [BlueMap] Loading resources...
[16:39:25 INFO]: [BlueMap] Loading textures...
[16:39:28 INFO]: [Train_Carts] [Resource Pack Models] Loading resource pack item model lists
[16:39:28 INFO]: [Train_Carts] SignLink detected, support for arrival signs added!
[16:39:28 INFO]: [BlueMap] Baking resources...
[16:39:29 INFO]: [BlueMap] Resources loaded.
[16:39:29 INFO]: [BlueMap] Loading world '832ed081-eb04-48a9-b773-3f364ee97064' (D:\MCSManager\daemon\data\InstanceData\19474cdaca8245f4ae1764d280385f04\world)...
[16:39:29 INFO]: [BlueMap] Initializing Storage: 'file' (Type: FILE)
[16:39:29 INFO]: [BlueMap] Loading map 'world'...
[16:39:29 INFO]: [Train_Carts] 11 Trains have been loaded in 1 world. (241 Minecarts)
[16:39:29 INFO]: [Train_Carts] Restoring trains and loading nearby chunks...
[16:39:30 INFO]: [BlueMap] Loading world 'cd544f83-1e1f-444d-84d1-24d47dc3ca5c' (D:\MCSManager\daemon\data\InstanceData\19474cdaca8245f4ae1764d280385f04\world_the_end\DIM1)...
[16:39:30 INFO]: [BlueMap] Loading map 'world_the_end'...
[16:39:32 INFO]: [BlueMap] Loading world '053b4f49-7909-4462-959e-f81d87c42b35' (D:\MCSManager\daemon\data\InstanceData\19474cdaca8245f4ae1764d280385f04\world_nether\DIM-1)...
[16:39:32 INFO]: [BlueMap] Loading map 'world_nether'...
[16:39:33 INFO]: [BlueMap] WebServer bound to all network interfaces on port 8100
[16:39:33 INFO]: [BlueMap] WebServer started.
[16:39:33 INFO]: [BlueMap] Loaded!
[16:39:39 INFO]: [Train_Carts] Train_Carts version 1.20.2-v1 (build: 1464) enabled! (15.132s)
[16:39:39 INFO]: [Train_Carts] SignLink detected, support for arrival signs added!
[16:39:39 INFO]: [TabTPS] Enabling TabTPS v1.3.21
[16:39:39 INFO]: [TabTPS] Successfully registered Mojang Brigadier support for commands.
[16:39:39 INFO]: [TabTPS] Successfully registered asynchronous command completion listener.
[16:39:39 INFO]: [SeeMore] Enabling SeeMore v1.0.2
[16:39:39 INFO]: [Images] Enabling Images v2.3.1
[16:39:39 INFO]: [Images] ProtocolLib detected. Enabling generic packet handling...
[16:39:39 INFO]: [GravityControl] Enabling GravityControl v2.0.0
[16:39:40 INFO]: [CoreProtect] Enabling CoreProtect v22.2
[16:39:40 INFO]: [CoreProtect] CoreProtect 已成功启用！
[16:39:40 INFO]: [CoreProtect] 使用 SQLite 用于数据存储。
[16:39:40 INFO]: --------------------
[16:39:40 INFO]: [CoreProtect] 对 CoreProtect 感到满意吗？请加入我们的 Discord 频道！

[16:39:40 INFO]: [ViaVersion] Finished mapping loading, shutting down loader executor!
[16:39:40 INFO]: [Vault] Checking for Updates ...
[16:39:41 INFO]: [Vault] No new version available
[16:39:41 INFO]: [PlaceholderAPI] Successfully registered external expansion: player [2.0.5]
[16:39:41 INFO]: [PlaceholderAPI] Successfully registered external expansion: servertime [3.2]
[16:39:41 INFO]: 2 placeholder hook(s) registered! 1 placeholder hook(s) have an update available.
[16:39:41 INFO]: Done (40.684s)! For help, type "help"
[16:39:41 INFO]: Timings Reset
[16:39:47 WARN]: Can't keep up! Is the server overloaded? Running 5030ms or 100 ticks behind
[16:39:48 INFO]: [Images] Loaded 18 images...
[16:40:13 INFO]: There are 13 trains on this server (of which 8
[16:40:13 INFO]:  are moving)
[16:40:13 INFO]: There are 333 minecart entities
[16:40:13 INFO]: The following trains exist on this server:
[16:40:13 INFO]: L1-1 / L1-2 / L1-3 / L2-1 / L2-2 / L2-3 / L2-4 / L2-5
[16:40:13 INFO]: L2-6 / L2-7 / L2-7~c / L2-7~d / woolfact

I cannot find anything wrong in there, have you got any idea?

The only thing I find strange is that the bluemap plugin is kicked into action while traincarts is loading trains/chunks. Its a far-off guess, but can you see what happens if you restart without bluemap running? If the same problem still occurs?
If it does its an annoying bug to track down, Ill have to send some custom builds that adds some debugging information

The only thing I find strange is that the bluemap plugin is kicked into action while traincarts is loading trains/chunks. Its a far-off guess, but can you see what happens if you restart without bluemap running? If the same problem still occurs?
If it does its an annoying bug to track down, Ill have to send some custom builds that adds some debugging information

Okay, I will try it. Thanks a lot!

The only thing I find strange is that the bluemap plugin is kicked into action while traincarts is loading trains/chunks. Its a far-off guess, but can you see what happens if you restart without bluemap running? If the same problem still occurs?
If it does its an annoying bug to track down, Ill have to send some custom builds that adds some debugging information

I disabled the Bluemap, but it didn't work. The train was still torn apart.

Went over the track walking code again, so I need to narrow down what to look for. Do you know precisely where trains disconnect? If not, I can send a test build that logs the coordinates carts have when they disconnect.
If you do, does this happen while the cart is on a curved piece of vanilla track?

Ive added a debug mode to hopefully more easily identify why trains split. Update to this build: https://ci.mg-dev.eu/job/TrainCarts/1481/
Boot server with it once, stop again. Then edit config.yml and set logTrainSplitting: true. It will then log all the splits that occur shortly after the server restart, and at normal runtime.

Cool, it catched!
[16:49:23 INFO]: 2 placeholder hook(s) registered! 1 placeholder hook(s) have an update available.
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -203/53/35}, pos={-202.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -204/53/36}, pos={-203.6567/53.0625/36.1567}, mot={-0.7071/0.0/0.7071}, f=SOUTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-203.65665663044663 y=53.0625 z=36.15665663044661
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -203/53/35}, pos={-202.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -204/53/36}, pos={-203.6567/53.0625/36.1567}, mot={-0.6991/0.0/-0.715}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-203.65665663044663 y=53.0625 z=36.15665663044661
[16:49:23 INFO]: [ViaVersion] Finished mapping loading, shutting down loader executor!
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -203/53/35}, pos={-202.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -204/53/36}, pos={-203.9196/53.0622/36.3563}, mot={-0.6991/0.0/-0.715}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-203.91958714110055 y=53.06223877590793 z=36.356287503865886
[16:49:23 INFO]: [Vault] Checking for Updates ...
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -203/53/35}, pos={-202.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -204/53/36}, pos={-203.9196/53.0622/36.3563}, mot={-0.668/1.0E-4/-0.7441}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-203.91958714110055 y=53.06223877590793 z=36.356287503865886
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -203/53/35}, pos={-202.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -204/53/36}, pos={-203.9196/53.0622/36.3563}, mot={-0.668/1.0E-4/-0.7441}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-203.91958714110055 y=53.06223877590793 z=36.356287503865886
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.1825/53.0617/36.547}, mot={-0.668/1.0E-4/-0.7441}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.18251968302818 y=53.06171802088557 z=36.54698984905209
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.1825/53.0617/36.547}, mot={-0.6417/3.0E-4/-0.767}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.18251968302818 y=53.06171802088557 z=36.54698984905209
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.1825/53.0617/36.547}, mot={-0.6417/3.0E-4/-0.767}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.18251968302818 y=53.06171802088557 z=36.54698984905209
[16:49:23 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:23 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:23 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.4453/53.0609/36.7268}, mot={-0.6417/3.0E-4/-0.767}, f=NORTH}
[16:49:23 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.44533336233116 y=53.06094427654565 z=36.72678569364815
[16:49:24 INFO]: [Vault] No new version available
[16:49:24 INFO]: Done (39.035s)! For help, type "help"
[16:49:24 INFO]: Timings Reset
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.4453/53.0609/36.7268}, mot={-0.6197/5.0E-4/-0.7848}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.44533336233116 y=53.06094427654565 z=36.72678569364815
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.4453/53.0609/36.7268}, mot={-0.6197/5.0E-4/-0.7848}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.44533336233116 y=53.06094427654565 z=36.72678569364815
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.7084/53.0599/36.8945}, mot={-0.6197/5.0E-4/-0.7848}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.70838465243475 y=53.05992799653855 z=36.89453332264862
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.7084/53.0599/36.8945}, mot={-0.6015/9.0E-4/-0.7988}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.70838465243475 y=53.05992799653855 z=36.89453332264862
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypePowered{powered=true} -204/53/35}, pos={-203.0/53.0625/35.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/36}, pos={-204.7084/53.0599/36.8945}, mot={-0.6015/9.0E-4/-0.7988}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.70838465243475 y=53.05992799653855 z=36.89453332264862
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/37}, pos={-204.9722/53.0587/37.0498}, mot={-0.6015/9.0E-4/-0.7988}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.9721673871252 y=53.058681956363635 z=37.04980968820402
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/37}, pos={-204.9722/53.0587/37.0498}, mot={-0.5866/0.0012/-0.8098}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.9721673871252 y=53.058681956363635 z=37.04980968820402
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -205/53/37}, pos={-204.9722/53.0587/37.0498}, mot={-0.5866/0.0012/-0.8098}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-204.9721673871252 y=53.058681956363635 z=37.04980968820402
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.2333/53.0572/37.1842}, mot={-0.5866/0.0012/-0.8098}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-205.23325795523226 y=53.05723617547564 z=37.18421121634505
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.2333/53.0572/37.1842}, mot={-0.5562/0.0016/-0.8311}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-205.23325795523226 y=53.05723617547564 z=37.18421121634505
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/35}, pos={-204.0/53.0625/35.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.2333/53.0572/37.1842}, mot={-0.5562/0.0016/-0.8311}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-205.23325795523226 y=53.05723617547564 z=37.18421121634505
[16:49:24 WARN]: [Train_Carts] Train 'L1-1' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.4916/53.0556/37.2927}, mot={-0.5562/0.0016/-0.8311}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #14 of 24 at x=-205.49163055110333 y=53.05561270693594 z=37.292706976306725
[16:49:24 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:24 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:24 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.4916/53.0556/37.2927}, mot={-0.3748/-0.0023/0.9271}, f=SOUTH}
[16:49:24 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.49163055110333 y=53.05561270693594 z=37.292706976306725
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.4916/53.0556/37.2927}, mot={-0.3428/-0.0027/0.9394}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.49163055110333 y=53.05561270693594 z=37.292706976306725
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.4916/53.0556/37.2927}, mot={-0.3428/-0.0027/0.9394}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.49163055110333 y=53.05561270693594 z=37.292706976306725
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.6755/53.0527/37.4121}, mot={-0.3428/-0.0027/0.9394}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.67551907028096 y=53.05266560209267 z=37.41207232763191
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.6755/53.0527/37.4121}, mot={-0.2933/-0.0034/0.956}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.67551907028096 y=53.05266560209267 z=37.41207232763191
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -205/53/34}, pos={-204.5/53.0625/35.0}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.6755/53.0527/37.4121}, mot={-0.2933/-0.0034/0.956}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.67551907028096 y=53.05266560209267 z=37.41207232763191
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.8557/53.0487/37.5}, mot={-0.2933/-0.0034/0.956}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.85565600263556 y=53.04869715777535 z=37.49997985067477
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.8557/53.0487/37.5}, mot={-0.2522/-0.0045/0.9677}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.85565600263556 y=53.04869715777535 z=37.49997985067477
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -206/53/37}, pos={-205.8557/53.0487/37.5}, mot={-0.2522/-0.0045/0.9677}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-205.85565600263556 y=53.04869715777535 z=37.49997985067477
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.0357/53.0438/37.5641}, mot={-0.2522/-0.0045/0.9677}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.0357413788915 y=53.04376507727941 z=37.5641404873241
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.0357/53.0438/37.5641}, mot={-0.2067/-0.006/0.9784}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.0357413788915 y=53.04376507727941 z=37.5641404873241
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.2225/53.0379/37.6235}, mot={-0.2067/-0.006/0.9784}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.22253023917267 y=53.03791993801431 z=37.623459793667756
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.2225/53.0379/37.6235}, mot={-0.1641/-0.0078/0.9864}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.22253023917267 y=53.03791993801431 z=37.623459793667756
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -206/53/34}, pos={-205.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.2225/53.0379/37.6235}, mot={-0.1641/-0.0078/0.9864}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.22253023917267 y=53.03791993801431 z=37.623459793667756
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.4158/53.0312/37.678}, mot={-0.1641/-0.0078/0.9864}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.415772454419 y=53.031201196083316 z=37.67802242265507
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.4158/53.0312/37.678}, mot={-0.1244/-0.0098/0.9922}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.415772454419 y=53.031201196083316 z=37.67802242265507
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.4158/53.0312/37.678}, mot={-0.1244/-0.0098/0.9922}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.415772454419 y=53.031201196083316 z=37.67802242265507
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.6152/53.0236/37.728}, mot={-0.1244/-0.0098/0.9922}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.61523586055242 y=53.02364436274294 z=37.72796883281758
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.6152/53.0236/37.728}, mot={-0.0877/-0.012/0.9961}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.61523586055242 y=53.02364436274294 z=37.72796883281758
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.6152/53.0236/37.728}, mot={-0.0877/-0.012/0.9961}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.61523586055242 y=53.02364436274294 z=37.72796883281758
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.8207/53.0153/37.7735}, mot={-0.0877/-0.012/0.9961}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.82069075084243 y=53.015281562259474 z=37.77348306988827
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.8207/53.0153/37.7735}, mot={-0.0537/-0.0144/0.9985}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.82069075084243 y=53.015281562259474 z=37.77348306988827
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -207/53/37}, pos={-206.8207/53.0153/37.7735}, mot={-0.0537/-0.0144/0.9985}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-206.82069075084243 y=53.015281562259474 z=37.77348306988827
[16:49:25 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:25 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:25 WARN]: [Train_Carts] Search end: {rail={NONE -208/53/37}, pos={-207.0319/53.0061/37.8148}, mot={-0.0537/-0.0144/0.9985}, f=SOUTH}
[16:49:25 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-207.0319013054925 y=53.006141989328256 z=37.81478185623314
[16:49:26 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:26 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -207/53/34}, pos={-206.0/53.0625/34.5}, mot={-1.0/0.0/0.0}, f=WEST}
[16:49:26 WARN]: [Train_Carts] Search end: {rail={NONE -208/53/37}, pos={-207.0319/53.0061/37.8148}, mot={-0.0225/-0.017/0.9996}, f=SOUTH}
[16:49:26 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-207.0319013054925 y=53.006141989328256 z=37.81478185623314
[16:49:26 WARN]: [Train_Carts] Train 'L1-1~a' split apart because: Next cart is derailed
[16:49:26 WARN]: [Train_Carts] Search start: {rail={RailTypeRegular -208/53/34}, pos={-207.0/53.0625/34.5}, mot={-0.7071/0.0/-0.7071}, f=NORTH}
[16:49:26 WARN]: [Train_Carts] Search end: {rail={NONE -208/52/37}, pos={-207.2486/52.9962/37.8521}, mot={-0.0225/-0.017/0.9996}, f=SOUTH}
[16:49:26 WARN]: [Train_Carts] Cart that could not be reached: cart #1 of 11 at x=-207.24863542394922 y=52.99624838562205 z=37.85210501815752
[16:49:29 WARN]: Can't keep up! Is the server overloaded? Running 5353ms or 107 ticks behind
[16:49:34 INFO]: [Images] Loaded 18 images...
[16:49:46 INFO]: There are 12 trains on this server (of which 8
[16:49:46 INFO]:  are moving)
[16:49:46 INFO]: There are 334 minecart entities
[16:49:46 INFO]: The following trains exist on this server:
[16:49:46 INFO]: L1-1 / L1-1~b / L1-2 / L1-3 / L2-1 / L2-2 / L2-3
[16:49:46 INFO]: L2-4 / L2-5 / L2-6 / L2-7 / woolfact

Interesting, its derailed. Means for some reason it cannot detect any rails at the position of the cart. Can you check for some of the positions listed, whether its above or inside a rails block?
For example: x=-205.67551907028096 y=53.05266560209267 z=37.41207232763191

The block at -205, 53, 37 is a stone, it doesn't make sense.🤔

Hmmm....its possible that the cart continues moving a short time at startup until all chunks have loaded that the train needs. Is there a linear path from that exact position at a 45 or 90 degree angle to another rail block? Trains move at a 45 degree angle in curves

Ill probably send a test build later that logs all the positions of minecarts when they are first loaded in, and their position every tick until the train loads in, to see if such a drift is occurring.

Okay, thanks for your work!

This build logs the position of all minecarts that are unloaded (pending loading) and when the minecart loads in and is converted to a traincarts minecart.
plugin.zip

I think upload a file can make you read easier?
debug.log

As I cant see the blocks involved, is there a rails at:
x=-217.5 y=60.0625 z=-160.92279605257855
For some reason the coordinates have changed, and later on the position is at:
x=-216.81599095859067 y=60.0625 z=-160.68400904140933

As I cant see the blocks involved, is there a rails at?: x=-217.5 y=60.0625 z=-160.92279605257855 For some reason the coordinates have changed, and later on the position is at: x=-216.81599095859067 y=60.0625 z=-160.68400904140933

No, there is not a rail

As I cant see the blocks involved, is there a rails at?: x=-217.5 y=60.0625 z=-160.92279605257855 For some reason the coordinates have changed, and later on the position is at: x=-216.81599095859067 y=60.0625 z=-160.68400904140933

Oh, that's a rail:

Its kinda difficult to calculate all of this, so its easier if you check. Can you /tp to exactly x=-216.8159 z=-160.684 and look all the way down? Where is this at? I think the initial spawn coordinate is indeed on the rails still

Here it is:

That does not seem like youre looking all the way down. Pitch angle is only 68 / 90. I need to know exactly where it is at

Okay :

Not the right coordinates exactly. Use
/tp @p -216.8159 ~ -160.684

It seems some miscalculation happened somewhere in the physics to cause it to move there, because that movement change makes no sense. It was on that straight piece of track, and not much later its off the rails. I'll need to add some more logging to debug this

Sure, happy to help.

plugin.zip
Lot more spammy this time, hopefully it identifies where the position of carts suddenly changes

debug.log

So its part of the physics routine unfortunately, which is a whole lot of code to cover. Ill take out a few likely places and add some logging for it, will be tricky

plugin.zip
After you send the logging, Ill pick out a single train that had issues, and list a series of coordinates. Youll have to see like previously if they are still above rails or not. So /tp @p x y z to those coordinates, and look all the way down, and verify whether or not its still above the rails or not.

Ive managed to reproduce the problem by creating a jagged track far away from spawn and having a train go around in circles on it.

I think I may have found the problem. https://ci.mg-dev.eu/job/TrainCarts/1484/

I think I may have found the problem. https://ci.mg-dev.eu/job/TrainCarts/1484/

I've tested it several times and it seems pretty good so far.

Well, looks like it shows again...

You're running with latest dev snapshot from jenkins of traincarts? There have been a lot of changes

No, I'm running with the latest Release version

Then id start with testing out https://ci.mg-dev.eu/view/all/job/TrainCarts/1542/
It has important changes when it comes to persistence, such as saving and restoring launch actions, active signs and more. Too many changes to really compare it with last release as all of that is basically a rewrite.
Let me know if it still happens, then I can look more deeply into it with the current codebase

Okay, thank you. I'll try this new build.


chore(translations): bugfixes - Sorting translated as a verb for some languages

chore(translations): bugfixes - Sorting translated as a verb for some languages_2
Fixes:

RDL-6371

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Update index.html for fourth PR

Tinkering with branch protection rules and requiring reviewers

allowed repo admin to bypass branch/merge protection rules


Loaded runtime CuDNN library: 5006 (compatibility version 5000) but source was compiled with 5103 (compatibility version 5100)

I got an error when I run the demo.py with GPU.
Environment: ubuntu14.04+python2.7+cuda7.5+cudnn5.1
root@SSAP-G3-Guest:~/Workspace/faster-rcnn-master# python tools/demo.py --model models/VGGnet_fast_rcnn_iter_70000.ckpt

The error is as follows:
Loaded network models/VGGnet_fast_rcnn_iter_70000.ckpt
E tensorflow/stream_executor/cuda/cuda_dnn.cc:378] Loaded runtime CuDNN library: 5006
(compatibility version 5000) but source was compiled with 5103 (compatibility version 5100).
If using a binary install, upgrade your CuDNN library to match.
If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
F tensorflow/core/kernels/conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
Aborted (core dumped)

Thanks!

Hi zhengyuanzhang, I met same problem and it was because I installed cuDNN v5.0. Uninstall your current cuDNN and install cuDNN5.1 may help!

Hooray~~~The steps I solved  the problems as follows:
First, remove the current cuDNN files, and reinstall the cuDNN v5.1 with official steps:

rm /usr/local/cuda/include/cudnn.h
rm /usr/local/cuda/lib64/libcudnn*

tar zxvf cudnn-7.5-linux-x64-v5.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

but it does not work at all, so I relink them one by one like this:

ln -s libcudnn.so.5 -> libcudnn.so
ln -s libcudnn.so.5.1.3 -> libcudnn.so.5

lrwxrwxrwx  1 root root        13 Oct 21 11:26 libcudnn.so -> libcudnn.so.5*
lrwxrwxrwx  1 root root        17 Oct 21 11:25 libcudnn.so.5 -> libcudnn.so.5.1.3*
-rwxr-xr-x  1 root root  60696704 Oct 21 10:48 libcudnn.so.5.1.3*

and it works.
Then I met the problem with matplotlib, this is because I run the codes on the servers.

Loaded network models/VGGnet_fast_rcnn_iter_70000.ckpt

Demo for data/demo/000456.jpg
Detection took 1.955s for 300 object proposals
Traceback (most recent call last):
  File "tools/demo.py", line 135, in <module>
    demo(sess, net, im_name)
  File "tools/demo.py", line 73, in demo
    fig, ax = plt.subplots(figsize=(12, 12))
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 1177, in subplots
    fig = figure(**fig_kw)
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 527, in figure
    **kwargs)
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 46, in new_figure_manager
    return new_figure_manager_given_figure(num, thisFig)
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 53, in new_figure_manager_given_figure
    canvas = FigureCanvasQTAgg(figure)
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 76, in __init__
    FigureCanvasQT.__init__(self, figure)
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 68, in __init__
    _create_qApp()
  File "/root/Util/miniconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 138, in _create_qApp
    raise RuntimeError('Invalid DISPLAY variable')
RuntimeError: Invalid DISPLAY variable

To solve this problems, we can add the code(down there)to the file in `$HOME/.config/matplotlib/matplotlibrc`(refer to [http://stackoverflow.com/questions/21321292/using-matplotlib-when-display-is-undefined](url) and [http://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-undefined](url))

> backend:	agg

Then I met the same problems which can be solved refering to:[https://github.com/smallcorgi/Faster-RCNN_TF/issues/2](url)

And the final comeout:

> Loaded network models/VGGnet_fast_rcnn_iter_70000.ckpt

Demo for data/demo/000456.jpg
Detection took 1.937s for 300 object proposals
Demo for data/demo/000542.jpg
Detection took 0.291s for 261 object proposals

Demo for data/demo/001150.jpg
Detection took 0.275s for 242 object proposals
Demo for data/demo/001763.jpg
Detection took 0.285s for 260 object proposals

Demo for data/demo/004545.jpg
Detection took 0.280s for 300 object proposals
Thanks a lot!


[Discussion] efficiency improvements

This is to call the efficiency improvement for LightGBM, include but not limited to:

Tree learning algorithm acceleration
I/O related, like dataset loading and model saving
Inference speed improvement
Better GPU acceleration
Distributed learning improvement

If you have any ideas, you can discuss with us here, and open the corresponding issues/pull requests if needed.

Linking #2934 and #2935.

I have a suggestion but I'm not sure it's in-scope. It concerns improving efficiency during the prediction speed of trees. This in turn could improve the overall training time because gradient boosting requires asking the weak models to predict gradients.
I'm not familiar with the tree implementation in LightGBM. The intuitive way of having two pointers that refer to the left and right childs doesn't seem to be the best format for evaluating a tree. Basically, it seems that there are two alternative ways:

Compile the tree to a sequence of ifs and elses. AFAIK this is what treelite allows you to do.
Convert a tree into a heap, which means the nodes are contiguous in memory. Each branch contains two integers that indicate where to go next in the heap. This is quite well explained in this Wikipedia article section.

I thought about suggesting this after having read this great blog post by Andrew Tulloch. I don't know if this is something LightGBM already integrates. Also I'm not well-versed in C++ so I can't help on that side. However these solutions seem rather simple to implement.

Apart from the possibility to use CUDA instead of OpenCL for GPU trees (even though it would reduce compatibility), xgboost has made a lot of progress using Dask for distributed training (in fact, I believe that other experimental distributed training techniques they had are now deprecated).
I believe someone started a project fro smoother integration between LightGBM and Dask, but I am unable to find it right now...
As for GPU, I think that guys at Rapids (Nvidia) are looking forward to developing more CUDA implementations for different ML algorithms (just like they have done with xgboost, as they have rewritten the whole gpu tree learner in the library). Maybe contacting them could be a good idea.

dask-lightgbm is here: https://github.com/dask/dask-lightgbm
It's not something we officially maintain or contribute to yet, but I agree it could be a useful thing for us to help with.

@MaxHalford Thanks very much. Actually, LightGBM is able to convert tree model to c++ codes.
However, the tree in lightgbm is not the balance tree, so it is not trivial to optimized by the methods your post.
But this is indeed a good potential direction.
BTW, we will implement the symmetric tree (like in CatBoost) in the future (by @shiyu1994 ), which will be much faster in prediction time, and more robust for the small dataset.

@guolinke I think the trick still works. You just need to maintain two arrays that indicate the left and right child of each node. That way you can "walk" to the next node with something like:
if x[features[node]] < thresholds[node]:
    node = left[node]
else:
    node = right[node]

Thank you @julioasotodv .
Actually, the CUDA implementation in existing tools already integrates most "Histogram tricks" from LightGBM.
So it is more like the "reinvert the wheel" if we just simply re-implement it again.
We plan to revisit the existing implementations and estimate the potential improvements. If there are still some rooms, we will develop the new version of LightGBM GPU.

@MaxHalford ,
The current prediction logic is very similar to that fashion, it is https://github.com/microsoft/LightGBM/blob/9b2637354a84e0da813f8e2b22608a87eee01e4c/include/LightGBM/tree.h#L572-L584 .

Cheers @guolinke. I don't believe there's much improvement to bring from that side then.
How about the method that is discusses in this scikit-learn issue? Is it already implemented?

@MaxHalford i quick through the PR. I think it is related to python-side histogram implementation, and our cpp implementation is already optimized for both speed and memory.

For the record, lightgbm is 1.5x to 2x faster than the master branch of scikit-learn in sequential mode at the moment. This difference reduces with many threads because of the diminishing returns of parallelism after 8 to 16 CPU threads. I haven't investigated yet why lightgbm is so much faster in sequential mode yet.

@ogrisel the sequential mode is num_thread=1?
Did you test the LightGBM 3.0.0 ?
We have several speed optimizations in the 3.0.0 release. In particular, LightGBM also implement row-wise histogram algorithm (previous is column-wise), and may is faster with smaller #thread or smaller #feature.

@ogrisel the sequential mode is num_thread=1?

I just set the OMP_NUM_THREADS=1 environment variable when running my benchmark script. I suppose this is equivalent.

Did you test the LightGBM 3.0.0 ?

Yes.

We have several speed optimizations in the 3.0.0 release. In particular, LightGBM also implement row-wise histogram algorithm (previous is column-wise), and may is faster with smaller #thread or smaller #feature.

Ah thanks that's probably it then. Indeed the Higgs boson benchmark I used has not that many features.

I've just added a new efficiency-related feature: #3369
If anyone following along here has experience with Apache Arrow, please add any context you think could help on that issue, or let me know if I've made any mistakes.

I've started a discussion at https://github.com/dask/community/issues/104 about the possibility of bringing dask-lightgbm into this project, similar to the direction xgboost has gone:

discussion: https://github.com/dask/dask-xgboost/issues/39
first PR: https://github.com/dmlc/xgboost/pull/4473

@StrikerRUS @guolinke I've been working with Dask a lot and would be willing to take responsibility for maintenance work on this. I agree with the decisions reached in those two xgboost links above, that having a native integration with Dask that we maintain would lead to a better user experience.

@jameslamb Awesome proposal!
Unfortunately, I'm not familiar with dask, but my intuition was that dask is about scaling training up to multiple machines. Something like "for small data use your own laptop, for big data use dask on several machines, for huge data use Spark on several clusters". Please correct me if I'm wrong. Anyway, my main concern is that by adopting dask wrapper we will have to ensure its' quality by unit tests on out side. But we have no resources to run distributed tests. Our current MPI test just ensures that MPI version can be built, but all tests are executed on one machine.

Thanks!

but my intuition was that dask is about scaling training up to multiple machines. Something like "for small data use your own laptop, for big data use dask on several machines, for huge data use Spark on several clusters". Please correct me if I'm wrong

Dask is a thing that allows for horizontal scaling across multiple machines, but it's also an API for expressing Python work that could be parallelized (even if that parallelization is all on one machine).
So, for example, people often use Dask Dataframes as a way to work with larger-than-memory data frames on a single machine. You write code that closely follows the pandas API, and Dask takes care of moving data back and forth between disk and memory without you needing to think about it.
So if we follow that proposal, you'd be able to use a Dask-ified version of lightgbm models to train on Dask collections (Dask DataFrame, Dask Array), which would be beneficial even if not scaling out to multiple machines.

by adopting dask wrapper we will have to ensure its' quality by unit tests on out side. But we have no resources to run distributed tests. Our current MPI test just ensures that MPI version can be built, but all tests are executed on one machine.

I don't think we'd have to do this for this to be successful. The dask-lightgbm project already does not do this, and approximates it with docker-compose.
One of the main design principles of Dask is that it scales from your laptop to a distributed cluster with minimal code changes...that means that we can test against a dask.distributed.LocalCluster and have some confidence that it will work on a true multi-node cluster.
Issues that are specific to the multi-node setting might be raised by users and have to be addressed here with manual testing, but that is already the current state of LightGBM-on-Dask with dask-lightgbm, so I don't think it's a reason not to move forward with that proposal.

@jameslamb Thanks a lot for the detailed response!

.that means that we can test against a dask.distributed.LocalCluster and have some confidence that it will work on a true multi-node cluster.

OK, this is great!

Thanks! @guolinke what do you think?
If we move forward with this, I'll ask the dask-lightgbm maintainers to make a PR here with the main components, and then we I can generate some issues for what else would need to be done for testing, docs, etc.

awesome! sounds good to me

Hi, I hope this is the right place to post this, but I was reading through the original LightGBM paper, and it mentions a greedy coloring scheme in which to do the (I think) one of the main optimizations that LightGBM, the feature bundling. I was wondering why a greedy method was chosen to do this instead of some other targeted approach (I think the paper mentions that bundling works well in the sparse matrix case and I believe there are coloring algorithms that specifically target sparse graphs and have more provable guarantees than a greedy method would). Sorry if this has already been asked, but has there been any work on using a different algorithm for this bundling process? I feel that this might be worth looking into, but I wasn't able to find in the code where the bundling process occurs (if it exists currently), to see if I could 'plug in' another algorithm and see if it would give a noticeable improvement.

Hi, I hope this is the right place to post this, but I was reading through the original LightGBM paper, and it mentions a greedy coloring scheme in which to do the (I think) one of the main optimizations that LightGBM, the feature bundling. I was wondering why a greedy method was chosen to do this instead of some other targeted approach (I think the paper mentions that bundling works well in the sparse matrix case and I believe there are coloring algorithms that specifically target sparse graphs and have more provable guarantees than a greedy method would). Sorry if this has already been asked, but has there been any work on using a different algorithm for this bundling process? I feel that this might be worth looking into, but I wasn't able to find in the code where the bundling process occurs (if it exists currently), to see if I could 'plug in' another algorithm and see if it would give a noticeable improvement.

We have several speed optimizations in the 3.0.0 release. In particular, LightGBM also implement row-wise histogram algorithm (previous is column-wise), and may is faster with smaller #thread or smaller #feature.

Is it possible to lay out the algorithm in this case of row-wise histogram computation (pointing to literature, add code comments, writing a blog post, ...)? I find it very difficult to follow the logic reading the code.


Dealing with different image formats

different dpi, different sizes
What to do about it?
amount of pixels has to be the same!
automatic reduction of pixel sizes

completed


HPX build fails with std::atomic missing error

Expected Behavior
building hpx from source
Actual Behavior
[grostig@fx8150-grostig-com build]$ cmake -DCMAKE_INSTALL_PREFIX=/home/grostig/libs ..
-- CMake version: 3.12.1
-- HPX version: 1.3.0
-- No vectorization library configured
-- Native TLS is enabled.
-- Nice threadlevel is disabled.
-- Stack traces are enabled.
-- Compiling with the native toolset
-- C++ mode enforced: C++17
-- Performing Test HPX_WITH_CXX11_ALIAS_TEMPLATES - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_ALIGNAS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_AUTO - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_CONSTEXPR - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_DECLTYPE - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_SFINAE_EXPRESSION - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_DEFAULTED_FUNCTIONS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_DELETED_FUNCTIONS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_EXPLICIT_CONVERSION_OPERATORS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_EXPLICIT_VARIADIC_TEMPLATES - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_EXTENDED_FRIEND_DECLARATIONS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_INLINE_NAMESPACES - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_LAMBDAS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_NOEXCEPT - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_NULLPTR - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_NSDMI - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_RANGE_BASED_FOR - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_RVALUE_REFERENCES - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_SCOPED_ENUMS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_STATIC_ASSERT - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_VARIADIC_MACROS - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_VARIADIC_TEMPLATES - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_OVERRIDE - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_ARRAY - pre-set to TRUE
-- Performing Test HPX_WITH_CXX11_ATOMIC - Failed
-- Test failed, detailed output:
CMake Error at cmake/HPX_Message.cmake:47 (message):
HPX needs support for C++11 std::atomic
Call Stack (most recent call first):
cmake/HPX_AddConfigTest.cmake:137 (hpx_error)
cmake/HPX_AddConfigTest.cmake:406 (add_hpx_config_test)
cmake/HPX_PerformCxxFeatureTests.cmake:92 (hpx_check_for_cxx11_std_atomic)
CMakeLists.txt:1174 (hpx_perform_cxx_feature_tests)
-- Configuring incomplete, errors occurred!
See also "/home/grostig/src/hpx/hpx_project_source/hpx/build/CMakeFiles/CMakeOutput.log".
See also "/home/grostig/src/hpx/hpx_project_source/hpx/build/CMakeFiles/CMakeError.log".
+++++++++++++++++++++++++++++++
This is the cmake error log:
Determining if the function __atomic_fetch_add_4 exists in the atomic failed with the following output:
Change Dir: /home/grostig/src/hpx/hpx_project_source/hpx/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/gmake" "cmTC_b717f/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_b717f.dir/build.make CMakeFiles/cmTC_b717f.dir/build
gmake[1]: Entering directory '/home/grostig/src/hpx/hpx_project_source/hpx/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_b717f.dir/CheckFunctionExists.c.o
/usr/lib64/ccache/cc   -DCHECK_FUNCTION_EXISTS=__atomic_fetch_add_4   -o CMakeFiles/cmTC_b717f.dir/CheckFunctionExists.c.o   -c /usr/share/cmake/Modules/CheckFunctionExists.c
: warning: conflicting types for built-in function â__atomic_fetch_add_4â [-Wbuiltin-declaration-mismatch]
/usr/share/cmake/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro âCHECK_FUNCTION_EXISTSâ
CHECK_FUNCTION_EXISTS(void);
^~~~~~~~~~~~~~~~~~~~~
Linking C executable cmTC_b717f
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b717f.dir/link.txt --verbose=1
/usr/lib64/ccache/cc  -DCHECK_FUNCTION_EXISTS=__atomic_fetch_add_4    -rdynamic CMakeFiles/cmTC_b717f.dir/CheckFunctionExists.c.o  -o cmTC_b717f -latomic
/usr/bin/ld: cannot find /usr/lib64/libatomic.so.1.2.0 inside /
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_b717f.dir/build.make:87: cmTC_b717f] Error 1
gmake[1]: Leaving directory '/home/grostig/src/hpx/hpx_project_source/hpx/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_b717f/fast] Error 2
Steps to Reproduce the Problem
cmake -DCMAKE_INSTALL_PREFIX=/home/grostig/libs ..
Specifications

HPX Version: Master as of today.
Platform (compiler, OS): fedora29 with libatomic installed.

My Note:
It seems to be looking for:
/usr/lib64/libatomic.so.1.2.0
My system is up to date and has this version installed:
ls -l libatomic*
lrwxrwxrwx. 1 root root    26 Aug  7  2018 libatomic_ops_gpl.so.1 -> libatomic_ops_gpl.so.1.1.2
-rwxr-xr-x. 1 root root 15392 Aug  7  2018 libatomic_ops_gpl.so.1.1.2
lrwxrwxrwx. 1 root root    22 Aug  7  2018 libatomic_ops.so.1 -> libatomic_ops.so.1.1.1
-rwxr-xr-x. 1 root root 14984 Aug  7  2018 libatomic_ops.so.1.1.1
lrwxrwxrwx. 1 root root    18 Dec 16 11:05 libatomic.so.1 -> libatomic.so.1.2.0
-rwxr-xr-x. 1 root root 31128 Dec 16 11:10 libatomic.so.1.2.0

Just verified that g++ can find atomic and that it can't find junk.
This shows that a missing library -ljunk gives an error, but no error on -latomic

Fix is to install libatomic and THEN clear out build directory and try again.  Doesn't cmake do that?  Guess not.  I just re-ran the cmake.  Can cmake properly restart without me having to know that I must remove the build dir contents manually?  Also, documentation should reflect need for libatomic to be installed, since it is not by default when gcc-g++ is installed.

@grantrostig it's not 100% clear if you had to manually install libatomic or not, but if you did it seems like that is a real missing dependency (most likely for hpx-devel, even though I know in this case you're building from source).
And yes, CMake is a bit like that. In this case CMake is caching (or we have set CMake to cache) the check for libatomic, and the solution is indeed to wipe the build directory and start over. Caching is there to speed up reconfiguration of the build, but in this case it's working against you. In general it's a good idea to start over if your configure step fails.

@msimberg This issues is on the side from Fedora. There should be a dependency of libatomic to the gcc-c++ package. Currently, one need to install the package to compile hpx. For the hpx 1.2.1 fedora release, the package will be installed by hpx-devel as a workaround.

Fix is to install libatomic and THEN clear out build directory and try again. Doesn't cmake do that? Guess not. I had just re-ran the cmake and it just kept failing. Can cmake properly restart without me having to know that I must remove the build dir contents manually? Also, documentation should reflect need for libatomic to be installed, since it is not by default when gcc-g++ is installed.

Doesn't cmake do that?

No cmake keeps the CMakeCache.txt in the build directory and the user needs to delete it.

Also, documentation should reflect need for libatomic to be installed, since it is not by default when gcc-g++ is installed.

Unfortunate,  this is very specific to Fedora and we decided to keep our documentation independent on any OS. We just have a generic tutorial how to compile hpx on Linux. We understand that this is annoying to have all these issues on Fedora, but we can not document all issues specific to one OS in our documentation.

@msimberg This issues is on the side from Fedora. There should be a dependency of libatomic to the gcc-c++ package. Currently, one need to install the package to compile hpx. For the hpx 1.2.1 fedora release, the package will be installed by hpx-devel as a workaround.
@diehlpk , I disagree, we cannot blame the extremely high quality fedora distribution, it is not their issue, nor do I think they are likely to change who gcc is packaged.
However @diehlpk , your solution appears to be the correct one, that is to add it to hpx-devel.  Do we need another issue for that, or how will that be tracked?
cc:@msimberg

No cmake keeps the CMakeCache.txt in the build directory and the user needs to delete it.
@diehlpk , I don't think your statement above is entirely accurate, I'm almost certain that the check could be written to re-verify the existence of a library at each run of the build.
Furthermore, I suggest that it be changed to do the check and other checks as needed for each time it is run, or that it be documented (applies to all, not just for fedora).  Do I need to create another issue for that?
cc: @msimberg

Unfortunate, this is very specific to Fedora and we decided to keep our documentation independent on any OS. We just have a generic tutorial how to compile hpx on Linux.
@diehlpk , Firstly there is a page that is distribution specific that shows the "dnf" and "apt-get" commands etc for the packages install.  So some parts of the documentation are specific.  I can't find the other place it mentions fedora and suse and others, but here is one also:  http://stellar-group.org/libraries/hpx/downloads/
However, we are talking about the source build, and there, I don't think it would hurt to mention the gcc-g++ std::atomic requirement, since it does also mention the boost.atomic requirement here:
https://stellar-group.github.io/hpx/docs/sphinx/latest/html/manual/building_hpx.html#prerequisites

You need to build the following Boost libraries for HPX: Boost.Atomic, Boost.Filesystem, Boost.ProgramOptions, Boost.Regex, and Boost.System.

In summary, distribution specific packages are mentioned for the use of their package managers, as show above and they should be correct.  I will write another issue.
Mention of std::atomic and it's associated libatomic.so applies to all linux distributions, even as some distributions include it with gcc and others don't.
cc: @msimberg

@grantrostig it's not 100% clear if you had to manually install libatomic or not, but if you did it seems like that is a real missing dependency (most likely for hpx-devel, even though I know in this case you're building from source). libatomic has cause us grief in the past as some compilers (and versions) seem to automatically link against it and some don't.
@msimberg , please note that I'm certain that I had to install libatomic on fedora to get the source build of cmake to work, even though gcc-g++ was already installed.  No big deal, but I'm trying to be complete.

In this case CMake is caching (or we have set CMake to cache) the check for libatomic, and the solution is indeed to wipe the build directory and start over.

We could be clearing HPX_HAVE_LIBATOMIC before the check as long as HPX_WITH_CXX11_ATOMIC is false.


Unsupported Transport response to SETUP CSeq=2: Unexpected RTSP response status

I use a raspberry pi to simulated a RTSP server, like this:
libcamera-vid -t 0 --inline --width 1332 --height 990 --framerate 30 -o - | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}' :demux=h264

Why have this error?
Unsupported Transport response to SETUP CSeq=2: Unexpected RTSP response status

when this:
../../target/debug/client mp4 --url rtsp://<IP_ADDRESS>:8554/stream out.mp4
W20240516 11:24:48.510 main retina::codec::h264] Ignoring bad H.264 format-specific-params "packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=J2QAKKwrQCoD7z1CAAADAAIAAAMAeclAAExLAAC+vN73APEiag==,KO4CXLA=;": key without value
I20240516 11:24:48.511 main client::mp4] Using h264 video stream
E20240516 11:24:48.537 main client] Fatal: Unsupported Transport response to SETUP CSeq=2: Unexpected RTSP response status

conn: <IP_ADDRESS>:56838(me)-><IP_ADDRESS>:8554@2024-05-16T11:24:48
msg: 686@2024-05-16T11:24:48

That's saying that Retina sent a SETUP request, and the RTSP server responded with status Unsupported.
I have a Pi sitting around with a camera, so I was able to reproduce with your command. I think the problem is that this RTSP server only supports UDP, and Retina defaults to TCP. You can add --transport udp --allow-loss to your Retina command and get a bit further.
After I do that, Retina starts up then complains a few seconds later about backward time jump. The Retina API allows you to permit this but I don't think the example program supports it right now.


Delete this. Issue resolved.

Delete this. Issue resolved.

@JohannBlake You can close your own issues, btw :)


Improving autofill background appearance on password inputs

Details
When auto filling any normal field we should see the whole input styled by autofill stylings
When autofilling a password input we should see part of the input styled with a strait border and a space before the visibility toggle button.
Fixed Issues
$ https://github.com/Expensify/App/issues/7016
Tests

At login screen auto fill email box
see the background fills the whole box
autofill the password box
see that the box is filled like the screenshots

[x] Verify that no errors appear in the JS console

QA Steps

[x] Verify that no errors appear in the JS console

Tested On

[x] Web
[x] Mobile Web
[ ] Desktop
[ ] iOS
[x] Android

Screenshots

Web

Hasn't regressed on other non secure inputs
Mobile Web

Desktop
There isn't any autofill on this
iOS
I can't get the autofill to fire
Android

Hey team, I'm struggling to test on iOS. The autofill isn't triggering on the login. I would install 1Password but I don't have a dev account to build for physical devices. Do you have an idea?
Also and ideas on how to test autofill on the desktop client?

Hey team, I'm struggling to test on iOS. The autofill isn't triggering on the login. I would install 1Password but I don't have a paid iOS dev account to build for physical devices, so I'm stuck on the simulator. Do you have an idea?
Also and ideas on how to test autofill on the desktop client?

On it! Just need some time

@Luke9389 do you know why that unit test is failing?

do you know why that unit test is failing?
It's an issue with OSBotify's GPG key. Not related to the PR

@anthony-hull
I tried all major password managers and couldn't get them to autofill on desktop. Password managers don't support it yet.
On iOS, I can autofill but the color of TextInput stays the same so nothing to show here

@anthony-hull
There's a very small white gap at bottom of TextInput when you fill with a password manager (Lastpass) in Android.
Is this fixable?

I will

@anthony-hull There's a very small white gap at bottom of TextInput when you fill with a password manager (Lastpass) on Android. The gap size changes when you hide/show password.
Is this fixable?

I'll have a look! Should be able to today. If not tomorrow :)

I think this happens when you auto fill into the empty field when it's not using the secure input prop. That is when the password is toggled to visible and then you autofill.
Autofilling the field in its default state I couldn't reproduce this.

I think this happens when you auto fill into the empty field when it's not using the secure input prop. That is when the password is toggled to visible and then you autofill.

Oh true, are you able fix this?

I've not been able to so far. I've not done much native visual debugging before now.
I can't see anything different about the properties of the native element between the two states in Flipper.

do you have any ideas? or advice on how to debug this?

Hmm you could experiment with padding. Maybe 1px more towards the bottom.

I tried padding. Didn't seem to make a difference. I'll have another go tomorrow morning!

Alright, I took a look into this and like @anthony-hull said, this only happens when you autofill when password is visible.
On second thoughts, to notice this you gotta really zoom and pixel peep.
I think this is good to merge.
cc: @Luke9389

Hmm, let me see if I can crack it. It seems like we're off by the width of the border.
@shawnborton what do you think about this? We've got a line of white pixels at the bottom of this input (I see it in a few other screenshots too).

I was wrong. Happens when you use google autofill. And the whitespace is much worse
https://user-images.githubusercontent.com/29673073/149624696-ff63083b-4fc7-4d68-ae4d-233dc2cd60a3.mp4

I think we should try to fix the 1px gap issue before merging this.

I think we should try to fix the 1px gap issue before merging this.

@anthony-hull gentle nudge :)

I'll have another look today

I'll have to look tomorrow instead sorry.
Lines of thinking:

Is this introduced by this change or was it there before?
Is this a subpixel division issue?
Does line height influence this?
Does removing borders completely influence it?

I'm seeing this happen on the login box with the latest code on main:

Do you mean the Onyx error? That's unrelated na?

Do you mean the Onyx error? That's unrelated na?

I mean the white line of missing autofill inside the input

Ah, happens on main too

Yeah, both screenshots are taken from main

So far no. But I find it interesting that the border radius is not being applied to the autofill background on android.
I wonder if it is a bug with react native. Or we are using styles that are unsupported with autofill on that platform.

the mismatch increases with a really high bottom padding. It goes away if padding is 0.
I think I've solved it by increasing bottom the padding to 10 and using a minus -2 margin.
Would you be happy with this solution? I could pass it in index.android.js for the TextInput component

If this is happening on main, lets not have that be a blocker for this. Has anyone created an issue?

Has anyone created an issue?
nope

It goes away if padding is 0.
I think I've solved it by increasing bottom the padding to 10 and using a minus -2 margin.

Nice! Umm, If I'm not wrong, the main usecase of negative margin is to ignore padding. So this should be okay as long as it doesn't break anything.

we haven't established that it's happening on Android only. Because we both couldn't get TextInput to be colored on iOS

asked about it on Slack .

That is true.
I just tried the app on my iPhone installed from the App Store and auto fill worked with 1Password and no highlight showed. Looks to me there isn't a background for auto fill on iOS

Bitwarden, Lastpass and iOS password manager dont't highlight. Okay, probably safe to assume there is no highlighting on iOS 😅

great news! I'll update the PR tomorrow morning with test screenshots and the fix for this second issue too!

Feels too much of a hack to do this to all inputs.
I think we need another issue and to have a root cause rather than a hack to hide it

I agree @anthony-hull

Yup, I agree that we should open a new issue and solve the gap separately.

I think @rushatgabhane should be the one to get the bug report credit for that since he mentioned it first, here. Are you ok with that @anthony-hull?

Yeah that makes sense to me!
Thanks for asking

Just wanted to let y'all know that I'll review this tomorrow. Super stacked with stuff to do today  😅

Thanks for letting us know, take your time 😄

Cool :)
Hoping no changes. I'm on holiday until Tuesday with no access to a computer

I'm back today :)

@Luke9389 bump :)

Thanks, @rushatgabhane. Sorry, I've been swamped recently :D

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @Luke9389 in version: 1.1.33-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @sketchydroide in version: 1.1.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅