[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-devel
Subject:    Re: [Sbcl-devel] [Sbcl-commits] master: Fix ldb backtrace early in cold init.
From:       Stas Boukarev <stassats () gmail ! com>
Date:       2023-07-01 0:21:07
Message-ID: CAF63=10gDv+C=JzaVDCwVrtK9UMuUvyOJzUg05yygKse_xfgfg () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Don't know what it should do, but even just printing the symbol name was
enough for me to diagnose the problem.

On Sat, Jul 1, 2023 at 2:50 AM Douglas Katzman <dougk@google.com> wrote:

> symbol_package in that file is supposed to do something sane. (Though it
> looks like it calls lose)
> Can it return a malloc'd string containing "pkgId42" or something like
> that, and then either free or leak the string?
>
> On Fri, Jun 30, 2023 at 7:28 PM stassats via Sbcl-commits <
> sbcl-commits@lists.sourceforge.net> wrote:
>
>> The branch "master" has been updated in SBCL:
>>        via  c43f12e6249164eb370ae5151bda64a333682846 (commit)
>>       from  e6c6c447366b24a8e6b97ddb0d266a1c9dc143ed (commit)
>>
>> - Log -----------------------------------------------------------------
>> commit c43f12e6249164eb370ae5151bda64a333682846
>> Author: Stas Boukarev <stassats@gmail.com>
>> Date:   Sat Jul 1 02:28:11 2023 +0300
>>
>>     Fix ldb backtrace early in cold init.
>>
>>     When packages are not available.
>> ---
>>  src/runtime/backtrace.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c
>> index 64ed30618..87ca533ba 100644
>> --- a/src/runtime/backtrace.c
>> +++ b/src/runtime/backtrace.c
>> @@ -176,8 +176,10 @@ print_entry_name (lispobj name, FILE *f)
>>              if (prefix) fputs(prefix, f); else {
>>                  struct package *pkg
>>                      = (struct package
>> *)native_pointer(symbol_package(symbol));
>> -                struct vector *pkg_name =
>> VECTOR(follow_maybe_fp(pkg->_name));
>> -                print_string(pkg_name, f);
>> +                lispobj name_ptr = follow_maybe_fp(pkg->_name);
>> +                if (name_ptr) {
>> +                    print_string(VECTOR(name_ptr), f);
>> +                }
>>                  fputs("::", f);
>>              }
>>              print_string(symbol_name(symbol), f);
>>
>> -----------------------------------------------------------------------
>>
>>
>> hooks/post-receive
>> --
>> SBCL
>>
>>
>> _______________________________________________
>> Sbcl-commits mailing list
>> Sbcl-commits@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/sbcl-commits
>>
>

[Attachment #5 (text/html)]

<div dir="ltr">Don&#39;t know what it should do, but even just printing the symbol \
name was enough for me to diagnose the problem.</div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 1, 2023 at \
2:50 AM Douglas Katzman &lt;<a \
href="mailto:dougk@google.com">dougk@google.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr">symbol_package in that file is \
supposed to do something sane. (Though it looks like it calls lose)<div>Can it return \
a malloc&#39;d string containing  &quot;pkgId42&quot; or something like that, and \
then either free or leak the string?</div></div><br><div class="gmail_quote"><div \
dir="ltr" class="gmail_attr">On Fri, Jun 30, 2023 at 7:28 PM stassats via \
Sbcl-commits &lt;<a href="mailto:sbcl-commits@lists.sourceforge.net" \
target="_blank">sbcl-commits@lists.sourceforge.net</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The branch \
&quot;master&quot; has been updated in SBCL:<br>  via   \
c43f12e6249164eb370ae5151bda64a333682846 (commit)<br>  from   \
e6c6c447366b24a8e6b97ddb0d266a1c9dc143ed (commit)<br> <br>
- Log -----------------------------------------------------------------<br>
commit c43f12e6249164eb370ae5151bda64a333682846<br>
Author: Stas Boukarev &lt;<a href="mailto:stassats@gmail.com" \
                target="_blank">stassats@gmail.com</a>&gt;<br>
Date:     Sat Jul 1 02:28:11 2023 +0300<br>
<br>
      Fix ldb backtrace early in cold init.<br>
<br>
      When packages are not available.<br>
---<br>
  src/runtime/backtrace.c | 6 ++++--<br>
  1 file changed, 4 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c<br>
index 64ed30618..87ca533ba 100644<br>
--- a/src/runtime/backtrace.c<br>
+++ b/src/runtime/backtrace.c<br>
@@ -176,8 +176,10 @@ print_entry_name (lispobj name, FILE *f)<br>
                    if (prefix) fputs(prefix, f); else {<br>
                          struct package *pkg<br>
                                = (struct package \
                *)native_pointer(symbol_package(symbol));<br>
-                        struct vector *pkg_name = \
                VECTOR(follow_maybe_fp(pkg-&gt;_name));<br>
-                        print_string(pkg_name, f);<br>
+                        lispobj name_ptr = follow_maybe_fp(pkg-&gt;_name);<br>
+                        if (name_ptr) {<br>
+                              print_string(VECTOR(name_ptr), f);<br>
+                        }<br>
                          fputs(&quot;::&quot;, f);<br>
                    }<br>
                    print_string(symbol_name(symbol), f);<br>
<br>
-----------------------------------------------------------------------<br>
<br>
<br>
hooks/post-receive<br>
-- <br>
SBCL<br>
<br>
<br>
_______________________________________________<br>
Sbcl-commits mailing list<br>
<a href="mailto:Sbcl-commits@lists.sourceforge.net" \
target="_blank">Sbcl-commits@lists.sourceforge.net</a><br> <a \
href="https://lists.sourceforge.net/lists/listinfo/sbcl-commits" rel="noreferrer" \
target="_blank">https://lists.sourceforge.net/lists/listinfo/sbcl-commits</a><br> \
</blockquote></div> </blockquote></div>





_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic