Bug #16521

ST_DEBUG not working

Added by shyouhei (Shyouhei Urabe) 6 months ago. Updated 5 months ago.

Target version:


  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 <>
    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:
    Find the GDB manual and other documentation resources online at:
    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/".
    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

Updated by shyouhei (Shyouhei Urabe) 5 months ago

  • Status changed from Open to Closed

Applied in changeset git|fbd7f08e922cdf1a4be7a71aa056659971c81dab.

kill ST_DEBUG [Bug #16521]

This compile-time option has been broken for years (at least since
commit 4663c224fa6c925ce54af32fd1c1cbac9508f5ec, according to git
bisect). Let's delete codes that no longer work.

Also available in: Atom PDF