TV OUT LIBRARY + Code problem

I am using the TVout Beta Library with Windows 7.
My code executes a simple addition program with a potentiometer and a switch as input:

#include <TVout.h>
#include <fontALL.h>
#include "GT.h"
#include "TL.h"

TVout TV;
  int Ycoordinate = 0;
  int descend = 4;
  int knob = A1;
  int button = 2;
  int knobval = 0;
  int displayedknob = 0;
  int buttonState;
  int answer;
  int score = 0;
  long randNumber;
  long randNumber2;
  long randSign;

void setup() {
  TV.clear_screen();
  TV.begin(NTSC,120,96);
  TV.select_font(font4x6);
    TV.bitmap(0,0,GT);
    TV.println(48,80,"START");
}

void loop() {    
  buttonState = digitalRead(button);
  if (buttonState == HIGH) 
    
  {hello();};
}

void hello() {
      TV.clear_screen();
      TV.select_font(font4x6);
      TV.println(6,60,"SCORE:");
      TV.select_font(font8x8);
      TV.println(30,18,"+");
      TV.draw_line(31,28,66,28,1);
      TV.println(26,70,score);
      addition();
}

void problem(){
      knobval = analogRead(knob);
    knobval = map(knobval, 0, 1023, 0, 99);
      displayedknob = knobval;
      if (
      displayedknob <= 9)
      {
      TV.println(50,33,"0");
      TV.println(58,33,displayedknob);
      }
  else {      
   TV.println(50,33,displayedknob);
}
    if (displayedknob == answer) {
      delay(2000);
      score += 1;
      hello();
    }
    else {problem();}
  }
  
void addition() {
    randNumber = random(50);
    TV.println(50,3,randNumber);
    randNumber2 = random(50);
    TV.println(50,18,randNumber2);
    answer = (randNumber + randNumber2);
    problem();
}

It works, however, the code seems to send a garbled group of bits on the bottom of the screen once the “score” reaches 12.
Then, it resets back to void setup at 18.

"Problem" looks to me to be recursive. Did you intend that?

  {hello();};

Perhaps you need a few more braces and maybe some parentheses, too.

The function name is not descriptive of what the function actually does.

It calls addition() which calls problem() which calls problem(). After a few iterations, you run out of stack space, and the Arduino resets.