This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Updating from 0303 to 0505 has problems


On Sun, May 13, 2007 at 12:02:54AM -0500, Quentin Barnes wrote:
On Thu, May 10, 2007 at 01:28:44AM -0400, Martin Hunt wrote:
On Wed, 2007-05-09 at 22:22 -0500, Quentin Barnes wrote:


The problem is the "poll warning: Interrupted system call" diagnostic message from staprun that's throwing off expect. Below is a patch that fixes this problem for this message. Now whether this is a fix or a workaround I don't know. There are two possible fixes: 1) change stap_run.exp to account for the extra diagnostic, 2) change staprun's reader_thread() not to generate the diagnostic in the first place. I chose the former for this patch. Which approach would be the better fix?

I think I checked in a fix to this a few days ago. Certainly that error
message no longer is in the sources. Of course, there could be new
problems now... Could you give either the current CVS version a try or a
snapshot from May 8 or later?

I tried it with the 0512 snapshot and it still has problems.


Running it with add.stp:
====================
# staprun .systemtap/cache/51/stap_51971f530865fabd17b2f297433cc8f6_473.ko systemtap starting probe
[pressed ^C here]
#
====================


After I pressed ^C there should have been the additional messages:
====================
systemtap ending probe
systemtap test success
====================

But there was nothing.  It just exited.  This is now also causing
a lot of "eof" failures with the test suite since those messages
are lost.

I played some and found the change below fixed losing the post interrupt messages. Whether it is a hack workaround or a real fix, I don't know the code well enough to know. So far, this also seemed to fix many of the "eof" failures.


--- runtime/staprun/Orig/relay.c 2007-05-12 13:17:34.000000000 -0500 +++ runtime/staprun/relay.c 2007-05-13 18:08:13.000000000 -0500 @@ -76,7 +76,6 @@ static void *reader_thread(void *data) fprintf(stderr, "poll error: %s\n",strerror(errno)); pthread_exit(NULL); } - stop_threads = 1; } while ((rc = read(relay_fd[cpu], buf, sizeof(buf))) > 0) { if (write(out_fd[cpu], buf, rc) != rc) {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]