Stephen R. van den Berg wrote:
Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
Thanks. Potentially fixed.
Sorry, whack-a-mole, I guess. The bug shifted, maybe it's more obvious now (you check for inh > 0, does that even work for pointers? Maybe that should be inh != 0 instead?):
Sorry, didn't look right, here are the relevant values:
(gdb) p ident $3 = (struct pike_string *) 0x55555590a308 (gdb) p *ident $4 = {refs = 2, flags = 24 '\030', size_shift = 0 '\000', alloc_type = 2 '\002', struct_type = 0 '\000', min = 97 'a', max = 114 'r', len = 3, hval = 2164092984, next = 0x0, str = 0x555555909de0 "bar"} (gdb) p inherit_state $5 = (struct program_state *) 0x5555557e7140 (gdb) p *inherit_state $6 = {previous = 0x55555594bf50, last_line = 93824994705424, last_file = 0x0, fake_object = 0x0, new_program = 0x0, malloc_size_program = 0x0, init_node = 0x0, last_pc = 861, num_parse_error = 0, compiler_frame = 0x0, num_used_modules = 0, compiler_pass = 3, local_class_counter = 0, catch_level = 0, current_modifiers = 1, current_annotations = 0x0, current_attributes = 0x0, varargs = 0, num_create_args = 0, num_inherits = 1, last_identifier = 0x0, module_index_cache = 0x0, type_stackp = 0x7ffff75d6000, pike_type_mark_stackp = 0x7ffff75a5018, parent_identifier = 50, compat_major = 8, compat_minor = 1, flags = 0, compiler = 0x0, node_allocator = {l = {offset = 40880, block_size = 80, blocks = 512, alignment = 0, doffset = 16}, size = 0 '\000', last_free = 0 '\000', alloc = 0 '\000', pages = {0x0 <repeats 24 times>}}}