[#112638] [Ruby master Bug#19470] Frequent small range-reads from and then writes to a large array are very slow — "giner (Stanislav German-Evtushenko) via ruby-core" <ruby-core@...>

Issue #19470 has been reported by giner (Stanislav German-Evtushenko).

8 messages 2023/03/01

[#112664] [Ruby master Bug#19473] can't be called from trap context (ThreadError) is too limiting — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #19473 has been reported by Eregon (Benoit Daloze).

28 messages 2023/03/02

[#112681] [Ruby master Misc#19475] Propose Matthew Valentine-House (@eightbitraptor) as a core committer — "k0kubun (Takashi Kokubun) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NDc1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGswa3VidW4gKFRha2FzaGkgS29rdWJ1

11 messages 2023/03/03

[#112744] [Ruby master Bug#19485] Unexpected behavior in squiggly heredocs — "jemmai (Jemma Issroff) via ruby-core" <ruby-core@...>

Issue #19485 has been reported by jemmai (Jemma Issroff).

9 messages 2023/03/08

[#112746] [Ruby master Bug#19518] Recent Source Releases Do Not Compile on CentOS 7 Due to configure Script Error Generated By autoconf >= 2.70 — "eviljoel (evil joel) via ruby-core" <ruby-core@...>

Issue #19518 has been reported by eviljoel (evil joel).

7 messages 2023/03/08

[#112770] [Ruby master Feature#19520] Support for `Module.new(name)` and `Class.new(superclass, name)`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19520 has been reported by ioquatix (Samuel Williams).

42 messages 2023/03/09

[#112773] [Ruby master Feature#19521] Support for `Module#name=` and `Class#name=`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19521 has been reported by ioquatix (Samuel Williams).

31 messages 2023/03/09

[#112818] [Ruby master Misc#19525] DevMeeting-2023-04-13 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19525 has been reported by mame (Yusuke Endoh).

8 messages 2023/03/10

[#112871] [Ruby master Bug#19529] [BUG] ObjectSpace::WeakMap can segfault after compaction — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19529 has been reported by byroot (Jean Boussier).

12 messages 2023/03/14

[#112926] [Ruby master Misc#19535] Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID` — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19535 has been reported by byroot (Jean Boussier).

8 messages 2023/03/17

[#112933] [Ruby master Feature#19538] Performance warnings — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19538 has been reported by byroot (Jean Boussier).

11 messages 2023/03/17

[#112944] [Ruby master Feature#19541] Proposal: Generate frame unwinding info for YJIT code — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NTQxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu

13 messages 2023/03/19

[#113033] [Ruby master Feature#19555] Allow passing default options to `Data.define` — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>

Issue #19555 has been reported by p8 (Petrik de Heus).

7 messages 2023/03/28

[#113045] [Ruby master Feature#19559] Introduce `Symbol#+@` and `Symbol#-@`, and eventually replace boolean arguments with symbols — "sawa (Tsuyoshi Sawada) via ruby-core" <ruby-core@...>

Issue #19559 has been reported by sawa (Tsuyoshi Sawada).

20 messages 2023/03/30

[#113059] [Ruby master Bug#19563] Ripper.tokenize(code).join != code when heredoc and multiline %w[] literal is on the same line — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

Issue #19563 has been reported by tompng (tomoya ishida).

6 messages 2023/03/31

[ruby-core:112877] [Ruby master Bug#19527] Object allocation during garbage collection phase

From: "alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date: 2023-03-14 16:57:02 UTC
List: ruby-core #112877
Issue #19527 has been updated by alanwu (Alan Wu).





Please understand that while Ruby giving you the crash report

saying `[BUG] object allocation during garbage collection phase`

is the proximate cause of the problem, I'm telling you that

the ultimate cause is likely a bug in the IBM gem. C extensions

have contracts they must uphold, and if they don't, they

crash the whole process. Ruby is the messenger in all crashes,

but it is incorrect to always blame the messenger. Crashes

involving threads like the one you are facing are by nature non-local;

the code initiating the crash is not always problematic.



> about your guess that someone else is running Ruby code without holding t=
he global VM lock, is not possible because in our Centos 8 server is the on=
ly application running and we have enough physical resources to run.



It is absolutely possible. The VM lock arbitrates

concurrency of threads within the same process. From the

stack trace, it's clear that you have multiple threads in your

Ruby process. The lock has nothing to do with how many

applications you run on your server. If you have multiple threads

in your Ruby process, it's in-play.



Here is something concrete you can try:

  1. Clone https://github.com/ibmdb/ruby-ibmdb to get the code for the vers=
ion you're running.

     5.4.0 seems to be at https://github.com/ibmdb/ruby-ibmdb/commit/2eec1b=
fe637e3320721daa5a92d3aa8001a00a5b

  2. Adjust the version, `gem build` and `gem install`, then point your `Ge=
mfile` to that local version

  3. Make sure you can still reproduce the crash with this local version of=
 the gem

  3. Apply the following patch (untested, you might have to fix build error=
s):



```patch

diff --git a/IBM_DB_Adapter/ibm_db/ext/ibm_db.c b/IBM_DB_Adapter/ibm_db/ext=
/ibm_db.c

index 200a527..0b139ee 100644

--- a/IBM_DB_Adapter/ibm_db/ext/ibm_db.c

+++ b/IBM_DB_Adapter/ibm_db/ext/ibm_db.c

@@ -686,6 +686,7 @@ static void _ruby_ibm_db_mark_stmt_struct(stmt_handle *=
handle)

 static inline

 VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_u=
nblock_function_t *ubf, void *data2)

 {

+        return func(data1);

        void *(*f)(void*) =3D (void *(*)(void*))func;

        return (VALUE)rb_thread_call_without_gvl(f, data1, ubf, data2);

 }

```

  5. Repeat (2) to rebuild and reinstall the gem now that it's changed

  6. See if the crash still reproduces.



If this patch makes the crash go away, we can say with high confidence

that the `ibm_db` gem is misusing `rb_thread_call_without_gvl()`. Send this

to IBM as a bug report.



If the crash still happens, maybe you can try reproducing the bug without

any third-party C extensions. If you can do that, that'd be a more

actionable bug report for us. There is not much we can do on our end

with the information you have posted.



----------------------------------------

Bug #19527: Object allocation during garbage collection phase

https://bugs.ruby-lang.org/issues/19527#change-102393



* Author: hjimenez89rb (Hugo Alberto Jim=E9nez Santos)

* Status: Third Party's Issue

* Priority: Normal

* ruby -v: 3.2.1

* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN

----------------------------------------

We are currently developing a Ruby based web application which connects to =
a DB2 Database and we have been using ibm_db-5.4.0 to establish a connectio=
n, suddenly we got a error related to RUBY garbage collector PHASE.



We have checked the issue with IBM_team to make sure that It was not a IBM_=
GEM problem but as a result of their tests, IBM_GEM is working in different=
 cases but for us we face up with those errors even with those versions (2.=
7.6, 3.1.2, 3.2.1):



*0x0/usr/local/rvm/gems/ruby-3.1.2/gems/ibm_db-5.4.0/lib/active_record/conn=
ection_adapters/ibm_db_adapter.rb:760: [BUG] object allocation during garba=
ge collection phase

ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]



*Exception occurred on Step thread ID #SID:34117;RSEQ:911723; wrong instanc=
e allocation; backtrace: /usr/local/rvm/gems/ruby-3.1.2/gems/ibm_db-5.4.0/l=
ib/active_record/connection_adapters/ibm_db_adapter.rb:760:in server_info' =
(RuntimeError) /usr/local/rvm/gems/ruby-3.1.2/gems/ibm_db-5.4.0/lib/active_=
record/connection_adapters/ibm_db_adapter.rb:760:in initialize'.



(all trace is attached in this ticket)



OS

name: "CentOS"

version: "8"

architecture: "x86_64"



rvm:

version: "1.29.12 (latest)"





---Files--------------------------------

LOGS3.txt (12.5 KB)

LOGS4.txt (127 KB)

LOGS2.txt (9.62 KB)

LOGS1.txt (123 KB)





--=20

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

 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/

In This Thread

Prev Next