[issue1302] Checkpoint regression?

Samuel J. Greear (via DragonFly issue tracker) sinknull at crater.dragonflybsd.org
Sun Mar 1 02:03:46 PST 2009

Samuel J. Greear <sjg at evilcode.net> added the comment:

For posterity, the language from the sys_checkpoint(2) manpage is as follows and
I believe we agreed that it was the desired behavior.

     Two signals are associated with checkpointing.  SIGCKPT is delivered via
     the tty ckpt character, usually control-E.  Its default action is to
     checkpoint a program and continue running it.  The SIGCKPTEXIT signal can
     only be delivered by kill(2).  Its default action is to checkpoint a pro-
     gram and then exit.  SIGCKPTEXIT might not be implemented by the system.

I've tested your changes and checkpoints will now thaw, but it looks like more
work is going to be needed for them to be useful. Not just in terms of threads
but it also appears TLS may be wonky in the single thread case. Traceback from
my rwhod hacked to natively handle SIGCKPTEXIT and properly reinit on thaw.

Core was generated by `rwhod'.
Program terminated with signal 11, Segmentation fault.
#0  0x28053a2d in ___tls_get_addr () from /usr/libexec/ld-elf.so.2
(gdb) bt
#0  0x28053a2d in ___tls_get_addr () from /usr/libexec/ld-elf.so.2
#1  0x28115ef9 in nsdispatch () from /usr/lib/libc.so.6
#2  0x281093d0 in GETSERVBYNAME_R () from /usr/lib/libc.so.6
#3  0x28109410 in ?? () from /usr/lib/libc.so.6
#4  0x28108e08 in ?? () from /usr/lib/libc.so.6
#5  0x28108f30 in getservbyname () from /usr/lib/libc.so.6
#6  0x08049ff4 in main (argc=0, argv=<value optimized out>) at rwhod.c:251

I haven't investigated this further, but I will unless someone beats me to it.

DragonFly issue tracker <bugs at lists.dragonflybsd.org>

More information about the Bugs mailing list