An empty path segment is valid, as "path-absolute" in your case consists of multiple "'/' segment" sequences, where "segment" is allowed to be empty.
Your should open a bug report for this.
path �� �� �� �� ��= path-abempty �� ��; begins with '/' or is empty
�� �� �� �� �� �� �� �� �� �� / path-absolute �� ; begins with '/' but not '//'
�� �� �� �� �� �� �� �� �� �� / path-noscheme �� ; begins with a non-colon segment
�� �� �� �� �� �� �� �� �� �� / path-rootless �� ; begins with a segment
�� �� �� �� �� �� �� �� �� �� / path-empty �� �� ��; zero characters
�� �� �� path-abempty ��= *( '/' segment )
�� �� �� path-absolute = '/' [ segment-nz *( '/' segment ) ]
�� �� �� path-noscheme = segment-nz-nc *( '/' segment )
�� �� �� path-rootless = segment-nz *( '/' segment )
�� �� �� path-empty �� ��= 0<pchar>
�� �� �� segment �� �� �� = *pchar
�� �� �� segment-nz �� ��= 1*pchar
�� �� �� segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / '@' )
�� �� �� �� �� �� �� �� �� �� ; non-zero-length segment without any colon ':'
pchar �� �� �� �� = unreserved / pct-encoded / sub-delims / ':' / '@' �� ��
unreserved �� ��= ALPHA / DIGIT / '-' / '.' / '_' / '~'
pct-encoded �� = '%' HEXDIG HEXDIG
sub-delims �� ��= '!' / '$' / '&' / ''' / '(' / ')'
�� �� �� �� �� �� �� �� / '*' / '+' / ',' / ';' / '='