Size: a a a

Ruby, Rails, Hanami | dry-rb

2019 December 30

P

Parra in Ruby, Rails, Hanami | dry-rb
I'm implementing some kind of ruby extension (in fact, I'm embedding Ruby into a C/C++ application), and I'm getting the following error:
<SystemStackError: stack level too deep>


when calling to module_eval

The error gets thrown randomly, only after updating 2.3 to 2.5, any ideas how to debug it?

I've seen that set_trace_func can be used for that purpose, am I correct?

there is also a initial error in ruby_init which overwrites the stack, I found it by means of valgrind, this didn't happen before, and maybe it is because of stack protector flag but I'm not sure

any help would be highly appreciated
источник

T

Tim in Ruby, Rails, Hanami | dry-rb
the best thing would be to ask this question on stackoverflow.com
источник

P

Parra in Ruby, Rails, Hanami | dry-rb
Tim
the best thing would be to ask this question on stackoverflow.com
uhg
источник

P

Parra in Ruby, Rails, Hanami | dry-rb
источник

P

Parra in Ruby, Rails, Hanami | dry-rb
and here's info about set_trace_func: https://rossta.net/blog/debugging-systemstackerror.html
источник

P

Parra in Ruby, Rails, Hanami | dry-rb
the problem with this is the chicken/egg problem, I can't enable that function of the module_eval is failing, so I can't debug it
источник

I🍻

Ivan 🍻 in Ruby, Rails, Hanami | dry-rb
O, Ser, vi iz Anglii?
источник

M

Michael in Ruby, Rails, Hanami | dry-rb
Ivan 🍻
O, Ser, vi iz Anglii?
thou is shutnik gy gy
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
всем привет. кто-нибудь знает когда active_record начинает вытаскивать данные из базы? как это можно узнать без new_relic? например, если я сделаю

q1 = User.where(name: ’Some’)
q2 = q1.where(age: 25)


это будет 1 запрос в базу данных или 2?
источник

S

Serhii in Ruby, Rails, Hanami | dry-rb
Karina
всем привет. кто-нибудь знает когда active_record начинает вытаскивать данные из базы? как это можно узнать без new_relic? например, если я сделаю

q1 = User.where(name: ’Some’)
q2 = q1.where(age: 25)


это будет 1 запрос в базу данных или 2?
tail -f log/development.log
покажет лог в реальном времени
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
Karina
всем привет. кто-нибудь знает когда active_record начинает вытаскивать данные из базы? как это можно узнать без new_relic? например, если я сделаю

q1 = User.where(name: ’Some’)
q2 = q1.where(age: 25)


это будет 1 запрос в базу данных или 2?
Будет 1 запрос
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
Он до последнего тянет с загрузкой данных. И есть специальные метолы загрузки типа .all .load
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
Andrey Andreev
Он до последнего тянет с загрузкой данных. И есть специальные метолы загрузки типа .all .load
спасибо
источник

Jøhn Đøꝩsøn in Ruby, Rails, Hanami | dry-rb
Andrey Andreev
Будет 1 запрос
Мне кажется ни одного не будет пока q не будут как-то ещё использоваться
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
Jøhn Đøꝩsøn
Мне кажется ни одного не будет пока q не будут как-то ещё использоваться
Ваша правда, в этом моменте еще не будет запросов вообще.
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
[9] pry(main)> q1 = User.where(id:1); q2 = q1.where(role: :admin)
 User Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 AND "users"."role" = 'admin'  [["id", 1], ["role", :admin]]
=> [#<User:0x00007fb674629be8
....
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
Но
источник

AA

Andrey Andreev in Ruby, Rails, Hanami | dry-rb
[10] pry(main)> q1 = User.where(id:1); q2 = q1.where(role: :admin); q3
=> nil
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
ну это типа relation пока
источник

P

Parra in Ruby, Rails, Hanami | dry-rb
is Module.module_eval the only way to evaluate code into a existing module? there is any alternative?
источник