Hi Motohiro,

Thank you for your feedback.

Dne 9.7.2012 22:46, KOSAKI Motohiro napsal(a):
On Mon, Jul 9, 2012 at 9:47 AM, Vít Ondruch <[email protected]> wrote:
Hi,

Updated ABRT gem version 0.0.2 is available at RubyGems.org if you like to
test it. I'd love to hear some feedback.

There were done following changes:

* Improved code base
* Better handling of some edge cases, such as call to Kernel#exit or Ctrl+C
event
* Test suite added
* Improved documentation

I also prepared RPM for Fedora. Review is available at
https://bugzilla.redhat.com/show_bug.cgi?id=838568

  def self.report(backtrace, io = abrt_socket)
    io.write "PUT / HTTP/1.1\r\n\r\n"
    io.write "PID=#{Process.pid}\0"
    io.write "EXECUTABLE=#{$PROGRAM_NAME}\0"
Hmm..

If I understand correctly, EXECUTABLE key is used for looking up package name
from abrt daemon. Then, It should be realfilename. See below abrt doc.


abrt/doc/interpreted-languages:

EXECUTABLE
The file with the main entry point of the application. Might be a JAR
archive, a script file, a bytecode file, or the interpreter. It should
be a real file on the filesystem, so ABRT can check the origin of the
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


However, PROGRAM_NAME can be changed from ruby scripting. e.g.
$0 = "foobar"

You are right, you can change the $PROGRAM_NAME. I'll make several points here

* Is there some more reliable way how to detect the script name?
* What is the use case and how widely is this practice used? Can we ignore this case? Python handler ignores it if I am not mistaken (but we should be better of course ;) * ABRT ignores such failure and it just logs something like "Executable 'foo.rb' doesn't belong to any package" into /var/log/messages.



    # TODO: Do we need specialized Ruby analyzer?
    # io.write "ANALYZER=Ruby\0"
    io.write "ANALYZER=Python\0"
    io.write "BASENAME=rbhook\0"
    io.write "REASON=#{backtrace.first}\0"
    io.write "BACKTRACE=#{backtrace.join("\n")}\0"
btw, I wrote a patch to redirect rb_bug() message to abrtd too.
Is it interesting for you?

https://github.com/kosaki/ruby/commit/6283017dc2747f306808ce530292dc51273746ec

I'll take a closer look later if you don't mind, but could you please elaborate the patch a bit? I know you have risen some concerns previously. What is advantage of your patch or how is it different? What scenarios it should handle and what not?

Thank you.


Vit
_______________________________________________
ruby-sig mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/ruby-sig

Reply via email to