<div>Since it's not a multi-threaded issue, I'd pretty much bet it's some kind of bug of Ruby 1.9.2-p180, which causes it to either incorrectly validate the trueness of objects, or looses the value of a variable for some reason.</div><div><br></div><div>If you're running the app on more than one server, and the issue has happened on both, I'd update Ruby to 1.9.2-p290 on one of them, and see if it ever happens again. If you've only got one server, I'd just update it and see what happens.</div><div><br></div><div>Not the most helpful of advise, but it's about the only thing I can think of since it's not threading, method delegation of any other funky Ruby magic.</div><div><br></div><div><br></div><div>-jim</div><div><br></div><div><br></div><div><br></div>
                <div></div>
                 
                <p style="color: #a0a0a0;">On Wednesday, 3 August 2011 at 11:57, Simon Coffey wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>Hi LRUG,<br><br>Apologies for posting a bug to the list, but it's weird enough that I<br>hope it might be interesting (indeed it appears to be logically<br>impossible). It's got me completely stumped, so any thoughts would be<br>gratefully received.<br><br>We're getting very occasional (~1 per week) exceptions out of one of<br>our helper methods in our app (Rails 3.0.3, ruby 1.9.2-p180). For<br>example, from the following line of code...<br><br> def page_description<br>   case<br>   when @question then @question.background            # exception raised here<br>   <snip other cases><br>   end<br> end<br><br>... we saw "NoMethodError: undefined method `background' for<br>nil:NilClass". (The full method can be seen here:<br><a href="https://gist.github.com/1120170">https://gist.github.com/1120170</a> )<br><br>That's logically impossible, right? @question is clearly nil, as shown<br>by the exception. But @question is also clearly not nil, otherwise how<br>on earth would that case fire?<br><br>Other rules in this case statement are also causing exceptions, but<br>with inexplicable things apparently stored in the instance variables.<br>For example, we've seen "NoMethodError: undefined method `bio' for<br>#<Lead:0xdbc31a0>" from line #6 in the gist, despite the @user<br>instance variable only ever being assigned an instance of User, not<br>Lead. Another time @user appeared to contain a Hash. Other instance<br>variables have contained controller instances.<br><br>This only seems to be happening in the #page_description method, which<br>is used at the top of the <head> section of our layouts. As such, for<br>any given render pass it will always be the first call to access the<br>controller instance variables.<br><br>It looks to me like our instance variables are somehow getting<br>corrupted, but I can't for the life of me see how this would happen.<br>Unfortunately it happens only on production, and has so far resisted<br>being reproduced, so we have no ability to get further info out of the<br>debugger.<br><br>Has anyone seen anything like this before? Undying gratitude / a beer<br>to anyone who has any bright ideas...<br><br>Cheers,<br>Simon<br><br>--<br>Simon Coffey<br>Developer, Tribesports<br><br>e: <a href="mailto:simon@tribesports.com">simon@tribesports.com</a><br>m: 07960 004 857<br>p: Unit 104, Cremer Business Centre, 37 Cremer Street, London, E2 8HD<br>_______________________________________________<br>Chat mailing list<br><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>