If no featured image is set, default.png from core is shown

here’s the wp_get_attachment_image_scr function:

function wp_get_attachment_image_src($attachment_id, $size="thumbnail", $icon = false) {

    // get a thumbnail or intermediate image if there is one
    if ( $image = image_downsize($attachment_id, $size) )
        return $image;

    $src = false;

    if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
        /** This filter is documented in wp-includes/post.php */
        $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
        $src_file = $icon_dir . "https://wordpress.stackexchange.com/" . wp_basename($src);
        @list($width, $height) = getimagesize($src_file);
    }
    if ( $src && $width && $height )
        return array( $src, $width, $height );
    return false;
}

as u can see if 3-rd param is true then it looks in icons dir for that image ( and i assume wp_mime_type_icon returns default.png and some of your plugins add_filter to icon_dir to be wp-includes/images/crystal

Just remove 3-rd parameter in your example:
$thumb_url_array = wp_get_attachment_image_src($thumb_id,'full');
and it should return false if no image or image url