When systemtaping Ruby application (Satellite) we are hitting: Full error: user string copy fault -14 at 0000000001a9e310 [man error::fault] near identifier 'user_string_n' at /usr/share/systemtap/tapset/uconversions.stp. The solution was to change user_string to user_string_warn in libruby.stp file. For RH SCL this is located at: /opt/rh/rh-ruby22/root/usr/share/systemtap/tapset/libruby.so.2.2.stp This will no longer exit session but continue working (with a warning message).
Created attachment 1246650 [details] The patch
(In reply to Lukas Zapletal from comment #0) > This will no longer exit session but continue working (with a warning > message). Could you please elaborate what is the benefit/difference? I am afraid I don't fully understand the intention here ...
Sure, is as easy as user_string exist systemtap script while user_string_warn just issues a warning. Basically it's impossible to use SystemTap on Ruby codebase with C extensions without this change.
(In reply to Lukas Zapletal from comment #3) > Sure, is as easy as user_string exist systemtap script while > user_string_warn just issues a warning. Basically it's impossible to use > SystemTap on Ruby codebase with C extensions without this change. But what is the reason for "Full error: user string copy fault -14 at 0000000001a9e310 [man error::fault] near identifier 'user_string_n' at /usr/share/systemtap/tapset/uconversions.stp." Using the _warning variant looks just as an workaround of some underlying issue ...
My understanding is that SystemTap can preempt into Ruby VM in any state, even in inconsistent, thus the error. Shell I ask someone from SystemTap to review this?
(In reply to Lukas Zapletal from comment #5) > Shell I ask someone from SystemTap to review this? That would be sweet ...
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.
The change seems fine. Or use user_string_quoted (which handles errors by going to hex addresses instead).
Vit, that's the review, I asked Frank from SystemTap team :-) ^^^