From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-4.1 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id DBC8020248 for ; Mon, 4 Mar 2019 23:58:10 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 75176121D87; Tue, 5 Mar 2019 08:58:07 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id A6092121D87 for ; Tue, 5 Mar 2019 08:58:04 +0900 (JST) Received: by filter0108p3las1.sendgrid.net with SMTP id filter0108p3las1-28061-5C7DBB8C-8 2019-03-04 23:58:04.271564111 +0000 UTC m=+8882.971276951 Received: from herokuapp.com (unknown [18.208.174.211]) by ismtpd0023p1mdw1.sendgrid.net (SG) with ESMTP id L3j23-04TIGvzky7jf-ppQ for ; Mon, 04 Mar 2019 23:58:04.060 +0000 (UTC) Date: Mon, 04 Mar 2019 23:58:04 +0000 (UTC) From: fxn@hashref.com Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 67116 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14702 X-Redmine-Issue-Author: makoto_tajitsu@hotmail.co.jp X-Redmine-Issue-Assignee: ko1 X-Redmine-Sender: fxn X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?nBqvi0=2FX0JUE4l3AKfUjuwxdcsxPcgQmSMOE0TmEhKcze5TT1mb+=2FxRy1fkvQP?= =?us-ascii?Q?ui+OVYoNzvD2TM2Mqw88uO9DdxZdo+vjAc990k9?= =?us-ascii?Q?qRcwJLeZHWC5uf6zBrH4bHJkUXBnBXbndvQR=2FBZ?= =?us-ascii?Q?LuYF0WJUHVzohkNxTSJ8mzHJL994c3+Bc6R+HqD?= =?us-ascii?Q?rLS4zXO2msuje?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 91666 Subject: [ruby-core:91666] [Ruby trunk Bug#14702] On Ruby 2.5.1, tracepoint isn't working on the file that is loaded by load_iseq X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #14702 has been updated by fxn (Xavier Noria). Hi! Rails 6 applcations have bootsnap and Zeitwerk enabled by default. Right now, that needs Ruby 2.6 because Zeitwerk sets a trace point on the :class event to support what I call "explicit namespaces". Just wanted to let you know about this situation, in case you'd like to take it into account for the timeline to ship 5.2.4. ---------------------------------------- Bug #14702: On Ruby 2.5.1, tracepoint isn't working on the file that is loaded by load_iseq https://bugs.ruby-lang.org/issues/14702#change-76926 * Author: makoto_tajitsu@hotmail.co.jp (Makoto Tajitsu) * Status: Closed * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: * ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: DONE ---------------------------------------- On Ruby 2.5.1, when loading file with RubyVM::InstructionSequence.load_from_binary, TracePoint callback event is not working on loaded file. ## Steps to reproduce Ruby version. ``` $ ruby -v # => ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16] ``` The example with `yomikomu` gem which is simply used `load_iseq` and `load_from_binary` method to load file quickly is following. ```ruby $ YOMIKOMU_AUTO_COMPILE=true bundle exec irb > TracePoint.trace(:line) { |tp| puts tp.lineno if tp.path == '/path/to/somefile.rb' } # => # > load '/path/to/somefile.rb' # 3 # 4 # ... > require 'yomikomu' > load '/path/to/somefile.rb' # no tracepoint callback for line event ``` ## Result of reproduce process tracepoint callback isn't called on loaded file by using load_iseq and load_from_binary. ## Expected result and the reason why you expect tracepoint callback should be called for any loaded file to debug with debugguer(e.g. byebug). On Ruby 2.4.3, this example is working correctly, so tracepoint callback is called and output lineno to stdout when loaded file after `require 'yomikomu'`. -- https://bugs.ruby-lang.org/