Jump to content

Debloat

Member
  • Posts

    108
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Debloat

  1. On 5/29/2017 at 4:46 AM, Germais said:

    This problem that you are facing acually has to do with the speed of your machine. If you say that all the other cores do not show any errors then asuming that the database starts first from the start script, you should use a sleep delay after the core startup, for example, ./db & sleep 2.

    That's it. That's the solution that I have been looking for all day. Increasing the sleep to 10 from 5 solved it.

  2. I have upgraded to MariaDB 10.6 which is the latest version. I have edited Makefile's accordingly. Libsql and others build successfully. However, game and db does not build. Right when it's linking the game and db file it spams this error:

    linking ../game_r40020....
    /usr/local/bin/ld: warning: Div.o: missing .note.GNU-stack section implies executable stack
    /usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::GetAID() const':
    /home/novaline/Srcs/Server/game/src/char_change_empire.cpp:197: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::GetChangeEmpireCount() const':
    /home/novaline/Srcs/Server/game/src/char_change_empire.cpp:142: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::ChangeEmpire(unsigned char)':
    /home/novaline/Srcs/Server/game/src/char_change_empire.cpp:42: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::ChangeEmpire(unsigned char)':
    /home/novaline/Srcs/Server/game/src/char_change_empire.cpp:70: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    /home/novaline/Srcs/Server/game/src/config.cpp:584: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    /home/novaline/Srcs/Server/game/src/config.cpp:649: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    /home/novaline/Srcs/Server/game/src/config.cpp:689: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/db.o: in function `AccountDB::AnalyzeReturnQuery(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/db.cpp:882: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/db.o: in function `DBManager::AnalyzeReturnQuery(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/db.cpp:465: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:577: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:600: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:645: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/db.o:/home/novaline/Srcs/Server/game/src/db.cpp:481: more undefined references to `server_mysql_fetch_row' follow
    /usr/local/bin/ld: OBJDIR/db.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildGradeData(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:573: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildData(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:595: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::__P2PUpdateGrade(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:689: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::RefreshCommentForce(unsigned int)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:1079: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::VerifyGuildJoinableCondition(CHARACTER*)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:2097: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildMemberData(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/guild.cpp:539: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild_manager.o: in function `CGuildManager::CreateGuild(TGuildCreateParameter&)':
    /home/novaline/Srcs/Server/game/src/guild_manager.cpp:89: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild_manager.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/guild_manager.o: in function `CGuildManager::Initialize()':
    /home/novaline/Srcs/Server/game/src/guild_manager.cpp:215: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/guild_manager.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/messenger_manager.o: in function `MessengerManager::LoadList(_SQLMsg*)':
    /home/novaline/Srcs/Server/game/src/messenger_manager.cpp:69: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/questlua_building.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/questlua_building.o: in function `quest::building_has_land(lua_State*)':
    /home/novaline/Srcs/Server/game/src/questlua_building.cpp:104: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: OBJDIR/questlua_pc.o: in function `_SQLResult::~_SQLResult()':
    /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: OBJDIR/questlua_pc.o: in function `quest::pc_change_name(lua_State*)':
    /home/novaline/Srcs/Server/game/src/questlua_pc.cpp:2107: undefined reference to `server_mysql_fetch_row'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::Destroy()':
    AsyncSQL.cpp:(.text+0x48a): undefined reference to `server_mysql_close'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::QueryLocaleSet()':
    AsyncSQL.cpp:(.text+0x73f): undefined reference to `server_mysql_set_character_set'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x7b5): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x7bf): undefined reference to `server_mysql_errno'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::Connect()':
    AsyncSQL.cpp:(.text+0x800): undefined reference to `server_mysql_init'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x844): undefined reference to `server_mysql_real_connect'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x862): undefined reference to `server_mysql_options'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x88f): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8b5): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8e5): undefined reference to `server_mysql_options'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8f9): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x925): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::DirectQuery(char const*)':
    AsyncSQL.cpp:(.text+0x112a): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x11cb): undefined reference to `server_mysql_real_query'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x11ee): undefined reference to `mysql_next_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x122e): undefined reference to `server_mysql_store_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1238): undefined reference to `mysql_insert_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1243): undefined reference to `server_mysql_affected_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x125a): undefined reference to `server_mysql_num_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x12d5): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x12f8): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x132d): undefined reference to `server_mysql_errno'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::ChildLoop()':
    AsyncSQL.cpp:(.text+0x17c6): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x17e3): undefined reference to `server_mysql_real_query'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x17f3): undefined reference to `server_mysql_errno'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1807): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x18f6): undefined reference to `mysql_next_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1933): undefined reference to `server_mysql_store_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x193d): undefined reference to `mysql_insert_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1948): undefined reference to `server_mysql_affected_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x195f): undefined reference to `server_mysql_num_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x19b9): undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1a83): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1aa0): undefined reference to `server_mysql_real_query'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ab0): undefined reference to `server_mysql_errno'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ac1): undefined reference to `server_mysql_error'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1b5e): undefined reference to `mysql_next_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1b9b): undefined reference to `server_mysql_store_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ba5): undefined reference to `mysql_insert_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1bb0): undefined reference to `server_mysql_affected_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1bc7): undefined reference to `server_mysql_num_rows'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1d1d): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1df9): undefined reference to `server_mysql_free_result'
    /usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ef5): undefined reference to `mysql_thread_id'
    /usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::EscapeString(char*, unsigned int, char const*, unsigned int)':
    AsyncSQL.cpp:(.text+0x1042): undefined reference to `mysql_real_escape_string'
    collect2: error: ld returned 1 exit status
    gmake[1]: *** [Makefile:129: ../game_r40020] Error 1
    gmake[1]: Leaving directory '/home/novaline/Srcs/Server/game/src'
    gmake: *** [Makefile:87: all] Error 2

     

  3. 9 minutes ago, Amun said:

    Man, I swear it doesn't make any sense.. Run it in debug again and see if there's any changes in the breakpoints

    Seems like the memory leak is in the same place, but notice that this is only the top of the call stack, there are many things in the Call Stack that I don't understand well.

    b5c0cd09262afa9f4495f5cd7476469c.png

  4. 16 minutes ago, Amun said:

    From what I see, VS doesn't complain about it anymore(the warning) when I add the if statement so, maybe the destination is null?

    Try it like this:

    	if (!pbDest || !m_pbCompBufferByLevels[miplevel]) {
    		return false;
    	}

     

    Unfortunately, no luck with this... Still crashing without any errors. Same as before, the last thing in the log is

    0224 20:38:12373 :: PointWindow: BackGround
    0224 20:38:12688 :: 
    0224 20:38:12689 :: ## Network - Loading Phase ##
    0224 20:38:12690 :: 

     

  5. 2 hours ago, Amun said:

    Ok, remove the if statement and leave only the TraceError, to make sure it's not failing because of that.

     

    Also, what about server-side? Any errors/logs?

    The server side is completely clear of syserrs. Now when I removed the if statement and leave only the TraceError as such:

    spacer.png

    I get this Syserr in log.txt
    ff23ba252549627c9ba31ebf999b1004.png

  6. 17 minutes ago, Amun said:

    I don't have time look around and find out if miplevel can be 0(maybe I'll do it later, if it's not fixed), but you could try something like this:

    	if (!m_pbCompBufferByLevels[miplevel]) {
    		TraceError("No m_pbCompBufferByLevels[miplevel]");
    	//	return false;
    	}
    
    	memcpy(pbDest, m_pbCompBufferByLevels[miplevel], m_lPitch >> (miplevel * 2));

    If that's the last message you see in syserr, just uncomment return false and it should be ok.

     

    Let me know if that works,

    Cheers!

    Unfortunately, there's still no syserr and this is the last thing in log.txt:

    spacer.png

  7. 11 hours ago, Amun said:

    I've had a similar problem in the past and it was because of a window that wasn't working properly(Either from some shop system or the inventory, I think). I can't remember exactly what I've done to fix it(because it was years ago), but you could take a look at this:

    However, be mindful about it and test it thoroughly.

    Edit:

    Now that I see the function, yes, I don't really understand why the loop is there, since vector.clear() should reset its size to 0, thus deleting everything(maybe for debugging?).

     

    What I would do is this:

    	void CWindowManager::__ClearReserveDeleteWindowList()
    	{
    		for (TWindowContainer::iterator itor = m_ReserveDeleteWindowList.begin(); itor != m_ReserveDeleteWindowList.end(); ++itor)
    		{
    			CWindow* pWin = *itor;
    #ifdef __WINDOW_LEAK_CHECK__
    			gs_kSet_pkWnd.erase(pWin);
    #endif
    			if (pWin->GetName())
    			{
    				TraceError("Attempting to delete %s", pWin->GetName());
    			}
    			else
    			{
    				auto parentName = pWin->GetParent() ? pWin->GetParent()->GetName() : 0;
    				if (parentName)
    				{
    					TraceError("Attempting to delete unnamed window. Parent: %s, parent name: %s", pWin->GetParent(), parentName);
    				}
    				else
    				{
    					TraceError("Attempting to delete unnamed window. No parent. Any children? %i", pWin->GetChildCount());
    				}
    			}
    			delete pWin;
    			TraceError("Window deleted.");
    		}
    		m_ReserveDeleteWindowList.clear();
    
    	}

    And then you'll know exactly if the problem is coming from a window or not, since you'll never see "Window deleted" after the window's(or parent's) name.

    Note: I have not tested the code, but it should work fine. Also, you can replace TraceError with Trancen, if you want to use log.txt instead of syserr.txt

     

    Good luck!

    Thank you so much for the answer bud! I tried your code and it works fine. However, I think the problem is not with the window deletion, because it crashes after the deletion, and when the loading phase begins. This is the log:

    spacer.png

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.