Hi!
I discovered a strange behavior i BaseX (8.6.5):
I evaluate
//S/@k/parent::*
or
//S/@k/..
and it works
I evaluate
//S[.//@m="V"]
and it works
But when I evaluate
//S/@k/parent::*[.//@m="V"]
or
//S/@k/..[.//@m="V"]
it does not work. There is no error, just no result.
At first I thought that there was an error with going to a parent of an attribute node, but that works. Then I thought the problem was with ".//@" in the predicate, but that also works. It appears that it is the combination that confuses the engine.

Here is an xml to test the above expressions:
<Root>
  <B>
    <S k="AAA">
      <P m="V" a="1000"/>
      <P m="V" a="800"/>
      <P m="G" a="1000"/>
      <P m="E" a="900"/>
    </S>
    <S k="AA">
      <P m="V" a="2000"/>
      <P m="G" a="2500"/>
      <P m="E" a="2900"/>
    </S>
    <S k="D">
      <P m="V" a="4000"/>
    </S>
    <S k="C">
      <P m="V" a="4000"/>
      <P m="G" a="4000"/>
    </S>
  </B>
  <B>
    <S k="AAA">
      <P m="V" a="1200"/>
      <P m="V" a="800"/>
      <P m="G" a="1200"/>
    </S>
    <S k="AA">
      <P m="V" a="2900"/>
    </S>
    <S k="C">
      <P m="G" a="5400"/>
    </S>
  </B>
  <B>
    <S k="AAA">
      <P m="V" a="1100"/>
      <P m="E" a="900"/>
    </S>
    <S k="AA">
      <P m="V" a="2700"/>
      <P m="G" a="2500"/>
    </S>
  </B>
</Root>

I hope you can find the problem and fix it in a new version soon.

Regards
/nikos