This is a known issue. If you have one shortcode inside another which has the same name, the wordpress parser will not be able to handle them correctly. This is also mentioned in the codex page for shortcode API under limitations.
From the linked page
However the parser will fail if a shortcode macro is used to enclose another macro of the same name
The solution i suggest is to add extra parameters to the main shortcode call & in your shortcode function, recursively call itself based on if those extra parameters are present
EXAMPLE
[column count="9" child="8_9" 8_9_text="
Welcome to the site.
Who's brave enough to fly into something we all keep calling a death sphere? Well, then good news! It's a suppository. A true inspiration for the children. Ah, computer dating. It's like pimping, but you rarely have to use the phrase "upside your head."
" /]
Then in the code
function shortcode_handler($atts, $content, $tag) {
if(isset($atts['child']))
$output = shortcode_handler(array('count'=>$atts['child']), $atts[$atts['child'].'_text'])
// Do something else with the output
}
I know it doesn’t look good but maybe you can work something out in the context of your application.