id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9260,Phoenix switch_ statements accessing wrong memory and cause segfault,stephan.menzel@…,Thomas Heller,"Seth Heeren and I tracked down a problem in phoenix 3's switch_ statements that causes a crash in the attached example. Judging from valgrind outputs, it appears as if the switch_ accesses memory outside it's stack. In the attached case that causes a crash when accessing local variables in the enclosing rule. To reproduce: With this rule: qi::rule, Skipper> enclosing; defined as: enclosing %= condition[_a = _1] >> double_[_val = _a]; it works. If it is defined as: enclosing %= condition[_a = _1] >> double_[_c = _1, _val = _a]; it crashes. When not using local variables there is no crash but still undefined behavior caused by the switch_. Phoenix 2 does not have this problem. ",Bugs,new,To Be Determined,phoenix,Boost 1.54.0,Problem,,phoenix spirit qi,