Issue #16521 has been reported by shyouhei (Shyouhei Urabe).

----------------------------------------
Bug #16521: ST_DEBUG not working
https://bugs.ruby-lang.org/issues/16521

* Author: shyouhei (Shyouhei Urabe)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
1. configure with `cppflags=-DST_DEBUG`
2. make it.
3. ```    
    % gdb --args ./miniruby -ve0
    GNU gdb (Ubuntu 8.2-0ubuntu1~18.04) 8.2
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Type "show copying" and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
        <http://www.gnu.org/software/gdb/documentation/>.
    
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from miniruby...done.
    (gdb) run
    Starting program: miniruby -ve0
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    miniruby: st.c:1019: find_table_bin_ind_direct: Assertion `entries[bin - ENTRY_BASE].hash != hash_value' failed.
    
    Program received signal SIGABRT, Aborted.
    __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
    51      ../sysdeps/unix/sysv/linux/raise.c: そのようなファイルやディレクトリはありません.
    (gdb) bt
    #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
    #1  0x00007ffff6985801 in __GI_abort () at abort.c:79
    #2  0x00007ffff697539a in __assert_fail_base (fmt=0x7ffff6afc7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5555558400c0 "entries[bin - ENTRY_BASE].hash != hash_value", file=file@entry=0x555555840038 "st.c", line=line@entry=1019, function=function@entry=0x555555840470 <__PRETTY_FUNCTION__.43939> "find_table_bin_ind_direct") at assert.c:92
    #3  0x00007ffff6975412 in __GI___assert_fail (assertion=assertion@entry=0x5555558400c0 "entries[bin - ENTRY_BASE].hash != hash_value", file=file@entry=0x555555840038 "st.c", line=line@entry=1019, function=function@entry=0x555555840470 <__PRETTY_FUNCTION__.43939> "find_table_bin_ind_direct") at assert.c:101
    #4  0x000055555575e809 in find_table_bin_ind_direct (tab=tab@entry=0x555555b23c40, hash_value=hash_value@entry=738871835983296, key=738871835983296) at st.c:1019
    #5  0x00005555557608f9 in st_add_direct_with_hash (hash=<optimized out>, value=93824998260896, key=738871835983296, tab=0x555555b23c40) at st.c:1242
    #6  rb_st_add_direct (tab=0x555555b23c40, key=key@entry=93824994939284, value=value@entry=93824998260896) at st.c:1259
    #7  0x0000555555679c48 in rb_vm_encoded_insn_data_table_init () at iseq.c:3118
    #8  0x000055555561b221 in ruby_setup () at eval.c:85
    #9  0x000055555561b2d9 in ruby_init () at eval.c:107
    #10 0x000055555557d65a in main (argc=<optimized out>, argv=<optimized out>) at main.c:49
    (gdb)
    ```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>