another collision problem

Too bad, you have to be a victim of the unclear manual.
I don’t know why the manual doesn’t even explain the very simple thing first.

In order to use Panda’s collision system, you have to set up the collision solids and the nodes’ collision bitmask. Next, in your main loop, you should check if any collision takes place. You do this by telling the CollisionTraverser to walk through (traverse) the scenegraph, looking for any from and into node whose collision bitmasks match. If you use “base.cTrav=CollisionTraverser()”, you don’t have to call traverse() for yourself, otherwise you have to call “self.traverser.traverse(render)” everytime you need to check for collision.

Then, after the traversal, the result would be sent to some various CollisionHandler you might use. So, you should check the collision entries each time exactly after collision traversal.

In your code, you do the setup, the traversal and entries checking only once in 1 single frame. While in your main loop, I assume you don’t do anything related to collision. Then what do you expect to be happen ?
To fix that, move the collision traversal and entries checking to your main loop.