18 comments

  • collinfunk 19 hours ago

    I really don't understand why Canonical rushes this. If 'rm' can't remove all possible directory entries, that is a big issue:

      $ podman run --rm -it ubuntu:26.10
      $ apt update -y; apt upgrade -y
      $ rm --version
      rm (uutils coreutils) 0.10.0
      $ gnumkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
      $ rm -rf a
      Segmentation fault (core dumped) rm -rf a
      $ ls a
      a
      $ gnurm -rf a
      $ ls a
      ls: cannot access 'a': No such file or directory
    • maxhou 57 minutes ago

      I tried switching a buildroot based CI server to the 26.04

      One Makefile statement triggered a bug in rust ln:

        src/%:
            @ln -sfn $(DIR)/foo src
      
      In parallel build, we would get random failure:

        ln: Already exists
      
      Rewrote that Makefile to work-around it, and ended up with the same kind of bugs with parallel $(INSTALL) -D ...

      Tried latest ubuntu 26.10 which supposedly fixes a lot of TOCTOU races in rust coreutils, but no better.

      Gave up and switched back to original coreutils.

      • monegator 1 hour ago

        but it segfaulted in a memory safe way.

        • nottorp 21 minutes ago

          But this is totally not a memory ownership bug! It's some other kind of bug!

          • HackerThemAll 18 minutes ago

            While I supported that idea of Rust coreutils, this your experiment showed me how bad it is. My results are totally different, but not what I expected (edited out long strings of "a/a/a" for brevity). I wouldn't call it stable...

              root@71a8c5a6c5e3:/# mkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
              mkdir: File name too long
              root@71a8c5a6c5e3:/# gnumkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
              gnumkdir: cannot create directory 'a/a/a/.../a/a': File name too long
              root@71a8c5a6c5e3:/# gnumkdir -p $(yes a/ | head -n $((3 * 1024)) | tr -d '\n')
              root@71a8c5a6c5e3:/# rm -rf a
              rm: cannot remove 'a/a/a/.../a/a/a': Directory not empty
              root@71a8c5a6c5e3:/# gnurm -rf a
              root@71a8c5a6c5e3:/# rm -rf a
              root@71a8c5a6c5e3:/#
            
            No comment...
            • Perepiska 29 minutes ago

              It can fail blazingly fast!

              • teekert 19 hours ago

                Rush? This is an interim release (95% or so only tracks LTS's) that is not even out yet... Go file a bug reports if you have some time.

                • Symbiote 3 hours ago

                  The bug report I filed several months ago hasn't been looked at. Many of these utilities were released and made the default for Ubuntu 26.04 LTS!

                  There's a whole load of basic bugs reported and ignored:

                  https://bugs.launchpad.net/ubuntu/+source/rust-coreutils

                • mixmastamyk 18 hours ago

                  I did, and the original dev of the component fixed it within a few days. It was straightforward, a backwards reading of a spec, reordered.

                  The fix is still sitting unmerged many months later.

                  This surprised me since I thought the project was in heavy bugfix/compat mode. I won’t touch it until I see some velocity on open bugs.

                  • baq 4 hours ago

                    Fork Ubuntu and threaten their business model, that’ll get their attention.

                    Only half joking.

                    • yjftsjthsd-h 3 hours ago

                      Ubuntu is the fork; just use Debian.

                      • geokon 1 hour ago

                        There's very little incentive to switch. When people release for Linux they almost always first/only test it works on Ubuntu - hence it's going to be the least buggy. (ex: GOG only seemingly tested games on Ubuntu)

                        So the switching cost is buggy software. You'd need something radically different that brings enough new features to the table to make it worth it the switch and dealing with bad/non-existant support.

                        I think something like Nix/Guix but with stable library versions that matches Ubuntu/Debian LTS ones 1-to-1 could get traction

                        • drdexebtjl 56 minutes ago

                          Then you would have to embrace their bad decisions, such as this one, and if you do, what’s the point?

                          Everything just needs to run from a container with their expected runtime environment.

                        • tjoff 3 hours ago

                          There are plenty of Ubuntu forks?

                      • oefrha 1 hour ago

                        This is certainly not just affecting interim releases. Ubuntu 26.04.1 has been released but is currently held back from do-release-upgrade for the LTS channel (which IIRC is unusual for a LTS's .1 release) due to rust-coreutils issue:

                        > Users of Ubuntu 24.04 LTS will be offered an automatic upgrade to 26.04.1 LTS via Update Manager a couple of weeks following this release after some planned backports to address regressions in a recent version of rust-coreutils.

                        https://discourse.ubuntu.com/t/ubuntu-26-04-1-lts-released/8...

                        • collinfunk 19 hours ago

                          I have. It has been an open bug upstream for years as well.

                        • LtWorf 3 hours ago

                          My experience is that filing bug reports to ubuntu is a complete waste of time. Not sure if it's different for paying users.

                          • jeffbee 18 hours ago

                            Reporting bugs before Ubuntu releases has never worked for me. They always land a bunch of major changes after the supposed "freeze" then they ignore all feedback because of the freeze. It's infuriating.

                            • collinfunk 18 hours ago

                              Glad to hear that I am not alone. I feel like launchpad is totally ignored most of the time.

                              To get a response on a buggy GNU coreutils patch of theirs [1], I had to mention it in a rust-coreutils bug months later...

                              [1] https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/215...

                              • jabl 3 hours ago

                                I've been a Ubuntu user for about 20 years, and I file bugs every now and then on launchpad. I don't recall any of them ever being fixed.

                                Maybe the bugs get traction if you have a service contract?

                                Best to file bugs directly to upstream, but that of course means you should try it on the latest upstream version and not whatever version ubuntu ships, so it's more friction.

                                • b112 11 minutes ago

                                  Upstream for much is Debian, but of course Ubuntu forks from testing, and then modifies...

                                  But if you can identify it as a bug in a version in Debian, that's a good place to file, as Ubuntu will get the fix eventually.

                          • znpy 2 hours ago

                            And that’s why i keep ubuntu far from my computers…

                            • PunchyHamster 43 minutes ago

                              It's entirely aisine and makes me avoid Ubuntu every time it is possible. And it is repeated offence, Ubuntu always tried to push the envelope in worst place and way possible

                              • amelius 19 hours ago

                                Let them first fix Snap.

                                • tjoff 5 hours ago

                                  There is no reason for anyone on any distro to use snap.

                                  It will die so just leave it alone.

                                  • 0x696C6961 10 hours ago

                                    They need to kill snap ...

                                    • LtWorf 3 hours ago

                                      I think ubuntu wants to kill desktop linux. No other explaination of why they push firefox inside snap, which then proceeds to constantly crash, when firefox used normally works completely fine.

                                      I haven't tried chromium but I presume it's the same issue.

                                      At work I'm forced to use ubuntu and I placed snapd on hold and added mozilla's own apt repository to my configuration to get firefox.

                                      At least in the past few months the dbus crashes (been using systemd on debian for several years just fine, this never happened) that render the system unusable and un-rebootable have stopped… I guess when my company will decide to upgrade to 26.04 there will be more instability and problems.

                                      • zelphirkalt 2 hours ago

                                        Firefox installed as a snap feels sluggish to me. When I install a Ubuntu system, the first thing I do is to uninstall any snap and install the apt versions of things, possibly adding official PPAs or using Guix to install software.

                                        • mrheosuper 1 hour ago

                                          why bother with ubuntu at all ? If you want ubuntu but without snap out of the box, Zorin is 1 option. Or if you also hate gnome, linux mint.

                                          • zelphirkalt 25 minutes ago

                                            Indeed. Thought not in all cases I can decide what OS to use. An employer might prescribe which one to use. And any distro will be better than being forced to use Windows.

                                        • IlikeMadison 1 hour ago

                                          sandboxing a browser makes total sense. my firefox and chromium running as snaps never crashed a single time for as long as I can remember, and I use both every day, at the same time.

                                        • cute_boi 5 hours ago

                                          Yes, please. Linux distros is better with macos approach. And making appimage first class makes a lot of sense.

                                          • ChocolateGod 3 hours ago

                                            AppImages do not work anywhere close to how macOSs .apps do, and even if they did the approach isn't correct for how things work on Linux.

                                            • tancop 4 hours ago

                                              Appimages are bloated and unreliable. You can't guarantee that your app will run on any machine because it might depend on different system libraries.

                                              Flatpak uses shared stable runtimes that are the same everywhere and don't take up space more than once. It also comes with a native update system and sandboxing. Snap is the same thing but worse.

                                              • suby 3 hours ago

                                                My problem with flatpak is that the underlying runtime has a limited lifespan. I used the Sublime Text 3 flatpak for many years, and it was deprecated a few months ago because the runtime it was using was no longer supported. This caused people to update the flatpak to Sublime 4, which is good, but I only have a license for 3. In the end I just downloaded the binary for 3 from their website, and it still just worked. Flatpak still doesn't save you from bitrot.

                                                • ChocolateGod 3 hours ago

                                                  > Snap is the same thing but worse

                                                  IIRC Snap relies heavily on AppArmor for sandboxing, so on anything non-Ubuntu the sandboxing is non-existent.

                                                • petre 5 hours ago

                                                  I'll avoid it at this point anyway. The Rust coreutils is another reason for that. Snap, monetizing updates, telemetry, enough is enough.

                                                  • voakbasda 5 hours ago

                                                    Yup. After almost 20 years, I have had enough of their crap. All of my new machines are getting Debian. Can’t wait until I am free of Ubuntu.

                                            • froh 2 hours ago

                                              to enable GPL free embedded Ubuntu, field tested on all platforms (because it happens to be the default).

                                              • dark-star 19 hours ago

                                                yeah, this is a bug. And yes, it should be fixed. But I don't think it will affect many users, I mean who has a 32000 -evels deep directory on their system?

                                                • geokon 3 hours ago

                                                  It's less about the specific issue and more indicative of bad/insufficient test coverage

                                                  • tosti 17 hours ago

                                                    What programmer or programming language can't iterate a loop more than 32000 times?!

                                                    • IshKebab 17 hours ago

                                                      It's a stack overflow which means it's using recursion and for historical reasons that don't make sense any more, stacks are teeny tiny on 64-bit Linux - apparently only 8 MB on Linux! I'm not sure why they don't raise it to something reasonable like 4 GB. I guess because they want consistency with 32-bit? Maybe we can finally change it if/when they phase out support for 32-bit Linux. Apparently it might not be that far away:

                                                      https://lwn.net/Articles/1035727/

                                                      • ploxiln 5 hours ago

                                                        8MB is the default per-thread stack size from glibc, also seems to be the default "ulimit" from pam or the kernel, I'm not sure. So for the main/default thread (or if not using threads) the process can use setrlimit() and for threads it can use pthread_attr_setstacksize() to get bigger stacks if it knows it may need them.

                                                        8MB is pretty huge though; musl libc is famous for defaulting to much smaller per-thread stack size of 128KB (to avoid over-committing lots of memory when there are many threads - the main dev is really principled/opinionated on this topic, but again there are a few ways for applications to explicitly size their stacks as large as they need). Linux kernel threads get a bit less than 16KB!

                                                        • tosti 17 hours ago

                                                          OIC. Rust doesn't guarantee optimizing tail recursion. How unfortunate for a language that's getting widespread adoption.

                                                          • gpm 16 hours ago

                                                            For what it's worth there's reasonably active [1] work on implementing opt-in guaranteed tail calls - but it's not particularly fast going. LLVM (the backend rust uses) needs better support for musttail (e.g. some architectures just don't support it [2]).

                                                            [1] https://github.com/rust-lang/rust/issues/112788

                                                            [2] https://github.com/rust-lang/rust/issues/153827

                                                            By-default guaranteed tail calls really isn't rust's style, because it means subtle changes (introducing a destructor, re-ordering code, etc) can change semantics without you realizing it. If you want to guarantee that a call can't allocate a new stack frame you should have to say it.

                                                            • lioeters 16 hours ago

                                                              Not so familiar with this area, but isn't the existing behavior of implicitly creating new stacks more of a problem than implicit tail-call elimination? Seems the latter is a kind of compiler-level optimization, of which there are already many (I think) that change the semantics internally but guarantee the outward behavior stays the same.

                                                              But I can understand the preference for an explicit opt-in, to make clear that it is enforced and not assumed.

                                                              • gpm 15 hours ago

                                                                > implicitly creating new stacks

                                                                I'd argue that it's explicit - that's what a function call does and you don't have implicit function calls in rust.

                                                                > Seems the latter is a kind of compiler-level optimization, of which there are already many (I think) that change the semantics internally but guarantee the outward behavior stays the same.

                                                                What you're asking for here already exists. Tail calls might be optimized into not allocating extra stack frames, the rust compiler just doesn't guarantee that it will perform that optimization (and almost certainly won't when code is compiled without optimizations... for instance).

                                                                What people want is the semantic guarantee that the stack frame won't be allocated. Not just a compiler that often performs the optimization. Otherwise you can't be sure that your code will keep working with new compiler flags/versions/architectures/... You could say "whenever the code is the right shape we'll guarantee the optimization" (C++ famously did this for things like copy elision)... but now the shape of code comes with non-obvious semantic guarantees and that's not rust's style. Hence the proposal for a keyword instead.

                                                                • lioeters 15 hours ago

                                                                  I see it, certain algorithms need guaranteed tail-call elimination, otherwise they are too inefficient and must be manually unrolled or rewritten to avoid blowing the stack. So a compiler optimization that is "nice to have" is not good enough.

                                                                  • clhodapp 6 hours ago

                                                                    No algorithm requires tail-call elimination in a general-purpose language with imperative mutability. It's just another way to express iteration.

                                                                    • spider-mario 1 hour ago

                                                                      Sure, but mutual recursion might require `goto` for example. Or an explicit state machine.

                                                                      • clhodapp 46 minutes ago

                                                                        I can see how it might require an explicit state machine (keep a mutable state number and switch over the inlined bodies of what could be functions), but I'm not seeing how it could require `goto`.

                                                                        Are there more-complex relationships that might require it?

                                                              • jmalicki 7 hours ago

                                                                > because it means subtle changes (introducing a destructor, re-ordering code, etc) can change semantics without you realizing it.

                                                                No, it won't change semantics - if you say @musttail or similar, it will simply fail to compile if you, say, introduce a destructor - the semantics will not subtly change.

                                                                • afdbcreid 5 hours ago

                                                                  Incorrect. `become` does change drop order - https://play.rust-lang.org/?version=nightly&mode=debug&editi....

                                                                  • jmalicki 5 hours ago

                                                                    That's not implementing tail calls breaks things, that's bad design of implementing tail calls breaking things.

                                                                    The whole idea of "let's change semantics to make it easier" is dumb.

                                                                    If you want guaranteed tail calls, change your code until it works.

                                                                  • gpm 7 hours ago

                                                                    Uh, yes, if you guarantee the semantics only when the code explicitly opts in and not by default then semantics will not subtly change, that is the point of my comment

                                                                    • jmalicki 6 hours ago

                                                                      It's not a change in semantics of compiled code. It is only a change of whether or not the code will compile.

                                                                • shiomiru 1 hour ago

                                                                  I don't think that's related? The bug alluded to looks something like

                                                                      function rm(node) {
                                                                          for (const child of ls(node))
                                                                              rm(child);
                                                                          unlink(node);
                                                                      }
                                                                  
                                                                  and no amount of tail call optimization will save you here, because this isn't tail recursion. Of course you could rewrite it using an explicit stack + tail recursion, but then you might as well be using a while loop.
                                                                  • IshKebab 12 hours ago

                                                                    Do any widely used languages guarantee tail call optimization? It's a pretty niche feature.

                                                                    • gpm 12 hours ago

                                                                      Scala, ocaml, racket, clojure, zig.

                                                                      For recursion only kotlin.

                                                                      (For most of these only with syntax specifying it)

                                                                • Ygg2 17 hours ago

                                                                  When triaging an issue you have to prioritise. Do you fix a problem that affects 2-3 people or one that may affect thousands?

                                                                  • nh2 4 hours ago

                                                                    The point is that such bugs shouldn't exist in the first place.

                                                                    Using recursion on unbounded inputs on a programming language that doesn't support that (which are most) is an extremely classical mistake that really should be known to all programmers, especially those of low level languages that care about safety.

                                                                    Every time you call something recursively you should be thinking "how deep is this?".

                                                                    • BHSPitMonkey 3 hours ago

                                                                      By that logic, why even spend effort migrating from a known-working implementation to one which is known to have outstanding bugs that there isn't enough bandwidth to fix?

                                                                  • hulitu 4 hours ago

                                                                    Rust ? Because of ... memory safety. /s

                                                                  • secondcoming 19 hours ago

                                                                    That way of thinking just means it'll never be fixed

                                                                    • abirch 19 hours ago

                                                                      "The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it." Linus Torvalds

                                                                      • dfox 18 hours ago

                                                                        The problem there is that this is exactly the class of bug that does not exist in GNU coreutils because of philosophy of that project. Non-existence of such bugs proves that the impementation is not copied from AT&T code.

                                                                        • LtWorf 3 hours ago

                                                                          It's complicated to do it yourself when upstream won't accept your code.

                                                                        • gpm 19 hours ago

                                                                          Nah, people should (and do) fix small issues as well as big issues. Lying about the scale of issues and calling them "big" when they aren't just leads to no ability to prioritize or evaluate.

                                                                          Incidentally someone submitted a PR for this issue about 3 hours before the first comment about it in this thread - https://github.com/uutils/coreutils/pull/14554 (and 2 hours before this link was submitted to HN)

                                                                          • 7bit 19 hours ago

                                                                            What approach would you suggest for priorisation of tickets?

                                                                            • secondcoming 18 hours ago

                                                                              Ideally there should have been no tickets at all if all that's happening is a program being ported to another language.

                                                                              • gpm 18 hours ago

                                                                                This isn't a port - it's a re-implementation without any use of the original source.

                                                                                That's also not all that's happening. It's also making improvements like better internalization support, better error messages, and a small handful of other extensions.

                                                                                • collinfunk 18 hours ago

                                                                                  I have had to tell them repeatedly to stop copying tests verbatim, including the original comments from GNU coreutils. So I doubt this is true, which is frustrating.

                                                                                  • leni536 2 hours ago

                                                                                    What's wrong with them using the coreutils tests?

                                                                                    • RichardLake 1 hour ago

                                                                                      If they followed the license nothing. My uninformed knowledge is that the rust based rewrite is MIT, the originals are GPL, and you can't include GPL code in a MIT licensed project without making it GPL.

                                                                                      • heinrich5991 43 minutes ago

                                                                                        But you should be able to use a GPL test suite on an MIT-licensed program (or even a proprietary one, without the program needing to be under the GPL.

                                                                                        • leni536 56 minutes ago

                                                                                          > and you can't include GPL code in a MIT licensed project without making it GPL.

                                                                                          Why is that? The tests are not linked to the distributed binaries. You can also distribute project sources with mixed licenses.

                                                                                • mrkdkirlwkfkf 6 hours ago

                                                                                  Capitalism.

                                                                            • IshKebab 17 hours ago

                                                                              I mean, that should work... but you can see why that would be considered low priority right?

                                                                              • lynx97 4 hours ago

                                                                                Wow! Memory safety and such... Reminds me when a friend of mine wrote in IRC long time ago: "Hmm, tail just segfaulted." When I asked "Are you on Hurd?" he just replied "Yes."

                                                                                • barbarkaragul 2 hours ago

                                                                                  Hi, this is not a one bug.when the change app flags not working or not happening. I was measured with bsd and busybox.

                                                                                • erminpour 3 hours ago

                                                                                  Whether you like Rust or not, it's questionable as to why Canonical would push this so much and do it in such a cavalier way.

                                                                                  Will this really make coreutils more secure? I doubt it, if anything there will be a river of new bugs.

                                                                                  So, again, why are they pushing Rust so much? Having Microsoft make Rust a 'Tier-1' language also doesn't bode well.

                                                                                  • senfiaj 38 minutes ago

                                                                                    >> Will this really make coreutils more secure?

                                                                                    In the long run yes. Sure, many logic bugs happen in Rust programs as well, but memory safety bugs are another level of hell. At least many classes of exploits will mostly be impossible. Also, Rust program failures tend to be more predictable. For example, in C/C++, if you do out of bound writes in an array or writes in a freed memory block, the behavior is undefined. The program might crash, the memory might be silently corrupted, or nothing might happen at all. In a normal (non unsafe) Rust code these kinds of issues are either prevented by static checks or become explicit runtime panics.

                                                                                    While the migration could be done more gradually, 26.10 is not an LTS release and is not considered stabe enough. The next LTS is 28.04, so I hope there is 1.5+ years for things to stabilize.

                                                                                    • pjmlp 2 hours ago

                                                                                      Canonical has been pushing its own agenda for ages, how many examples do you need?

                                                                                      Microsoft making Rust tier 1 is great, it means probably one day we get a VS proper support instead of VSCode only.

                                                                                      If you head off to Microsoft official blogs, you will find out that Microsoft already has tier 1 support for Java (ironically), Python and Go, besides the usual .NET languages and C++.

                                                                                      • pantalaimon 1 hour ago

                                                                                        It removes a GPLv3 dependency that might stop some companies from adopting Ubuntu Core.

                                                                                      • Malakun 19 hours ago

                                                                                        You can use coreutils-from-gnu instead uutils. However since 26.04 build-essential depends on coreutils-from-uutils, it cannot be upgraded while coreutils-from-gnu is installed.

                                                                                        https://bugs.launchpad.net/ubuntu/+source/build-essential/+b...

                                                                                        • egorfine 18 hours ago

                                                                                          For now you can list dependent packages manually in apt-get install: https://packages.ubuntu.com/resolute/build-essential

                                                                                          But it's clear that Ubuntu will remove coreutils, genuine sudo and other tools from the future versions. It's the direction, it's ideological and thus nor merit nor our feedback will change anything here.

                                                                                        • collinfunk 18 hours ago

                                                                                          You can use equivs to create a dummy coreutils-from-uutils package, as mentioned in the responses to that report.

                                                                                          It is frustrating that Canonical has no interest in fixing it, though. It makes it hard to take their claims seriously that you can still use GNU coreutils if you want.

                                                                                          • dwattttt 3 hours ago

                                                                                            You're specifically frustrated about unbounded stack recursion exhausting the stack, triggered by multiple thousands of directories? It doesn't sound like this is about multi-thousand-deep directory structures, it sounds like it's about something else.

                                                                                            Because even diving into it, I would agree with a prioritisation decision that puts this bug down the bottom of a priority list.

                                                                                        • Arcuru 18 hours ago

                                                                                          Has the code quality in that repo gotten to a good point then? I haven't followed it much, but last I looked[1] (which was a few years ago) almost every tool I looked at in detail had pretty bad performance or correctness issues.

                                                                                          [1] https://jackson.dev/post/rust-coreutils-dd/

                                                                                          • egorfine 18 hours ago

                                                                                            The reason for existence of uutils is ideological, not technical. Thus code quality is of no use for the objective.

                                                                                            • stouset 17 hours ago

                                                                                              I’m a huge proponent of Rust and generally lean a lot closer to the RIIR mentality than most, but this effort seems to be such a waste of effort and resources.

                                                                                              There have been a dozen CVEs reported against all of coreutils in the past twenty years. The most recent audit of uutils-coreutils turned up forty-four CVEs.

                                                                                              By all appearances they’re replacing battle-tested and fundamental tooling which hasn’t been a problem with extremely amateurish Rust. The threading highlighted in the linked post above seems pretty egregious.

                                                                                              • pantalaimon 1 hour ago

                                                                                                I think this is more about the licence, the Rust rewrite just makes it easier to swallow/gain contributors.

                                                                                                • egorfine 17 hours ago

                                                                                                  Same here. Love Rust. Hate rust rewrites.

                                                                                                  • pjmlp 2 hours ago

                                                                                                    Can vouch for the sentiment, hence why regardless of the ranting, I am quite supportive of whatever helps to improve C and C++ security story.

                                                                                                    Also for Rust based rewrites, they could start by bootstraping Rust compiler itself, dependent on C++ to start it.

                                                                                                    They don't do it, because even though LLVM and GCC are written in C++, a pure Rust compiler would not scale to the same level of contributions, and existing capabilities.

                                                                                                    • noosphr 3 hours ago

                                                                                                      The worst thing about rust are the people using it.

                                                                                                      • LtWorf 3 hours ago

                                                                                                        My impression is that go developers moved to rust.

                                                                                                        • pjmlp 2 hours ago

                                                                                                          I doubt it, as Rust approach to language design is the antithesis of Go's culture.

                                                                                                          I would appreciate Go much more otherwise.

                                                                                                  • tcfhgj 9 hours ago

                                                                                                    I bet you don't know the reason for existence

                                                                                                  • estebank 17 hours ago

                                                                                                    > last I looked[1] (which was a few years ago)

                                                                                                    You weren't kidding: it was exactly 4 years ago ("September 13, 2022").

                                                                                                  • 18Deepnar 16 minutes ago

                                                                                                    how helpful is it for it to be transitioned to rust, how does it help?

                                                                                                    • t0duf0du 3 hours ago
                                                                                                    • sehw 3 hours ago

                                                                                                      People still use ubuntu when Debian and Mint exist?

                                                                                                      • pjmlp 2 hours ago

                                                                                                        Yes, proprietary hardware support out of the box, and pre-installed option by the few OEMs that sell GNU/Linux computers.

                                                                                                        • PunchyHamster 43 minutes ago

                                                                                                          My nvidia GPU worked just fine. Debian has non-free repo you know...

                                                                                                          • pjmlp 41 minutes ago

                                                                                                            I know how well it has worked in practice since the Walnut Creek CDROMs were a thing.

                                                                                                        • LtWorf 3 hours ago

                                                                                                          The power of marketing…

                                                                                                          Ubuntu does offer some certifications but only for paying customers, so everyone else should really steer clear.

                                                                                                        • SubiculumCode 5 hours ago

                                                                                                          So what is the way forward for Linux to have sandboxi g as strong as Android? Appimage everything? I know it's possible now hacking together things, but I mean by default and integrated.

                                                                                                          • uecker 3 hours ago

                                                                                                            Maybe we could develop trustworthy free-software applications again, instead of trying to establish a commercial apps ecosystem on top of Linux?

                                                                                                            • bayindirh 3 hours ago

                                                                                                              Amutable. Building an immutable and image based system which even the installer can't modify, a-la macOS.

                                                                                                              One systemd patch at a time.

                                                                                                              • hexfish 2 hours ago

                                                                                                                AppImage is not a sandbox

                                                                                                              • Alien1Being 2 hours ago

                                                                                                                Ubuntu continues on it's quixotic mission to kill Linux...

                                                                                                                • Surac 3 hours ago

                                                                                                                  Other distros are based of ununtu. Will the all ship with crippled coreutils from now on?

                                                                                                                  • suby 2 hours ago

                                                                                                                    Linux Mint mentioned on their blog that they would be using the Rust versions.

                                                                                                                  • dsign 6 hours ago

                                                                                                                    Hmm, this doesn’t make sense. You simply don’t replace utilities with many decades of maturity and that “just work” with something that is not as mature. It will open all users of the distro to all sorts of subtle and not so subtle bugs. I for one don’t want to find myself staring at a mysterious segfault when I want to build the latest version of nodejs or flash a microcontroller. It’s such a pity; I have used Ubuntu for close to 23 years.

                                                                                                                    • overfeed 2 hours ago

                                                                                                                      on the other hand, Rust is memory safe!

                                                                                                                      • someothherguyy 5 hours ago

                                                                                                                        then install the other tool. no one is holding a gun to your head. it isn't windows.

                                                                                                                        • nairboon 4 hours ago

                                                                                                                          Like how one can easily not use snap on Ubuntu? /s

                                                                                                                      • hk1337 18 hours ago

                                                                                                                        Was there something wrong with how they are currently written or do they just want the badge that says they converted to Rust?

                                                                                                                        • Flimm 4 hours ago

                                                                                                                          Neither. They basically see Rust as the future. They want to be able to attract young contributors and to hire young employees who are excited about Rust and who want the safety features. Bear in mind, the average age of the Linux developer is increasing. They also see technical benefits in Rust. And they are increasing test coverage of both the Rust tools and the tools written in C, IIRC.

                                                                                                                          My source is this interview with the VP of Engineering at Canonical on this topic: https://corrode.dev/podcast/s05e05-canonical/

                                                                                                                          • pjmlp 2 hours ago

                                                                                                                            Interestingly enough, young developers have no issues writing C or C++ when it comes to game development, Pebble, Arduino or ESP-32 coding.

                                                                                                                            • nottorp 19 minutes ago

                                                                                                                              Those are more expensive!

                                                                                                                            • collinfunk 1 hour ago

                                                                                                                              Canonical hasn't contributed anything to GNU coreutils in the time since the switch was announced, just to be clear.

                                                                                                                              • uecker 3 hours ago

                                                                                                                                In reality, I think it much more about taking more control over parts of the ecosystem - the license change is part of it, but also getting rid of the old stubborn communities and maintainers.

                                                                                                                              • 01HNNWZ0MV43FF 6 hours ago

                                                                                                                                License. GNU is copyleft and the new thing is permissive.

                                                                                                                                We might see a fracture open slowly. For me, even AGPL is not enough

                                                                                                                                • zahlman 6 hours ago

                                                                                                                                  Once they have a more permissive license, cui bono?

                                                                                                                                  • pjmlp 4 hours ago

                                                                                                                                    Businesses.

                                                                                                                                    There is a reason all FOSS OS alternatives for embedded systems like Zephyr, NuttX, FreeRTOS, IDF, Arduino,... are not GPL based, while Google has purged Android and ChromeOS from it, with the Linux kernel being the only GPL piece left.

                                                                                                                              • nalekberov 2 hours ago

                                                                                                                                If you ask their motivation? "We want to make them safer"

                                                                                                                                They worked pretty fine for decades, now, who needs these rewrites? Not saying it's useless, but in practice, what benefits did this bring?

                                                                                                                                • froh 2 hours ago

                                                                                                                                  it's GPL free. which is good for embedded, the business side of it. like cars.

                                                                                                                                  • rwmj 2 hours ago

                                                                                                                                    Good for car manufacturers, not necessarily for cars or their owners. As a car owner I quite like manufacturers to be forced to produce source code.

                                                                                                                                    • justincormack 2 hours ago

                                                                                                                                      The kernel is still GPL

                                                                                                                                • grougnax 3 hours ago

                                                                                                                                  Can’t wait for the whole Rust rewrite of Linux!

                                                                                                                                  • atoav 2 hours ago

                                                                                                                                    I would be very curious about a bit more concrete and substential criticism what is bad (or good) about how the both versions, that goes beyond general arguments like:

                                                                                                                                      Just because it is Rust, it is not safe!  
                                                                                                                                      
                                                                                                                                      It worked before, don't replace it!  
                                                                                                                                      
                                                                                                                                      etc.  
                                                                                                                                      
                                                                                                                                    Not that these are not valid points of criticism, but in my opinion if we have two core utils we can (and should) pick the better one after careful continous evaluation. And if the old one is the better one on the day of the release, so be it. Having two competing solutions can have benefits for everybody looking for the best core utils they can get in the long run.

                                                                                                                                    I had to reimplement and reverse engineer old tech myself as part of my dayjob and had those engineers seen my results it probably would have improved their work as well, since I usually found oddities that they probably did not intend to be that way. This means my work on their work could be seen as another pair of eyeballs, bullet-proofing their original work, instead of seeing me as a threat. That additional pair of eyeballs is crucial to open source software.

                                                                                                                                    This is why it is sad that too much about this whole discussion feels like yet another culture war, heated on the stove of social media figures looking to convert heat into ad revenue.

                                                                                                                                    Which is why I would love to have more concrete points of technical criticism of specific bits maybe even to specific lines in the code or specific reproducable behavior.

                                                                                                                                    If we go the culture-war route nobody wins, if we discuss both solutions on their merits, we all can win.

                                                                                                                                    • rcxdude 1 hour ago

                                                                                                                                      I think a lot of the actual issues they're encountering are that the underlying POSIX APIs have a lot of sharp edges which the older versions of the tools have had enough time to work around, while the newer ones are generally running into the same rakes that have been there for decades. It takes a fair amount of time for those to be found and dealt with (though it also takes use, so it's a bit chicken-and-egg).

                                                                                                                                      • mrheosuper 1 hour ago

                                                                                                                                        > since I usually found oddities that they probably did not intend to be that way.

                                                                                                                                        Or it could be you don't have the context like they did. Maybe some hardware bug/quirk that happens on some exotic machine that you don't have.

                                                                                                                                      • arjie 5 hours ago

                                                                                                                                        Everything online reminds of when Ubuntu switched to dash for init scripts or something. Good times.

                                                                                                                                        • asrk-qlwu 19 hours ago

                                                                                                                                          From the company that distributed Amazon spyware (https://www.fsf.org/blogs/rms/ubuntu-spyware-what-to-do) and now turns Debian into Slopian. No thanks.

                                                                                                                                          • WatchDog 2 hours ago

                                                                                                                                            Fil-C[0] can compile GNU coreutils, it has stronger* memory safety guarantees than rust, none of the compatibility issues that a wholesale rewrite has, and performance that seems to be within about a factor of two[1] compared to the normally compiled code..

                                                                                                                                            [0]: https://fil-c.org/.

                                                                                                                                            [1]: https://bannalia.blogspot.com/2025/11/comparing-run-time-per...

                                                                                                                                            * Guaranteed to crash rather than potentially grant arbitrary code execution.

                                                                                                                                            • quotemstr 2 hours ago

                                                                                                                                              "Stronger" is absolute bullshit. No data race prevention. No intra-object protection. Mandatory GC, and 5x the compute cost. Nothing like a statically safe language.

                                                                                                                                              • logicchains 2 hours ago

                                                                                                                                                It's coreutils, there shouldn't be any threads to be data racing.

                                                                                                                                                • tcfhgj 1 hour ago

                                                                                                                                                  Haven't threads been one of the reason some core util got faster?

                                                                                                                                                  • collinfunk 1 hour ago

                                                                                                                                                    Only GNU sort uses threads. There is still some room for improvement there, if anyone wants to take a shot at it. :)