pvpgn / pvpgn-server

Next generation of PvPGN server
https://pvpgn.pro
GNU General Public License v2.0
556 stars 155 forks source link

When server is running i get spam in logs - error got NULL list #403

Closed WC3Forever closed 3 years ago

WC3Forever commented 4 years ago

Is there a way to make this not always show up every 1 min? it creates a lot of unneeded spam in the logs. Also why does it say error got NULL list? i was logged in so the list shouldn't have been null/empty.

May 15 16:52:26 [error] pvpgn::list_get_length: got NULL list May 15 16:53:26 [error] pvpgn::list_get_length: got NULL list May 15 16:54:26 [error] pvpgn::list_get_length: got NULL list

i get these every 1 min regardless is a user is logged in or not.

RElesgoe commented 4 years ago

I can't reproduce this.

HarpyWar commented 4 years ago

@WC3Forever what did you change in default pvpgn configuration (or in database) so you get these errors appear for every minute?

WC3Forever commented 4 years ago

I didnt edit the database but i did edit the config, do you have any idea of what settings would affect this or want me to load my whole config here? Or i guess i could just paste the setting variable names.

HarpyWar commented 4 years ago

The error must be reproduced on a new installation. It would be excellent if you can do it and find which parameters that you modified causes these errors. Lists with usage of list_get_length are everywhere in pvpgn: connections, queue, accounts, games, etc. It's difficult to understand whats wrong without a reproduction, only by several lines of log.

WC3Forever commented 4 years ago

here is my configs data

storage_path = sql:mode=mysql;host=127.0.0.1;name=wc3server;user=root;pass=wc34lif3S3rver101!!;default=0;prefix=pvpgn_

# (there are also two downloadable files: chathelp-war3.txt, newaccount.txt)
localizefile = common.xml
motdfile    = bnmotd.txt
motdw3file  = w3motd.txt
newsfile    = news.txt
helpfile    = bnhelp.conf
tosfile     = termsofservice.txt

localize_by_country = true

loglevels = fatal,error,warn,info

d2cs_version = 0

allow_d2cs_setname = true

iconfile = "icons.bni"
war3_iconfile = "icons-WAR3.bni"
star_iconfile = "icons_STAR.bni"

allowed_clients = war3,w3xp

allow_bad_version = false

allow_unknown_version = false

usersync  = 300

userflush = 3600

userstep = 200

userflush_connected = true

latency = 600

nullmsg = 120

shutdown_delay = 300

shutdown_decr = 60

#ipban_check_int = 240

new_accounts = true

#max_accounts = 0

kick_old_login = true

ask_new_channel = true

report_all_games = true

report_diablo_games = false

hide_pass_games = true

hide_started_games = true

hide_temp_channels = true

disc_is_loss = false

ladder_games = "none"

ladder_prefix = ""

enable_conn_all = true

hide_addr = false

chanlog = false

quota = yes

quota_lines = 8     # must be between 1 and 100 lines
quota_time = 5      # must be between 1 and 60 seconds

quota_wrapline = 40 # must be between 1 to 256 chars

quota_maxline = 200 # must be between 1 to 256 chars

quota_dobae = 15     # must be between 1 and 100 lines

mail_support = true
mail_quota = 9

log_notice = "*** Please note this channel is logged! ***"

passfail_count = 25

passfail_bantime = 600

maxusers_per_channel = 120

savebyname = true

sync_on_logoff = false

# How man rows should the account lookup hash table have?  Servers with
# more accounts should use a larger table for better performance. (was 61)
hashtable_size = 122

account_allowed_symbols = "-_[]"

account_force_username = false

max_friends = 40

# Set track=0 to disable tracking.  Any other number will set number
# of seconds between sending tracking packets. This is ON by default.
track = 60

trackaddrs = "track.pvpgn.pro,track.pvpgn.org,bntrack.darkwings.org,bnet.mivabe.nl,track.eurobattle.net"

location = "unknown"
description = "unknown"
url = "unknown"
contact_name = "a Legend"
contact_email = "unknown"

#servername = "WC3 Realm"

max_connections = 9500

packet_limit = 1000

# Maximum number of concurrent users (0 means unlimited). (only 2 logins per account)
max_concurrent_logins = 2

use_keepalive = false

max_conns_per_IP = 10

servaddrs = ":" # default interface (all) and default port (6112)

#udptest_port = 6112

w3routeaddr = "0.0.0.0:6200"

initkill_timer = 120

woltimezone = "-4"
wollongitude = "44.3083"
wollatitude = "85.6024"

wol_autoupdate_serverhost = "westwood-patch.ea.com"
wol_autoupdate_username = "update"
wol_autoupdate_password = "world96"

war3_ladder_update_secs = 300

XML_output_ladder = false

output_update_secs = 60

XML_status_output = false

clan_newer_time = 168

clan_max_members = 250

clan_channel_default_private = 0

clan_min_invites = 3

log_commands = true

log_command_groups = 2345678

log_command_list = ""
WC3Forever commented 4 years ago

Ok, I installed a whole new Win7 Pro x64 OS on VMware, installed all the apps needed for installing this server and same result. Only changes i made is in the config to make it use the sql server. i chose option 1 for the mysql version when installing the server. I used 2017 visual studio. not sure what else. If you guys cant reproduce this what are all the apps needed for install? even list the MS visual c++ 2013 needed for the sql and 2012 x86 needed for the server to install etc.

May 20 13:34:48 [info ] pvpgn::bnetd::conn_destroy: [592] closed file connection May 20 13:35:20 [error] pvpgn::list_get_length: got NULL list May 20 13:35:29 [info ] pvpgn::bnetd::conn_destroy: [468] "testuser" logged out May 20 13:35:29 [info ] pvpgn::bnetd::conn_destroy: [468] closed bnet connection May 20 13:36:20 [error] pvpgn::list_get_length: got NULL list May 20 13:37:20 [error] pvpgn::list_get_length: got NULL list May 20 13:38:20 [error] pvpgn::list_get_length: got NULL list May 20 13:39:20 [error] pvpgn::list_get_length: got NULL list May 20 13:40:20 [error] pvpgn::list_get_length: got NULL list May 20 13:41:20 [error] pvpgn::list_get_length: got NULL list May 20 13:42:20 [error] pvpgn::list_get_length: got NULL list May 20 13:43:20 [error] pvpgn::list_get_length: got NULL list etc....................

WC3Forever commented 4 years ago

This is the issue! its the tracking and it checks it every 60 sec which is why it probably had that error every 60 sec. May 20 17:18:25 [error] pvpgn::host_lookup: could not lookup host "bntrack.darkwings.org" May 20 17:18:25 [error] pvpgn::addr_create_str: could not lookup host "bntrack.darkwings.org" May 20 17:18:25 [error] pvpgn::addrlist_append: could not create addr May 20 17:18:25 [error] pvpgn::addrlist_create: could not append to newly created addrlist May 20 17:18:25 [error] pvpgn::list_destroy: got non-empty list May 20 17:18:25 [error] pvpgn::bnetd::tracker_set_servers: could not create tracking server list

how do i make the site trakcing work for my server? does that mean like making the site see my server user base? like on http://track.pvpgn.org/

cen1 commented 4 years ago

According to your logs it can't resolve some of the trackers which are apparently dead, removing them from the list should do it.

WC3Forever commented 4 years ago

ok which ones are live these days? ill remove the rest.

HarpyWar commented 4 years ago

I can confirm the issue. I guess the message type must be changed from error to warn or debug, because null list is not actually a problem.