Jump to content
The Dark Mod Forums

TDM mission downloader crashes


datiswous

Recommended Posts

A while now I have the problem that the TDM in-game mission downloader crashes during downloads. Usually if I download 1 mission it's ok, but if I que downloads there is a chance of crashing. I waited for the database upgrade, to see if anything changed. I cannot pinpoint where it goes wrong. Is there a logfile somewhere where you can see where it chokes and then crashes?

Edited by datiswous
wrong word correction
  • Like 1
Link to comment
Share on other sites

I am working with in-game downloader a lot these days (due to the update), and it crashes for me too sometimes.
Unfortunately, I cannot catch a way to reliably reproduce the problem 😥

Do I understand you correctly that you have experienced occasional crashes many weeks ago (before FM database changes), and you still get them now?
Could you remember whether you had these crashes in earlier versions (i.e. TDM 2.08) ?
Most likely, the crashes are caused entirely by some bug in TDM code, so FM database changes could not affect it.

If you manage to notice a reproducible pattern leading to crash, please post it.
Meanwhile, the best thing you can do it record crash dumps with Task Manager and share them here:

This way I can look where exactly TDM crashed.
Although I think I have inspected one such case and did not realized what's going on... so won't swear crashdump would help.

Link to comment
Share on other sites

25 minutes ago, stgatilov said:

Do I understand you correctly that you have experienced occasional crashes many weeks ago (before FM database changes), and you still get them now?

Indeed, but I did not try versions before 2.09 (at least not on this system and that was long ago anyway). I guess I could try to install 2.08 to see if that makes a difference.

24 minutes ago, stgatilov said:

Ok, although those guides don't work in Linux. So I'll have to search how that works.

Edited by datiswous
  • Haha 1
Link to comment
Share on other sites

14 minutes ago, datiswous said:

Indeed, but I did not try versions before 2.09 (at least not on this system and that was long ago anyway). I guess I could try to install 2.08 to see if that makes a difference.

You'll probably spend too much time on it, so better don't bother.

Quote

Ok, although those guides don't work in Linux. So I'll have to search how that works.

Oh, I guess I was too confident to remember all Linux members 😁

I guess this article explains it: https://dev.to/lefebvre/take-a-core-dump-what-to-do-when-your-app-crashes-on-linux-6p0

  • Like 1
Link to comment
Share on other sites

Log of execute in terminal

Spoiler

--- Common Initialization Complete ---
------------- Warnings ---------------
during The Dark Mod initialization...
WARNING:Cannot detect SVN version!
WARNING:No 'startingmap.txt' file for the current mod: newmiss
2 warnings
WARNING: terminal type 'xterm-kitty' is unknown. terminal support may not work correctly
terminal support enabled ( use +set in_tty 0 to disabled )
pid: 11046
Async thread started
Couldn't exec autocommands.cfg - file does not exist.
Found 0 new mission packages.
Found 108 mods in the FM folder.
Found 5 new mission packages.
Found 112 mods in the FM folder.
Successful downloads: 5
Failed downloads: 0
Found 2 new mission packages.
Found 112 mods in the FM folder.
signal caught: Segmentation fault
si_code 1
Trying to exit gracefully..
double fault Segmentation fault, bailing out
shutdown terminal support
About to exit with code 11

 

coredumpctl info 3129

Spoiler

Message: Process 3129 (thedarkmod.x64) of user 1000 dumped core.
                
                Stack trace of thread 3163:
                #0  0x00007f6c3c202ef5 raise (libc.so.6 + 0x3cef5)
                #1  0x00007f6c3c1ec862 abort (libc.so.6 + 0x26862)
                #2  0x00007f6c3c244f38 __libc_message (libc.so.6 + 0x7ef38)
                #3  0x00007f6c3c24cbea malloc_printerr (libc.so.6 + 0x86bea)
                #4  0x00007f6c3c24e03c _int_free (libc.so.6 + 0x8803c)
                #5  0x00007f6c3c251ca8 __libc_free (libc.so.6 + 0x8bca8)
                #6  0x000000000075c254 n/a (thedarkmod.x64 + 0x35c254)
                #7  0x0000000000b42059 n/a (thedarkmod.x64 + 0x742059)
                #8  0x000000000072368c n/a (thedarkmod.x64 + 0x32368c)
                #9  0x00000000008d8206 n/a (thedarkmod.x64 + 0x4d8206)
                #10 0x00000000004bd921 n/a (thedarkmod.x64 + 0xbd921)
                #11 0x00000000004bda20 n/a (thedarkmod.x64 + 0xbda20)
                #12 0x00000000004b736a n/a (thedarkmod.x64 + 0xb736a)
                #13 0x00007f6c3c633960 __restore_rt (libpthread.so.0 + 0x13960)
                #14 0x00007f6c3c202ef5 raise (libc.so.6 + 0x3cef5)
                #15 0x00007f6c3c1ec862 abort (libc.so.6 + 0x26862)
                #16 0x00007f6c3c244f38 __libc_message (libc.so.6 + 0x7ef38)
                #17 0x00007f6c3c24cbea malloc_printerr (libc.so.6 + 0x86bea)
                #18 0x00007f6c3c24d01c munmap_chunk (libc.so.6 + 0x8701c)
                #19 0x00007f6c3c251cdb __libc_free (libc.so.6 + 0x8bcdb)
                #20 0x0000000000cb3b8a n/a (thedarkmod.x64 + 0x8b3b8a)
                #21 0x00000000008f000e n/a (thedarkmod.x64 + 0x4f000e)
                #22 0x00000000009030db n/a (thedarkmod.x64 + 0x5030db)
                #23 0x00000000011aff7f n/a (thedarkmod.x64 + 0xdaff7f)
                #24 0x00007f6c3c629299 start_thread (libpthread.so.0 + 0x9299)
                #25 0x00007f6c3c2c5053 __clone (libc.so.6 + 0xff053)
                
                Stack trace of thread 3129:
                #0  0x00007f6c3c6359ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
                #1  0x00007f6c3c62a7a3 __pthread_clockjoin_ex (libpthread.so.0 + 0xa7a3)
                #2  0x0000000000bd577e n/a (thedarkmod.x64 + 0x7d577e)
                #3  0x0000000000c73743 n/a (thedarkmod.x64 + 0x873743)
                #4  0x0000000000c76a55 n/a (thedarkmod.x64 + 0x876a55)
                #5  0x00007f6c3c633960 __restore_rt (libpthread.so.0 + 0x13960)
                #6  0x00000000008e4250 n/a (thedarkmod.x64 + 0x4e4250)
                #7  0x00000000008d7d4a n/a (thedarkmod.x64 + 0x4d7d4a)
                #8  0x000000000057d4ec n/a (thedarkmod.x64 + 0x17d4ec)
                #9  0x000000000057f8a6 n/a (thedarkmod.x64 + 0x17f8a6)
                #10 0x00000000005f1266 n/a (thedarkmod.x64 + 0x1f1266)
                #11 0x000000000051a648 n/a (thedarkmod.x64 + 0x11a648)
                #12 0x000000000051d587 n/a (thedarkmod.x64 + 0x11d587)
                #13 0x0000000000511b9f n/a (thedarkmod.x64 + 0x111b9f)
                #14 0x00000000004ba184 n/a (thedarkmod.x64 + 0xba184)
                #15 0x000000000047fa3d n/a (thedarkmod.x64 + 0x7fa3d)
                #16 0x00007f6c3c1edb25 __libc_start_main (libc.so.6 + 0x27b25)
                #17 0x0000000000483e7a n/a (thedarkmod.x64 + 0x83e7a)
                
                Stack trace of thread 3136:
                #0  0x00007f6c3c6359ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
                #1  0x00007f6c3c631b98 __new_sem_wait_slow64.constprop.0 (libpthread.so.0 + 0x11b98)
                #2  0x0000000000d491fc n/a (thedarkmod.x64 + 0x9491fc)
                #3  0x0000000000d58f98 n/a (thedarkmod.x64 + 0x958f98)
                #4  0x00000000011b0130 n/a (thedarkmod.x64 + 0xdb0130)
                #5  0x00007f6c3c629299 start_thread (libpthread.so.0 + 0x9299)
                #6  0x00007f6c3c2c5053 __clone (libc.so.6 + 0xff053)
                
                Stack trace of thread 3131:
                #0  0x00007f6c3c6359ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
                #1  0x00007f6c3c62f260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
                #2  0x0000000000c76d7a n/a (thedarkmod.x64 + 0x876d7a)
                #3  0x00000000004f2ebe n/a (thedarkmod.x64 + 0xf2ebe)
                #4  0x00007f6c3c629299 start_thread (libpthread.so.0 + 0x9299)
                #5  0x00007f6c3c2c5053 __clone (libc.so.6 + 0xff053)
                
                Stack trace of thread 3135:
                #0  0x00007f6c3c2ba37f __poll (libc.so.6 + 0xf437f)
                #1  0x00007f6c39f72306 n/a (libasound.so.2 + 0x4d306)
                #2  0x00007f6c39f72604 snd_pcm_wait (libasound.so.2 + 0x4d604)
                #3  0x0000000000d32d81 n/a (thedarkmod.x64 + 0x932d81)
                #4  0x00000000011b0130 n/a (thedarkmod.x64 + 0xdb0130)
                #5  0x00007f6c3c629299 start_thread (libpthread.so.0 + 0x9299)
                #6  0x00007f6c3c2c5053 __clone (libc.so.6 + 0xff053)
                
                Stack trace of thread 3138:
                #0  0x00007f6c3c28d125 clock_nanosleep@@GLIBC_2.17 (libc.so.6 + 0xc7125)
                #1  0x00007f6c3c292357 __nanosleep (libc.so.6 + 0x

 

 

Edited by datiswous
Link to comment
Share on other sites

The coredump file is pretty big and I can't find a way to directly read it. Could the debug info (GDB) be useful? ( coredumpctl gdb 3129 )

Spoiler


GNU gdb (GDB) 10.1

Reading symbols from .../darkmod/thedarkmod.x64...
(No debugging symbols found in .../darkmod/thedarkmod.x64)

warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:/.nvidia_drv.XXXXXX (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing
[New LWP 3163]
[New LWP 3129]
[New LWP 3136]
[New LWP 3131]
[New LWP 3135]
[New LWP 3138]
[New LWP 3133]
[New LWP 3132]
[New LWP 3130]
[New LWP 3134]
Warning: couldn't activate thread debugging using libthread_db: Cannot find new threads: generic error

warning: File "/usr/lib/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
	add-auto-load-safe-path /usr/lib/libthread_db-1.0.so
line to your configuration file ".../.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file ".../.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `.../darkmod/thedarkmod.x64'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f6c3c202ef5 in raise () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7f6bf6ffd640 (LWP 3163))]
(gdb) bt
#0  0x00007f6c3c202ef5 in raise () from /usr/lib/libc.so.6
#1  0x00007f6c3c1ec862 in abort () from /usr/lib/libc.so.6
#2  0x00007f6c3c244f38 in __libc_message () from /usr/lib/libc.so.6
#3  0x00007f6c3c24cbea in malloc_printerr () from /usr/lib/libc.so.6
#4  0x00007f6c3c24e03c in _int_free () from /usr/lib/libc.so.6
#5  0x00007f6c3c251ca8 in free () from /usr/lib/libc.so.6
#6  0x000000000075c254 in ?? ()
#7  0x0000000000b42059 in ?? ()
#8  0x000000000072368c in ?? ()
#9  0x00000000008d8206 in ?? ()
#10 0x00000000004bd921 in ?? ()
#11 0x00000000004bda20 in ?? ()
#12 0x00000000004b736a in ?? ()
#13 <signal handler called>
#14 0x00007f6c3c202ef5 in raise () from /usr/lib/libc.so.6
#15 0x00007f6c3c1ec862 in abort () from /usr/lib/libc.so.6
#16 0x00007f6c3c244f38 in __libc_message () from /usr/lib/libc.so.6
#17 0x00007f6c3c24cbea in malloc_printerr () from /usr/lib/libc.so.6
#18 0x00007f6c3c24d01c in munmap_chunk () from /usr/lib/libc.so.6
#19 0x00007f6c3c251cdb in free () from /usr/lib/libc.so.6
#20 0x0000000000cb3b8a in ?? ()
#21 0x00000000008f000e in ?? ()
#22 0x00000000009030db in ?? ()
#23 0x00000000011aff7f in ?? ()
#24 0x00007f6c3c629299 in start_thread () from /usr/lib/libpthread.so.0
#25 0x00007f6c3c2c5053 in clone () from /usr/lib/libc.so.6

 

How do I get debug symbols?

Edited by datiswous
Link to comment
Share on other sites

On 5/14/2021 at 1:46 AM, datiswous said:

The coredump file is pretty big and I can't find a way to directly read it.

You can pack it into zip and temporarily upload them to some cloud storage.

I have uploaded debug symbols here: https://drive.google.com/drive/folders/1Y6agPySdI91bRBw4FIltscSBbXc_YFUm?usp=sharing
I'm not sure you will be eager to look any deeper than stack trace.

Link to comment
Share on other sites

9 hours ago, stgatilov said:

I have uploaded debug symbols here: https://drive.google.com/drive/folders/1Y6agPySdI91bRBw4FIltscSBbXc_YFUm?usp=sharing
I'm not sure you will be eager to look any deeper than stack trace.

Am I supposed to start TDM from the debug-executable and try to generate the problem and then read the debug via coredumpctl gdb ? Sorry I am new to this. Why aren't the debug symbols included in the executable by default? Because of the increased size?

Link to comment
Share on other sites

I think it should be possible to extract core dump with coredumpctl into a local file.

When you have the actual core dump file, you can open it in gdb. Then you can load debug symbols, while being in gdb. And after that you will be able to execute "bt" (backtrace), and it will print current stack trace. Also you can switch between threads and do "bt" to retrieve all call stacks.

But it would be much easier if you just compress the core dump and share it. I'll be able to see surrounding variables too.

P.S. I don't develop on Linux normally, so I only know the bare bone stuff. Like gdb, debug symbols, opening core dump in gdb...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 1 reply
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...