From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [IPv6:2a01:4f8:1c0c:6b10::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 2E78A1F44D for ; Tue, 13 Feb 2024 10:58:56 +0000 (UTC) Received: from nue.mailmanlists.eu (localhost [127.0.0.1]) by nue.mailmanlists.eu (Postfix) with ESMTP id DDE058297D; Tue, 13 Feb 2024 10:58:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1707821928; bh=Fz6CwBjisFA3kyOKTwDIl2sM36TnuU9zfQm3dB69ukg=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=kgfSXuFp2ZhA0Hmy2i6x7IchbH8kcjE8J/KxFHzNM8QJJytXrI/Bq5fsQVZtnZ2jI 6Hr3vw4pV6ccUB4usJ5jsfXJn9I5Y7URNIj1ZWtHpJY4yjry11pI+ZouaN9NssScMM J5HZu/2/+5Sx2nl2aLpJU8s8gYrCWCWp7SyxlfGk= Received: from s.csnrwnwx.outbound-mail.sendgrid.net (s.csnrwnwx.outbound-mail.sendgrid.net [198.37.146.154]) by nue.mailmanlists.eu (Postfix) with ESMTPS id CFD4D828F1 for ; Tue, 13 Feb 2024 10:58:44 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=OBLyI9qr; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=GRO1OMp2kCCG+fTMPCESTmKyURQowTH0OPpu4vdVcOg=; b=OBLyI9qrCqNv4GekD7vIWUPTCqnG1jLHZvLmqK7LCWMaama6ayCFJEhYhQSlp22EsbP6 hBxiLuHoWSVQhFt2Mn3c+4qG5+gzriVp92ItXbTbIQskHW15T2VVAfJCIBFZ9s+6fk+J8v svjB+cQbeFya5GQuOLlhMQLUoG6LSgNNb9pPyk3XaaXzTUmEmdM23OgZ8JDQYurwDvA6FO oTlPAE9OFcOcdlN5wXdB9WDF7E5hpz2Vqu+8Wi9+jZiGRU3AAA43nAtBTcQX51w7JLtoyk zzxguS3gqkdb0Mcmie22PHSQ882peeRfe/u3LXkevDPOJysTA1sYN0AziAY3xj/Q== Received: by recvd-ffdf554ff-rnbqs with SMTP id recvd-ffdf554ff-rnbqs-1-65CB4B62-D 2024-02-13 10:58:42.947224147 +0000 UTC m=+915231.831540289 Received: from herokuapp.com (unknown) by geopod-ismtpd-12 (SG) with ESMTP id nX8qCqNgSteTTQ-3_QeqEg for ; Tue, 13 Feb 2024 10:58:42.914 +0000 (UTC) Date: Tue, 13 Feb 2024 10:58:42 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 19117 X-Redmine-Issue-Author: byroot X-Redmine-Sender: Eregon 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-Redmine-MailingListIntegration-Message-Ids: 93251 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qXcLJTJ6PKXwC9yQRGQwhLQHxfDxtAQOJTe?= =?us-ascii?Q?cDAffF84GNJVia7Bnz06OuDtjPDCjm5YEMi8q34?= =?us-ascii?Q?qhO65UT9H26EwOD6jKFsHnsjDFTygTb2h4Gigts?= =?us-ascii?Q?uUnESwbDynaTavHmmYrYsgjaRCOBIvRX3kIHS0m?= =?us-ascii?Q?7cQk8AHw0s+d0ETjFPS2w=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== Message-ID-Hash: QGSXAIZDWLFLPG3ISPLSZMRJKFABWRNZ X-Message-ID-Hash: QGSXAIZDWLFLPG3ISPLSZMRJKFABWRNZ X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.3 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:116695] [Ruby master Feature#19117] Include the method owner in backtraces, not just the method name List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "Eregon (Benoit Daloze) via ruby-core" Cc: "Eregon (Benoit Daloze)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Issue #19117 has been updated by Eregon (Benoit Daloze). I think without quotes, while it looks clean for a simple example of all short paths it can be slower/harder to find the method name with more realistic cases. For example in the case in https://bugs.ruby-lang.org/issues/19117#note-32, it would be: ``` /Users/byroot/.gem/ruby/3.2.2/gems/activerecord-7.1.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:30:in checkin: wrong number of arguments (given 0, expected 1) (ArgumentError) ``` If the exception message contains `:` then it becomes quite hard to scan too. ---------------------------------------- Feature #19117: Include the method owner in backtraces, not just the method name https://bugs.ruby-lang.org/issues/19117#change-106710 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal * Target version: 3.4 ---------------------------------------- ``` module Foo class Bar def inspect 1 + '1' end end end p Foo::Bar.new ``` This code produce the following backtrace: ``` /tmp/foo.rb:4:in `+': String can't be coerced into Integer (TypeError) from /tmp/foo.rb:4:in `inspect' from /tmp/foo.rb:9:in `p' from /tmp/foo.rb:9:in `
' ``` This works, but on large codebases and large backtraces the method name isn't always all that revealing, most of the time you need to open many of the locations listed in the backtrace to really understand what is going on. I propose that we also include the owner name: ``` /tmp/foo.rb:4:in `Integer#+': String can't be coerced into Integer (TypeError) from /tmp/foo.rb:4:in `Foo::Bar#inspect' from /tmp/foo.rb:9:in `Kernel#p' from /tmp/foo.rb:9:in `
' ``` I believe that in many case it would allow to much better understand the backtrace without having to jump back and forth between it and the source code. This is inspired by @ivoanjo 's `backtracie` gem: https://github.com/ivoanjo/backtracie -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/