The terminating condition will never be met, so this is infinite recursion. (I'm actually surprised that there's not a Stack Overflow Exception). The terminating condition is when n = 0, but every recursive call just adds 1: n*(n+1)/2
Also, did you mean to include the multiplication as an argument to the next recursive call rather than something like
n * recSum (n+1)/2
(Please excuse me if the syntax isn't perfect, I'm not in front of an IDE).
Perhaps you meant to subtract instead of add?
As a bit of a digression, what you end up choosing as your terminating condition will depend on what you're trying to accomplish and what formula you're trying to implement. A lot of people think about "going down" from the current value to the terminating condition. For example, if you're talking about Fibonacci numbers, most people will think of this as simply being "the sum of the two previous Fibonacci numbers" (both of which are, in turn, the sum of the two previous Fibonacci numbers, all the way "down" to the terminating condition). This is perfectly correct; for example, it is perfectly true to define 5! as 5 * 4!.
You can also think of it as "working up" from the terminating condition. Think about it this way: if I asked you to tell me the value of 10!, you almost certainly wouldn't be able to tell me what the value was without using a calculator. However, what if I told you that 9! is 362,880? Well, then, you can obviously just multiply that by 10 to get 10!, so obviously the answer has to be 3,628,800. That being the case, what's 11!? Well, obviously, 11 * 3,628,800. So, if I give you a value, you can use that value to "generate" more values. Given the value of 9!, you don't need to do anything other than to multiply it by 10 to get 10!.
For that matter, actually, given your knowledge of the fact that 10! = 3,628,800, you could easily calculate 9! from that by dividing 3,628,800 by 10.
Either way, the point is the same: given any value in the "sequence," you have a rule that you can apply to those values to calculate more values in the sequence.
In that sense, you could actually call the terminating condition the "initial condition" of sorts I guess.
Hopefully that digression kind of makes sense, if not I'd be glad to clarify it some as needed.