I think I found an interesting bug in pgrouting. When I use the Dijkstra algorithm (no matter if I use the shortest_path() or dijkstra_sp_delta_directed() method) to calculate the directed shortest paths between two particular vertexes (id 72846 and id 85556), it only delivers the correct result for one direction.
I experimented a little bit and then I found out that there are two arcs in the roads_po table with opposite direction which connect two vertexes that are part of both calculated shortest paths (gid 700 and gid 169244).
When I calculate the shortest path from vertex 72846 to vertex 85556, everything works fine as can be seen here:
But when I calculate the shortest path from vertex 85556 to vertex 72846 (the opposite direction), the wrong arc with gid 169244 instead of the correct arc with gid 700 is chosen resulting in a violation of the one-way direction.
It seems that pgrouting calculates both paths correct, but it has a problem that two vertexes along the paths are connected by two arcs, and chooses the wrong arc for output for one of the paths.
Did someone else had such problems with pgrouting?