Issue #12305 has been updated by Konstantin Starodubtsev.


Nobuyoshi Nakada wrote:
> How to reproduce it?
> Couldn't you show simplified/reduced script?

This is a web application running on top of padrino framework and it's using various gems to consume and process data from external systems. 
Unfortunately, this bug happens only once or twice per day, and I couldn't find any pattern in bug occurrence. It may happen during virtually any user request. I couldn't reproduce bug on a test dataset, but it happens on a different hosts when running in production.

If you could point me to some information about how to pull more debug information from runtime, or increase probability of this bug to happen, or whatever else, I could try it and then attempt to make a script to reproduce the problem.

Thanks.

----------------------------------------
Bug #12305: "can't remove str from str_id" at unregister_sym
https://bugs.ruby-lang.org/issues/12305#change-58197

* Author: Konstantin Starodubtsev
* Status: Feedback
* Priority: Normal
* Assignee: ruby-core
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
I'm experiencing random occurrences of "can't remove str from str_id" crash.

Message string looks like this one:

```
/srv/sim/.rvm/gems/ruby-2.3.0@env-manager/gems/mongo-2.2.4/lib/mongo/server/description.rb:508: [BUG] 0x007f4f400ab310 can't remove str from str_id (`..dO.)
```

The only constant thing in it is the "can't remove str from str_id" substring. Other things like address, source code location or symbol string value in brackets differ between crash reports (see attachments).

In a C level backtrace information the only common part is top of a trace:

```
-- C level backtrace information -------------------------------------------
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(rb_vm_bugreport+0x51f) [0x7f4f8b0106ff] vm_dump.c:688
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(rb_bug+0xcf) [0x7f4f8ae9a01f] error.c:420
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(unregister_sym.part.12+0x20) [0x7f4f8ae4aada] symbol.c:399
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(rb_gc_free_dsymbol+0x62) [0x7f4f8afa56a2] symbol.c:637
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(gc_sweep_step+0x621) [0x7f4f8aec0d01] gc.c:2211
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(heap_get_freeobj_from_next_freepage+0x72) [0x7f4f8ae498c3] gc.c:3624
/srv/sim/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.3(newobj_slowpath_wb_protected+0xf4) [0x7f4f8aec43d4] gc.c:1679

We hit this bug at least once per day, so should you need any other information, let me know.
```

Attached are three full [BUG] reports for three different occurrences.



---Files--------------------------------
report-01.log (247 KB)
report-03.log (251 KB)
report-02.log (266 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>