SystemStackError: stack level too deep

Bonjour,

j’ai un problème très étrange sur un modèle. Dans la console lorsque je
fais
un simple Message.create j’obtiens cette erreur :

Message.create
SystemStackError: stack level too deep
from
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:95:in
transaction' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:121:in transaction’
etc etc

Le modèle ne contient rien de particulier :
http://rafb.net/p/Rnucvb42.html

Mon collègue n’a pas cette erreur et on a les mêmes versions de
logiciels :
rails 1.2.3 et ruby 1.8.5 (2006-08-25) [i486-linux]

Frédéric :

j’ai un problème très étrange sur un modèle. Dans la console lorsque je fais
un simple Message.create j’obtiens cette erreur :

Message.create
SystemStackError: stack level too deep
[…]
Le modèle ne contient rien de particulier :
http://rafb.net/p/Rnucvb42.html

Mon collègue n’a pas cette erreur et on a les mêmes versions de logiciels :
rails 1.2.3 et ruby 1.8.5 (2006-08-25) [i486-linux]

Sans investigation poussée (= fast debug), je soupçonnerai en
premier lieu ceci :

attr_protected :private

càd un conflit entre votre AR-based attribut ‘private’ et Module#private
(quand on déclare une méthode privée)

– Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Le 28/08/07, Jean-François Trân a écrit :

http://rafb.net/p/Rnucvb42.html
cà d un conflit entre votre AR-based attribut ‘private’ et Module#private
(quand on déclare une méthode privée)

J’ai vidé complètement le modèle et toujours pareil :
class Message < ActiveRecord::Base
end

Je renommé le modèle en Missage et créé une table missages et pareil …
je
comprend rien

Frédéric :

Sans investigation poussée (= fast debug), je soupçonnerai en
premier lieu ceci :

attr_protected :private

càd un conflit entre votre AR-based attribut ‘private’ et Module#private
(quand on déclare une méthode privée)

après une réflexion un peu poussée, ça m’étonnerait car c’est une méthode
de la classe AR::B et non d’une instance AR::B. Cela dit, je ne suis
pas pour l’utilisation d’un champ ‘private’.

J’ai vidé complètement le modèle et toujours pareil :
class Message < ActiveRecord::Base
end

Je renommé le modèle en Missage et créé une table missages et pareil … je
comprend rien

Il faudrait vérifier que la récursion infinie se déclenche à cause
du connection.transaction(…) dans la méthode #transaction ;
ce qui serait très bizarre, mais faudrait inspecter connection.

– Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Le 28/08/07, Jean-François Trân a écrit :

Je renommé le modèle en Missage et créé une table missages et pareil …
je
comprend rien

Il faudrait vérifier que la récursion infinie se déclenche à cause
du connection.transaction(…) dans la méthode #transaction ;
ce qui serait très bizarre, mais faudrait inspecter connection.

Bon ca le fait sur tous mes modèles, j’en vois pas la raison.

Bonjour,

Frédéric, tu as vidé le modèle, mais “private” doit encore être
présent dans la table “missages” je pense.

Comme Jean-François, je penche, en premier lieu, pour un problème
venant de l’utilisation du mot réservé “private”.
Je te propose de le renommer dans la table, de voir si tes
transactions se déroulent correctement, et, si ce n’est pas le cas, de
venir nous relancer.

Bonne journée l’ami o/


Guillaume DESRAT / Zifro AKA guillaumed
http://zlab.fr/

On ne parle pas de l’objet, on parle de la table elle-même.

Le 29/08/07, Guillaume Zifro DESRAT a écrit :

Bonjour,

Frédéric, tu as vidé le modèle, mais “private” doit encore être
présent dans la table “missages” je pense.

Non j’ai tout viré, il n’y a plus que la déclaration de la classe.

Le 29/08/07, Michel B. a écrit :

On ne parle pas de l’objet, on parle de la table elle-même.

Non dans missage il n’y a que un id.
Et j’ai le prob avec tous les modèles en fait.

Le 28/08/07, Frédéric Logier a écrit :

`transaction’
etc etc

J’ai la réponse au problème, j’avais la libgettext-ruby1.8 de Ubuntu
Fesity,
elle est buggué… J’avais installé le gem gettext mais la version de
l’OS
prenait le dessus…
Mon collègue n’avait pas la lib en question installée. Attention à la
version 1.7.0, le gem est en 1.10

Et tu osais te moquer de mes probl�mes de libiconv avec Ruby sous OpenBSD ? tsss...

Le 29/08/07, Fr�d�ric Logier[email protected] a �crit :

    from


Guillaume DESRAT / Zifro AKA guillaumed
http://zlab.fr/

Le 29/08/07, Guillaume Zifro DESRAT a écrit :

Et tu osais te moquer de mes probl�mes de libiconv avec Ruby sous OpenBSD ? tsss...

Ca devait être un autre fredix :stuck_out_tongue: