Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Hacking OpenAI(hacktron.ai ↗)
    122comments
  2. Jemalloc 5.4.0(github.com/jemalloc ↗)
    17comments
  3. Astra for Law(openai.com ↗)
    488comments
  4. The scourge of x86 emulation(fex-emu.com ↗)
    8comments
  5. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    118comments
  6. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    205comments
  7. Qwen 3.8 Omni Flash(qwen.ai ↗)
    59comments
  8. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    24comments
  9. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    158comments
  10. Wax motor(wikipedia.org ↗)
    63comments
  11. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    220comments
  12. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    5comments
  13. When the fractional part of a float fixes your shader(crocidb.com ↗)
    discuss
  14. How to Write with an LLM(sockpuppet.org ↗)
    81comments
  15. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    21comments
  16. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    51comments
  17. Apple detectives solved mystery of ancient tree and rewrote the history of fruit(scientificamerican.com ↗)
    4comments
  18. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    20comments
  19. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    36comments
  20. The most important product decision is what you don't build(liamnugent.me ↗)
    32comments
  21. Fixing an NZXT Signal 4K30 part 2: the green/pink video bug(downtowndougbrown.com ↗)
    8comments
  22. CrowdSec Source Code Leak(crowdsec.net ↗)
    44comments
  23. Waymo in Singapore(waymo.com ↗)
    106comments
  24. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    94comments
  25. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    353comments
  26. How Uber Protects Against Retry Storms(uber.com ↗)
    35comments
  27. Show HN: Snapdrop: Instantly share files between devices. No setup, no signup(snapdrop.me ↗)
    34comments
  28. Khipu (Quipu) Field Guide(khipufieldguide.com ↗)
    discuss
  29. Infinite-Parameter LLMs: Generating and Adapting Weights from Live Data(arxiv.org ↗)
    39comments
  30. Code Scans(devin.ai ↗)
    4comments

Rr 4.0 Debugger Released with Reverse Execution

107 pointsby 11y agorobert.ocallahan.org
11 comments
11y agoHN ↗

How much of rr is C++-specific? I know of a few other compiled languages out there that would love to have a tool like this.

11y agoHN ↗

As I understand it, not much. It seems to work fine with Rust, for instance.

11y agoHN ↗

That's correct. Anything you can debug with gdb should be debuggable under rr. (Though of course there could always be rr bugs that need to be fixed.)

Languages where debugging requires complex VM services are another story. For example, if your language supports debugging by modifying the code generated by a JIT, that's going to be a problem under rr, since an rr replay preserves the exact instructions executed during recording.

11y agoHN ↗

Debugging a non-trivial application with gdb without gdb crashing is quite a feat, however. Hopefully rr is less prone to segfaulting. Gdb is easily the least stable standard debugger I've used on any preemptive scheduling OS.

11y agoHN ↗

gdb almost never crashes for me debugging Firefox on Linux, with or without rr.

11y agoHN ↗

Why such/similar tool with a simple GUI interface isn't default standard, for most popular languages/platforms ?

Wouldn't it tremendously save developers time ?... And, accordingly, huge amounts of money ?

Please! No more sado-masochism!

11y agoHN ↗

Looks like it's because until now it was not available, since rr has gained both reverse execution and x86-64 support quite recently (now and end of 2014 respectively)

There have been other similar tools previously, but they were either slow (chronicle), unable to work on complex programs or only worked on VMs.

11y agoHN ↗

The features and general approach are quite similar.

There are some significant internal differences. UndoDB relies on code instrumentation but rr does not. Mainly because of that (AFAIK), UndoDB's recording overhead is significantly higher than rr's. On the other hand, UndoDB can handle some cases rr does not, in particular when a recorded task shares memory with another task which is not part of the recording. Also, UndoDB supports ARM/Android and rr does not.

11y agoHN ↗

Awesome. I wanted just something like that but never heard it exists. Thanks, HN.

Anyone with experience using rr - does it work for long-running processes (daemons) that eventually crash? I had few cases where it wasn't possible to trigger a failure right away, and waiting another day for the daemon to crash to have a new core dump wasn't any great experience. Is the tool usable for such cases - I mean, without dumping few hundred gigabytes of execution history?

11y agoHN ↗

The recording data rate is highly workload-dependent. For Firefox I find it's often around 1MB per second but your daemon could be a lot more or less than that, depending on what it does.

A few hundred gigabytes may sound like a lot, but it costs less than $100 so if it saves you a significant amount of time, why not? The biggest problem using rr with a very long trace is that to debug it you need to replay all the way forward to the crash point, which might take you another day or longer. Though that's just machine time so you can run that in the background while doing other work.