[ruby-core:81016] [Ruby trunk Bug#13526] Segmentation fault at 0x0055c2e58e8920 ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

From: s.wanabe@...
Date: 2017-05-07 02:44:18 UTC
List: ruby-core #81016
Issue #13526 has been updated by wanabe (_ wanabe).

File bug13526_dp.log added
File bug13526_dp.patch added

`git bisect` shows that this issue is appeared at r52332 [Bug #11384].

I ran https://bugs.ruby-lang.org/issues/13526#note-1 script with attached debug-print patch and got the log.

1. Thread 0x000055eacc7089d0 had "waitq: 0x7f737581fa18" on the stack. (line 4)
2. Thread 0x000055eacc7089d0 was killed and its stack was shrinked. (line 20)
3. `rb_autoload_reset()` tried to delete "waitq: 0x7f737581fa18" from list. (line 22)
4. But the node have been out of stack and corrupted!

And the log alerts us that `check_autoload_required()` returns inconsistent values.
I guess this is caused by the flow: `rb_autoload_str()` -> `rb_const_set(mod, id, Qundef)` -> `const_tbl_update()` -> `autoload_delete()` -> `st_delete(RCLASS_IV_TBL(mod), &autoload, &val)`.
(But maybe other issue...)


----------------------------------------
Bug #13526: Segmentation fault at 0x0055c2e58e8920 ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
https://bugs.ruby-lang.org/issues/13526#change-64678

* Author: vlad-leonov (Vladislav Leonov)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
* Backport: 2.2: UNKNOWN, 2.3: REQUIRED, 2.4: REQUIRED
----------------------------------------
see attached log

---Files--------------------------------
segv.log (245 KB)
bug13526.log (13.7 KB)
bug13526_dp.patch (2.72 KB)
bug13526_dp.log (12.5 KB)


-- 
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>

In This Thread

Prev Next