I use R to classify a data frame named "d" containing data structured as shown below:

The data has 576666 rows, and the "classLabel" column has a coefficient of 3 levels: ONE, TWO, THREE.
I am making a decision tree using rpart:
fitTree = rpart(d$classLabel ~ d$tripduration + d$from_station_id + d$gender + d$birthday)
And I want to predict the values for classLabel for newdata:
newdata = data.frame( tripduration=c(345,244,543,311),
from_station_id=c(60,28,100,56),
gender=c("Male","Female","Male","Male"),
birthday=c(1972,1955,1964,1967) )
p <- predict(fitTree, newdata)
I expect my result to be a 4 row matrix with a probability of three possible values for "classLabel" newdata. But what I get as a result in p is a file frame of 576666 lines, as shown below:

I also get the following warning when the function starts predict:
Warning message:
'newdata' had 4 rows but variables found have 576666 rows
Where am I doing wrong ?!