* [Bug tapsets/20618] New: Cannot get the real syscall return code value @ 2016-09-19 2:57 mysecondaccountabc at gmail dot com 2016-09-19 15:44 ` [Bug tapsets/20618] " fche at redhat dot com 2016-09-20 4:34 ` mysecondaccountabc at gmail dot com 0 siblings, 2 replies; 3+ messages in thread From: mysecondaccountabc at gmail dot com @ 2016-09-19 2:57 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=20618 Bug ID: 20618 Summary: Cannot get the real syscall return code value Product: systemtap Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: tapsets Assignee: systemtap at sourceware dot org Reporter: mysecondaccountabc at gmail dot com Target Milestone: --- We need to get the syscall return value and the errno separately. However, when for instance, the connect syscall is executed in a non-blocking socket and it returns -1 and errno=115 (EINPROGRESS) all we get in a "probe syscall.*.return" is: returnval() = -115 retstr = "-115 (EINPROGRESS)" We couldn't find in any part of the documentation that returnval() or the syscall return value will be replaced with the errno value, so I wonder if it's a bug or in any case, how can we get/recover the original syscall return code? -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tapsets/20618] Cannot get the real syscall return code value 2016-09-19 2:57 [Bug tapsets/20618] New: Cannot get the real syscall return code value mysecondaccountabc at gmail dot com @ 2016-09-19 15:44 ` fche at redhat dot com 2016-09-20 4:34 ` mysecondaccountabc at gmail dot com 1 sibling, 0 replies; 3+ messages in thread From: fche at redhat dot com @ 2016-09-19 15:44 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=20618 Frank Ch. Eigler <fche at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |codonell at redhat dot com, | |fche at redhat dot com Resolution|--- |WORKSFORME --- Comment #1 from Frank Ch. Eigler <fche at redhat dot com> --- > We couldn't find in any part of the documentation that returnval() or the > syscall return value will be replaced with the errno value [...] It turns out that this is an artefact of how linux system calls work. A positive/zero return value is success, a negative return value usually is an error code that the glibc runtime will shift into the global 'errno'. At the low systemtap level, the negative errno -is- the genuine return value from the syscall. Unfortunately, we don't have convenient probes at the glibc level to observe the C-level aftereffects properly. There is a glibc RFE open (for quite some time now) for them to insert some sys/sdt.h markers, so that stap could present the cooked results properly. (RHers, see also https://bugzilla.redhat.com/show_bug.cgi?id=742034 .) -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tapsets/20618] Cannot get the real syscall return code value 2016-09-19 2:57 [Bug tapsets/20618] New: Cannot get the real syscall return code value mysecondaccountabc at gmail dot com 2016-09-19 15:44 ` [Bug tapsets/20618] " fche at redhat dot com @ 2016-09-20 4:34 ` mysecondaccountabc at gmail dot com 1 sibling, 0 replies; 3+ messages in thread From: mysecondaccountabc at gmail dot com @ 2016-09-20 4:34 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=20618 --- Comment #2 from Gustavo Moreira <mysecondaccountabc at gmail dot com> --- Ouch I see, thank you for the quick response. -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-20 4:34 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-09-19 2:57 [Bug tapsets/20618] New: Cannot get the real syscall return code value mysecondaccountabc at gmail dot com 2016-09-19 15:44 ` [Bug tapsets/20618] " fche at redhat dot com 2016-09-20 4:34 ` mysecondaccountabc at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).