|
From: Christian P. <chr...@gm...> - 2015-01-31 13:49:22
|
Hi everyone!
I'm currently trying to run callgrind not on the whole program (mysqld in
my case) but just on a section of it/part of its execution. I therefore
start mysqld with the following command:
sudo valgrind --tool=callgrind --instr-atstart=no
/usr/local/mysql/bin/mysqld --user=mysql
Unfortunately, when I then run the following to enable instrumentation
(after mysqld is up and running)
sudo callgrind_control -i on
it justs prints out a message like this and that's it:
"PID 19680: bin/mysqld --user=mysql"
Apparently callgrind_control hangs on a read system call waiting for some
output from vgdb. If I shudown callgrind_control it outputs the following:
"syscall failed: Interrupted system call
error opening /tmp/vgdb-pipe-to-vgdb-from-19680-by-root-on-??? read cmd
result from pid"
The specified file does exist under /tmp. mysqld does not respond to MySQL
clients trying to connect to it while callgrind_control is in that hanging
state and once I shutdown callgrind_control mysqld shuts down as well. Does
anyone have an idea about what is going on exactly or what to do to resolve
this? Running callgrind on mysqld with instrumentation enabled from the
beginning works perfectly fine for me. The valgrind and callgrind version
used is 3.10.1.
Thanks in advance,
Christian
|
|
From: Josef W. <Jos...@gm...> - 2015-01-31 20:50:44
|
Am 31.01.2015 um 14:49 schrieb Christian Priebe: > Apparently callgrind_control hangs on a read system call waiting for > some output from vgdb. Since Valgrind 3.9 or 3.10, callgrind_control is just a wrapper around vgdb. When mysql is running under callgrind, just call "vgdb -l" (sudo as needed). This gives something like use --pid=28503 for ... and then run "vgdb --pid=28503 help" to see the commands you can send to callgrind, e.g. "vgdb --pid=28503 instrumentation on". Does this work? Josef > If I shudown callgrind_control it outputs the > following: > > "syscall failed: Interrupted system call > error opening /tmp/vgdb-pipe-to-vgdb-from-19680-by-root-on-??? read cmd > result from pid" > > The specified file does exist under /tmp. mysqld does not respond to > MySQL clients trying to connect to it while callgrind_control is in that > hanging state and once I shutdown callgrind_control mysqld shuts down as > well. Does anyone have an idea about what is going on exactly or what to > do to resolve this? Running callgrind on mysqld with instrumentation > enabled from the beginning works perfectly fine for me. The valgrind and > callgrind version used is 3.10.1. > > > Thanks in advance, > Christian > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > > > > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |