scwuaptx / Pwngdb

gdb for pwn
GNU General Public License v3.0
880 stars 123 forks source link

Error when using Pwngdb in ubuntu 19.04 with libc 2.29 #35

Open sunichi opened 5 years ago

sunichi commented 5 years ago

Ctrl + C cannot stop the gdb. Using ubuntu:19.04 Docker with pwntools and tmux.

scwuaptx commented 5 years ago

Can you give me your Dockerfile and tmux config ? I can not reproduce the problem :(

sunichi commented 5 years ago

It's my fault that I forget to say that I run/use gdb in pwntools. All config is default. Pwngdb work perfectly with pwntools in Docker under ubuntu:16.04 and ubuntu:18.04. Here is my dockerfile, exp.py and some operations/outputs in gdb.

From ubuntu:19.04
RUN sed -i "s/http:\/\/archive.ubuntu.com/http:\/\/mirrors.tuna.tsinghua.edu.cn/g" /etc/apt/sources.list 
RUN apt update && apt-get -y dist-upgrade
RUN apt install -y tmux gcc g++ cmake gdb git vim
RUN git clone https://github.com/longld/peda /root/peda
RUN git clone https://github.com/scwuaptx/Pwngdb /root/Pwngdb
RUN cp /root/Pwngdb/.gdbinit /root/
RUN apt-get install -y python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential
RUN pip install --upgrade pip
RUN pip install --upgrade pwntools
from pwn import *
p = process('bin_path')

context.terminal = ['tmux', 'split', '-h']

gdb.attach(p)

p.interactive()
p.close()
gdb-peda$ c
Continuing.
^C^C^C^C # when I send Ctrl + c to gdb, I cannot stop it.
Program terminated with signal SIGKILL, Killed. # here I terminated the executable in another screen.
The program no longer exists.
Warning: Got Ctrl+C / SIGINT!
Error while running hook_stop:
Quit
gdb-peda$
david942j commented 5 years ago

Did you confirm that there's no bug when you disable Pwngdb?

sunichi commented 5 years ago

Did you confirm that there's no bug when you disable Pwngdb?

You're right. I forget peda. After testing I find that it's peda's fault.

david942j commented 5 years ago

Actually I think it's a bug introduced in GDB 8.2: https://sourceware.org/bugzilla/show_bug.cgi?id=18772#c2