Yes the problem I have often with unclosed, arc or Polylines with dubbel lines (Intersection in Polyline). That why I have a routine which check first if Polyline have a area value, if not it draws a line to them.
(if (= T (vl-catch-all-error-p (setq A (vl-catch-all-apply 'vla-get-area (list Vobj)))))
(progn
(princ (strcat "\nwrong area " (cdr (assoc 8 (entget ent))) ))
(setq l (cdr (vl-remove-if-not (function (lambda (x) (= (car x) 10))) (entget ent))))
(entmakex
(list
'(0 . "LINE")
(cons 10 '(0 0 0))
(cons 11 (list (cadr (nth 1 l)) (caddr (nth 1 l))))
'(62 . 256)
(assoc 8 (entget ent))
)
)