Shortcodes attributes defaults

I have no idea what goes wrong at your setup. Clearly shortcode is properly registered, but some specific case something prevents it from being parsed correctly.

This is test code that roughly replicates how shortcode is parsed for execution :

$content = get_option("prc_speciall_offer_text", true);
$pattern = "https://wordpress.stackexchange.com/".get_shortcode_regex().'/s';
preg_replace_callback( $pattern, 'var_dump', $content );

Array output should match following, according to get_shortcode_regex() spec:

1/6 – An extra [ or ] to allow for escaping shortcodes with double [[]]

2 – The shortcode name

3 – The shortcode argument list

4 – The self closing /

5 – The content of a shortcode when it wraps some content.

This is what it dumps for me:

array
  0 => string '[column-icon icon="onebit_13"]
<h3>What is Lorem ipsum?</h3>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
<a href="#" class="main-theme-link">Learn more</a></div>
[/column-icon]' (length=389)
  1 => string '' (length=0)
  2 => string 'column-icon' (length=11)
  3 => string ' icon="onebit_13"' (length=17)
  4 => string '' (length=0)
  5 => string '
<h3>What is Lorem ipsum?</h3>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
<a href="#" class="main-theme-link">Learn more</a></div>
' (length=345)
  6 => string '' (length=0)