Closed klotztech closed 1 year ago
The dump would be usefulish.
Here's a link to the core file: http://puu.sh/gR692/08d8f9fc11.zip
Given that the memdump failed to fully write is a little annoying. Was no other dump generated? You may as well send debug.log too as the console suggests.
I've managed to make it write the entire dump, and uploaded the complete version again (52 MB): http://puu.sh/gR7hL/e67e4805c1.gz (it's a .tar.gz file, needs to be renamed) Edit: The debug.log is also included and now contains further info Edit: Here's an other link that doesn't need renaming: http://dev.3connect.de/dump.tar.gz
Sorry to necro this report (if that even exists on GitHub), but I'd like to really see SourceTV working again. It would be nice to be able to spectate servers, would also be great for recording too.
If it helps, it crashes somewhere inside SV_WriteEnterPVS(as far as I can tell)
// engine/sv_ents_write.cpp
mov eax, [eax+10h]
mov dword ptr [esp], offset _ZN14CGMODDataTable14s_CurrentTableE ; this // CThreadLocalBase CGMODDataTable::s_CurrentTable
mov [esp+4], eax ; void *
call _ZN16CThreadLocalBase3SetEPv ; CThreadLocalBase::Set(void *)
mov eax, [ebp+var_2C]
mov eax, [eax+4] // ====== Crashes here ======
mov dword ptr [esp], offset _ZN14CGMODDataTable15s_ReferenceTickE ; this // CThreadLocalBase CGMODDataTable::s_ReferenceTick
mov [esp+4], eax ; void *
call _ZN16CThreadLocalBase3SetEPv ; CThreadLocalBase::Set(void *)
mov eax, [ebp+var_30]
mov eax, [eax+4]
mov dword ptr [esp], offset _ZN14CGMODDataTable12s_TargetTickE ; this // CThreadLocalBase CGMODDataTable::s_TargetTick
mov [esp+4], eax ; void *
call _ZN16CThreadLocalBase3SetEPv ; CThreadLocalBase::Set(void *)
[...]
The crashes should be fixed, but I do not promise SourceTV itself will work correctly.
@robotboy655 could a folder for the demo files be created?
Because currently they are all saved in the garrysmod/ folder, and it can be abused.
Example:
tv_record "bin/server_srv.so"
will override the server_srv.so
If it had a demo folder, this wouldn't be possible because ../ is an invalid path.
Summary of what I want:
// engine/hltvserver.cpp (line: 2321 for tf2)
// Check if the demo folder exists, if not create it.
char name[ MAX_OSPATH ];
Q_strncpy( name, "demo/", sizeof( name ) );
Q_strncpy( name, args[1], sizeof( name ) );
// add .dem if not already set by user
Q_DefaultExtension( name, ".dem", sizeof( name ) );
hltv->m_DemoRecorder.StartRecording( name, false );
Btw, if you try to join a SourceTV server you get stuck at "Authenticating with Steam" but that's another bug.
The issue with being able to overwrite any file should be resolved. I did not observe any issues with "Authenticating with Steam" in my testing.
Would you have any idea how I could find the cause of this bug? Should I try to reinstall steam or is there any command line option I could use?
I'm running a completely fresh server installation via the following command line:
Which starts up the server just fine:
... Until i try to start recording a SourceTV demo via the
tv_record
command:tv_record test
My server's running Ubuntu 14.04.1 LTS i686 and the server was downloaded by the usual means via steamcmd (as instructed on the wiki). I can provide the core dump if someone's interested.
I hope somebody can help :) Thanks in advance!