Hacker News

Top stories

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

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.