Code:
staticProvider = new NetworkTableProvider(*(mode->CreateNode(ipAddress.c_str(), port, threadManager)));
Out of curiosity, why is there an asterisk in the argument for NetworkTableProvider? (I always get hazy around dereference operators)
Anyway, a null pointer exception would seem to indicate that something on that line is an uninitialized pointer. How/where did you declare staticProvider?