JavaCV compute ORB descriptors for SIFT keypoints
===

I have big problems calculating ORB descriptors for keypoints found by SIFT detector. If I try to run a simple example program the whole system freezes and I can't figure out why. The sample code is as follows:

    import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImageM;
    
    import com.googlecode.javacv.cpp.opencv_core.CvMat;
    import com.googlecode.javacv.cpp.opencv_features2d.DescriptorExtractor;
    import com.googlecode.javacv.cpp.opencv_features2d.FeatureDetector;
    import com.googlecode.javacv.cpp.opencv_features2d.KeyPoint;
    import com.googlecode.javacv.cpp.opencv_features2d.ORB;
    import com.googlecode.javacv.cpp.opencv_nonfree.SIFT;
    
    public class DescriptorTest {
    
        public static void main(String[] args) {
            SIFT sift = new SIFT(0, 3, 0.04, 10, 1.6);
            FeatureDetector detector = sift.getFeatureDetector();
            ORB orb_descriptor = new ORB(500, 1.2f, 8, 31, 0, 2, 0, 31);
            DescriptorExtractor descriptor = orb_descriptor.getDescriptorExtractor();        
            CvMat image = cvLoadImageM("res/dvd_009_ref.jpg");
            KeyPoint keypoints = new KeyPoint();
            CvMat descriptors = new CvMat(null);
            detector.detect(image, keypoints, null);
            System.out.println("Keypoints found: "+ keypoints.capacity());
            descriptor.compute(image, keypoints, descriptors);
            System.out.println("Descriptors calculated: "+descriptors.rows());
        }
    }

Does anyone has an idea what the problem is? Would be great :)