Code Monkey home page Code Monkey logo

Comments (8)

jdolan avatar jdolan commented on September 3, 2024 1

Okay, that seems like a Locale thing. Valid bug, but.. not related to the crash you're seeing in Quetoo.

from quetoo.

jdolan avatar jdolan commented on September 3, 2024 1

@M-Ro Can you modify Objectivey/Soures/Class.c and add some printing in teardown? I'd like to see the class names in both loops (destroy and then free). I wonder if the teardown (atexit) routine is being called twice or something? Once for cgame, and once for client?

I can't reproduce this because VirtualBox no longer supports any useful 3D acceleration on macOS, so I can't run a Linux client myself..

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

I managed to reproduce this in GDB by specifying set disable-randomization off before launch. Here's the bt provided.

(gdb) set disable-randomization off
(gdb) run +quit
Starting program: /usr/local/bin/quetoo +quit
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Quetoo 0.1.0 x86_64-pc-linux-gnu 744928281
[New Thread 0x7fac51bc0640 (LWP 140450)]
Adding path /usr/local/lib/quetoo..
Adding path /usr/local/share/quetoo..
Adding path /usr/local/lib/quetoo/default..
Adding path /usr/local/share/quetoo/default..
Adding path /usr/local/share/quetoo/default/map-pits.pk3..
Adding path /usr/local/share/quetoo/default/map-slimyplace.pk3..
Adding path /usr/local/share/quetoo/default/map-tokays.pk3..
Adding path /usr/local/share/quetoo/default/map-fragpipe.pk3..
Adding path /usr/local/share/quetoo/default/map-rage.pk3..
Adding path /usr/local/share/quetoo/default/player-guard.pk3..
Adding path /usr/local/share/quetoo/default/map-warehouse.pk3..
Adding path /usr/local/share/quetoo/default/player-qforcer.pk3..
Adding path /usr/local/share/quetoo/default/map-claustrophobopolis.pk3..
Adding path /usr/local/share/quetoo/default/map-fractures.pk3..
Adding path /usr/local/share/quetoo/default/player-bunker.pk3..
Adding path /usr/local/share/quetoo/default/textures-common.pk3..
Adding path /usr/local/share/quetoo/default/player-gork.pk3..
Adding path /usr/local/share/quetoo/default/map-hallways.pk3..
Adding path /usr/local/share/quetoo/default/map-darkzone.pk3..
Adding path /usr/local/share/quetoo/default/map-torn.pk3..
Adding path /usr/local/share/quetoo/default/map-gehenna.pk3..
Adding path /usr/local/share/quetoo/default/map-sandbox.pk3..
Adding path /usr/local/share/quetoo/default/player-dragoon.pk3..
Adding path /usr/local/share/quetoo/default/map-lavatomb.pk3..
Adding path /usr/local/share/quetoo/default/map-edge.pk3..
Adding path /home/thorn/.quetoo/default..
Adding path /home/thorn/.quetoo/default/map-2deaths-74660.pk3..
Using /home/thorn/.quetoo/default for writing.
[New Thread 0x7fac513bf640 (LWP 140451)]
[New Thread 0x7fac50bbe640 (LWP 140452)]
[New Thread 0x7fac503bd640 (LWP 140453)]
[New Thread 0x7fac4fbbc640 (LWP 140454)]
[New Thread 0x7fac4f3bb640 (LWP 140455)]
[New Thread 0x7fac4ebba640 (LWP 140456)]
[New Thread 0x7fac4e3b9640 (LWP 140457)]
[New Thread 0x7fac4dbb8640 (LWP 140458)]
[New Thread 0x7fac4d3b7640 (LWP 140459)]
[New Thread 0x7fac4cbb6640 (LWP 140460)]
[New Thread 0x7fac4c3b5640 (LWP 140461)]
[New Thread 0x7fac4bbb4640 (LWP 140462)]
[New Thread 0x7fac4b3b3640 (LWP 140463)]
[New Thread 0x7fac4abb2640 (LWP 140464)]
[New Thread 0x7fac4a3b1640 (LWP 140465)]
[New Thread 0x7fac49bb0640 (LWP 140466)]
[New Thread 0x7fac493af640 (LWP 140467)]
[New Thread 0x7fac48bae640 (LWP 140468)]
[New Thread 0x7fac483ad640 (LWP 140469)]
[New Thread 0x7fac47bac640 (LWP 140470)]
[New Thread 0x7fac473ab640 (LWP 140471)]
[New Thread 0x7fac46baa640 (LWP 140472)]
[New Thread 0x7fac463a9640 (LWP 140473)]
[New Thread 0x7fac45ba8640 (LWP 140474)]
[New Thread 0x7fac453a7640 (LWP 140475)]
[New Thread 0x7fac44ba6640 (LWP 140476)]
[New Thread 0x7fac443a5640 (LWP 140477)]
[New Thread 0x7fac43ba4640 (LWP 140478)]
[New Thread 0x7fac433a3640 (LWP 140479)]
[New Thread 0x7fac42ba2640 (LWP 140480)]
[New Thread 0x7fac423a1640 (LWP 140481)]
[New Thread 0x7fac41ba0640 (LWP 140482)]
Client initialization...
Client console initialized
Couldn't exec autoexec.cfg
Sound initialization...
[New Thread 0x7fac411a0640 (LWP 140483)]
[Thread 0x7fac411a0640 (LWP 140483) exited]
[New Thread 0x7fac411a0640 (LWP 140484)]
[Thread 0x7fac411a0640 (LWP 140484) exited]
[New Thread 0x7fac411a0640 (LWP 140485)]
[New Thread 0x7fac4099f640 (LWP 140486)]
[New Thread 0x7fac4079e640 (LWP 140487)]
  Renderer:   OpenAL Soft
  Vendor:     OpenAL Community
  Version:    1.1 ALSOFT 1.19.1
Sound initialized (OpenAL, resample @ 44100hz)
[New Thread 0x7fac377d8640 (LWP 140488)]
Video initialization...
  Trying 1913x1074..
  Setting up OpenGL context..
  Renderer:   NVIDIA GeForce GTX 1080 Ti/PCIe/SSE2
  Vendor:     NVIDIA Corporation
  Version:    3.3.0 NVIDIA 470.94
Video initialized 1913x1074 (1913x1074) windowed
Client game initialization...
  Loading /usr/local/lib/quetoo/default/cgame.so...
Client game module initialization...
  Version:    0.1.0 x86_64-pc-linux-gnu 744928281
[New Thread 0x7fac29320640 (LWP 140489)]
[New Thread 0x7fac28b1f640 (LWP 140490)]
[Thread 0x7fac28b1f640 (LWP 140490) exited]
Installer_CompareRevision: https://quetoo.s3.amazonaws.com/revisions/x86_64-pc-linux-gnu: HTTP 404
[Detaching after vfork from child process 140491]
[New Thread 0x7fac28b1f640 (LWP 140498)]
Client game module initialized
Client game initialized
Client initialized
Quetoo 0.1.0 x86_64-pc-linux-gnu 744928281 initialized
Server quit
Client shutdown...
Client game shutdown...
Client game module shutdown...
[Thread 0x7fac28b1f640 (LWP 140498) exited]
Client game down
[Thread 0x7fac377d8640 (LWP 140488) exited]
[Thread 0x7fac4079e640 (LWP 140487) exited]
[Thread 0x7fac4099f640 (LWP 140486) exited]
[Thread 0x7fac411a0640 (LWP 140485) exited]
Client console shutdown
Client down
[Thread 0x7fac50bbe640 (LWP 140452) exited]
[Thread 0x7fac513bf640 (LWP 140451) exited]
[Thread 0x7fac503bd640 (LWP 140453) exited]
[Thread 0x7fac4fbbc640 (LWP 140454) exited]
[Thread 0x7fac4f3bb640 (LWP 140455) exited]
[Thread 0x7fac4ebba640 (LWP 140456) exited]
[Thread 0x7fac4e3b9640 (LWP 140457) exited]
[Thread 0x7fac4dbb8640 (LWP 140458) exited]
[Thread 0x7fac4d3b7640 (LWP 140459) exited]
[Thread 0x7fac4cbb6640 (LWP 140460) exited]
[Thread 0x7fac4c3b5640 (LWP 140461) exited]
[Thread 0x7fac4bbb4640 (LWP 140462) exited]
[Thread 0x7fac4b3b3640 (LWP 140463) exited]
[Thread 0x7fac4abb2640 (LWP 140464) exited]
[Thread 0x7fac4a3b1640 (LWP 140465) exited]
[Thread 0x7fac49bb0640 (LWP 140466) exited]
[Thread 0x7fac493af640 (LWP 140467) exited]
[Thread 0x7fac48bae640 (LWP 140468) exited]
[Thread 0x7fac483ad640 (LWP 140469) exited]
[Thread 0x7fac47bac640 (LWP 140470) exited]
[Thread 0x7fac473ab640 (LWP 140471) exited]
[Thread 0x7fac46baa640 (LWP 140472) exited]
[Thread 0x7fac463a9640 (LWP 140473) exited]
[Thread 0x7fac45ba8640 (LWP 140474) exited]
[Thread 0x7fac453a7640 (LWP 140475) exited]
[Thread 0x7fac44ba6640 (LWP 140476) exited]
[Thread 0x7fac443a5640 (LWP 140477) exited]
[Thread 0x7fac43ba4640 (LWP 140478) exited]
[Thread 0x7fac433a3640 (LWP 140479) exited]
[Thread 0x7fac42ba2640 (LWP 140480) exited]
[Thread 0x7fac423a1640 (LWP 140481) exited]
[Thread 0x7fac41ba0640 (LWP 140482) exited]
[Thread 0x7fac51bc0640 (LWP 140450) exited]
[Thread 0x7fac29320640 (LWP 140489) exited]
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 "quetoo" received signal SIGSEGV, Segmentation fault.
0x0000000000000031 in ?? ()
(gdb) bt
#0  0x0000000000000031 in ?? ()
#1  0x00007fac54517f5f in release (obj=0x55ccc27c8310) at Class.c:204
#2  0x00007fac545178a0 in destroy (clazz=<optimized out>) at Boole.c:117
#3  0x00007fac54517a95 in teardown () at Class.c:53
#4  0x00007fac54221f67 in __run_exit_handlers (status=status@entry=0,
    listp=0x7fac543a0738 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
    run_dtors=run_dtors@entry=true) at exit.c:108
#5  0x00007fac5422210a in __GI_exit (status=status@entry=0) at exit.c:139
#6  0x000055ccbc972a54 in Com_Shutdown (fmt=fmt@entry=0x55ccbc9c5143 "Server quit\n")
    at common.c:415
#7  0x000055ccbc96adc2 in Quit_f () at main.c:214
#8  0x000055ccbc971e09 in Cbuf_Execute () at cmd.c:165
#9  0x000055ccbc96ad5c in Init () at main.c:342
#10 0x000055ccbc96a7d7 in main (argc=2, argv=0x7ffed021d978) at main.c:438

from quetoo.

jdolan avatar jdolan commented on September 3, 2024

If you run the test in Objectively (make check) do the tests pass or do you see crashes like this?

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

One failed test (StringReader), no segfaults.

thorn@ThornNix:~/tmp/Objectively$ make check
Making check in Sources
make[1]: Entering directory '/home/thorn/tmp/Objectively/Sources'
Making check in Objectively
make[2]: Entering directory '/home/thorn/tmp/Objectively/Sources/Objectively'
make[2]: Leaving directory '/home/thorn/tmp/Objectively/Sources/Objectively'
make[2]: Entering directory '/home/thorn/tmp/Objectively/Sources'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/home/thorn/tmp/Objectively/Sources'
make[1]: Leaving directory '/home/thorn/tmp/Objectively/Sources'
Making check in Tests
make[1]: Entering directory '/home/thorn/tmp/Objectively/Tests'
Making check in Objectively
make[2]: Entering directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make  Array Boole Data Date Dictionary IndexPath IndexSet JSON Log MutableArray MutableData MutableDictionary MutableIndexSet MutableSet MutableString Null Number Object Operation Regexp Resource Set String StringReader Thread URL URLSession Vector
make[3]: Entering directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make[3]: 'Array' is up to date.
make[3]: 'Boole' is up to date.
make[3]: 'Data' is up to date.
make[3]: 'Date' is up to date.
make[3]: 'Dictionary' is up to date.
make[3]: 'IndexPath' is up to date.
make[3]: 'IndexSet' is up to date.
make[3]: 'JSON' is up to date.
make[3]: 'Log' is up to date.
make[3]: 'MutableArray' is up to date.
make[3]: 'MutableData' is up to date.
make[3]: 'MutableDictionary' is up to date.
make[3]: 'MutableIndexSet' is up to date.
make[3]: 'MutableSet' is up to date.
make[3]: 'MutableString' is up to date.
make[3]: 'Null' is up to date.
make[3]: 'Number' is up to date.
make[3]: 'Object' is up to date.
make[3]: 'Operation' is up to date.
make[3]: 'Regexp' is up to date.
make[3]: 'Resource' is up to date.
make[3]: 'Set' is up to date.
make[3]: 'String' is up to date.
make[3]: 'StringReader' is up to date.
make[3]: 'Thread' is up to date.
make[3]: 'URL' is up to date.
make[3]: 'URLSession' is up to date.
make[3]: 'Vector' is up to date.
make[3]: Leaving directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make  check-TESTS
make[3]: Entering directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make[4]: Entering directory '/home/thorn/tmp/Objectively/Tests/Objectively'
PASS: Array
PASS: Boole
PASS: Data
PASS: Date
PASS: Dictionary
PASS: IndexPath
PASS: IndexSet
PASS: JSON
PASS: Log
PASS: MutableArray
PASS: MutableData
PASS: MutableDictionary
PASS: MutableIndexSet
PASS: MutableSet
PASS: MutableString
PASS: Null
PASS: Number
PASS: Object
PASS: Operation
PASS: Regexp
PASS: Resource
PASS: Set
PASS: String
FAIL: StringReader
PASS: Thread
PASS: URL
PASS: URLSession
PASS: Vector
============================================================================
Testsuite summary for Objectively 1.0.0
============================================================================
# TOTAL: 28
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See Tests/Objectively/test-suite.log
Please report to [email protected]
============================================================================
make[4]: *** [Makefile:997: test-suite.log] Error 1
make[4]: Leaving directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make[3]: *** [Makefile:1105: check-TESTS] Error 2
make[3]: Leaving directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make[2]: *** [Makefile:1367: check-am] Error 2
make[2]: Leaving directory '/home/thorn/tmp/Objectively/Tests/Objectively'
make[1]: *** [Makefile:370: check-recursive] Error 1
make[1]: Leaving directory '/home/thorn/tmp/Objectively/Tests'
make: *** [Makefile:402: check-recursive] Error 1

from quetoo.

jdolan avatar jdolan commented on September 3, 2024

Weird. They pass for me on Ubuntu 18.04. Can you attach the log for StringReader?

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

Yep, attached.

StringReader.log

Debian testing 5.15.15-1 (2022-01-18)
gcc 11.2.0

from quetoo.

M-Ro avatar M-Ro commented on September 3, 2024

So this is interesting, I've added debug prints to teardown but I can't reproduce that crash anymore. quetoo +quit no longer segfaults and I'm wondering if you maybe fixed that with todays Objectively fixes.

I do still get a crash if I quit after loading a map, but that's a separate bug and it occurs way before Objectively's teardown.

quit
Server quit
Server shutdown...
Ai shutdown...
  Ai module shutdown...
Ai down
Game shutdown...
Game module shutdown...
Game down
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 "quetoo" received signal SIGSEGV, Segmentation fault.
_dl_close (_map=0x55cd83640ec0 <game_handle>) at dl-close.c:842
842	dl-close.c: No such file or directory.
(gdb) bt
#0  _dl_close (_map=0x55cd83640ec0 <game_handle>) at dl-close.c:842
#1  0x00007f708a9969e0 in __GI__dl_catch_exception (
    exception=exception@entry=0x7fff64334350, operate=0x7f708b018330 <dlclose_doit>,
    args=0x55cd83640ec0 <game_handle>) at dl-error-skeleton.c:208
#2  0x00007f708a996a9f in __GI__dl_catch_error (objname=0x55cd83e87090,
    errstring=0x55cd83e87098, mallocedp=0x55cd83e87088, operate=<optimized out>,
    args=<optimized out>) at dl-error-skeleton.c:227
#3  0x00007f708b018a59 in _dlerror_run (
    operate=operate@entry=0x7f708b018330 <dlclose_doit>,
    args=0x55cd83640ec0 <game_handle>) at dlerror.c:171
#4  0x00007f708b018364 in __dlclose (handle=<optimized out>) at dlclose.c:46
#5  0x000055cd7f821455 in Sys_CloseLibrary (handle=<optimized out>) at sys.c:145
#6  0x000055cd7f86ef6c in Sv_ShutdownGame () at sv_game.c:426
#7  0x000055cd7f85a43f in Sv_ShutdownServer (
    msg=msg@entry=0x7fff64334420 "Server quit\n") at sv_init.c:376
#8  0x000055cd7f85bd49 in Sv_Shutdown (msg=msg@entry=0x7fff64334420 "Server quit\n")
    at sv_main.c:900
#9  0x000055cd7f814a68 in Shutdown (msg=0x7fff64334420 "Server quit\n") at main.c:359
#10 0x000055cd7f81ca3f in Com_Shutdown (fmt=fmt@entry=0x55cd7f86f143 "Server quit\n")
    at common.c:405
#11 0x000055cd7f814dc2 in Quit_f () at main.c:214
#12 0x000055cd7f81be09 in Cbuf_Execute () at cmd.c:165
#13 0x000055cd7f814858 in Frame (msec=1) at main.c:388
#14 main (argc=1, argv=0x7fff64335248) at main.c:459

from quetoo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.