[pypy-dev] Dontbug: A reversible debugger for PHP (similar in concept to RevDB for Python/PyPy)

Sidharth Kshatriya sid.kshatriya at gmail.com
Fri Oct 21 02:36:09 EDT 2016


Hi Maciej,

Yes, Dontbug is built on top of RR. Mozilla/RR can be finicky at times but
overall I had a very good experience with it.

I developed Dontbug on Ubuntu 16.04 and I found RR to be pretty robust on
that distro at least. I did encounter a serious regression once (I was on a
bleeding edge commit) but it was addressed quickly after I filed a ticket.
RR runs Travis tests on Ubuntu 14.04 so we can be sure about that distro
also. I also see references to Fedora in RR documentation so I'm guessing
RR should be good on that distribution also.

The reason I mention all these distros is that your experience with RR will
often depend on the specific Linux kernel version and the gdb debugger
version you're using (and to a slightly lesser extend the specific distro).
RR tends to use a lot of hairy/advanced features like ptrace, seccomp-bpf,
CPU performance counters etc. and the internal implementation of these in
the kernel tends to subtly change over time (or suffer bugs). So you can
often run into problems on very recent distros. For instance there is
currently an outstanding ticket for test failures on Ubuntu 16.10.

But as mentioned, the developers tend to address these quickly. As long as
you're on a mainstream non-bleeding edge distro, I would think that RR
should work fine for you. The Mozilla folks use RR to debug Firefox which
is a hugely complex application (as you can imagine) and this gives me
confidence about the overall correctness of RR.

Coming to PyPy I would suggest you try RR out again. As a start, try it out
on Ubuntu 16.04. If you run into problems do post a ticket on the RR
project.

I also noticed some references to UndoDB usage on the PyPy project. How has
your team's experience been with UndoDB+PyPy in general? It would
interesting to learn about your experiences there...

Thanks,

Sidharth


On Fri, Oct 21, 2016 at 10:58 AM, Maciej Fijalkowski <fijall at gmail.com>
wrote:

> Hi Sidharth
>
> I see dontbug is based on rr - I would like to know how well rr works
> for you. We've tried using rr for pypy and it didn't work as
> advertised. On the other hand it seems the project is moving fast, so
> maybe it works these days
>
> On Thu, Oct 20, 2016 at 9:50 PM, Sidharth Kshatriya
> <sid.kshatriya at gmail.com> wrote:
> > Dear All,
> >
> > There have been some interesting blogs about RevDB a reversible debugger
> for
> > Python on the PyPy blog.
> >
> > I'd like to tell you about Dontbug, a reversible debugger for PHP that I
> > recently released. Like RevDB, it allows you to debug forwards and
> backwards
> > -- but in PHP.
> >
> > See:
> > https://github.com/sidkshatriya/dontbug
> >
> > For a short (1m35s) demo video:
> > https://www.youtube.com/watch?v=DA76z77KtY0
> >
> > Why am I talking about this in a PyPy mailing list :-) ? Firstly,
> because I
> > think reverse debuggers for dynamic languages are relatively rare -- so
> its
> > a good idea that we know about each other! Secondly, the fact that there
> are
> > more and more reversible debuggers for various languages every year means
> > that reverse debugging is definitely entering the mainstream. We could
> be at
> > an inflexion point here!
> >
> > Hope you guys find Dontbug interesting!
> >
> > Thanks,
> >
> > Sidharth
> >
> >
> >
> > _______________________________________________
> > pypy-dev mailing list
> > pypy-dev at python.org
> > https://mail.python.org/mailman/listinfo/pypy-dev
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20161021/71a9c327/attachment.html>


More information about the pypy-dev mailing list