Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game servers don't show up in the lobby #6

Closed
smcameron opened this issue Jun 27, 2013 · 2 comments
Closed

Game servers don't show up in the lobby #6

smcameron opened this issue Jun 27, 2013 · 2 comments

Comments

@smcameron
Copy link
Owner

Had some reports of game servers not showing up in the lobby.

It may be related to running the game inside VMs, but not sure.

smcameron added a commit that referenced this issue Jun 30, 2013
snis_server would crash, thusly:

(gdb) bt
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb75db1df in raise () from /lib/i386-linux-gnu/libc.so.6
#2  0xb75de825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3  0xb75d4085 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4  0xb75d4137 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5  0xb775ed5b in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x08054ecf in queue_up_client_updates (c=0x88f7e08) at snis_server.c:3041
#7  0x08055023 in per_client_write_thread (client=0x88f7e08) at snis_server.c:3081
#8  0xb775cd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#9  0xb769bdde in clone () from /lib/i386-linux-gnu/libc.so.6
(gdb)

pack_and_send_ship_sdata_packet() unlocks the universe_mutex (due to
overzealous refactoring on my part) and can occasionally be called by
queue_up_client_object_update(), which is called by queue_up_client_updates(),
and queue_up_client_updates() assumes that nothing it calls will unlock that
mutex.
@smcameron
Copy link
Owner Author

This commit may fix this bug: a66a130

Please try top-of-tree and let me know if this bug is fixed for you.

Thanks.

-- steve

@smcameron
Copy link
Owner Author

Confirmed commit a66a130 fixes this bug. Closing.

-- steve

smcameron pushed a commit that referenced this issue Dec 5, 2013
Each triangle might be clipped into two for all six planes, resulting in
64 triangles.  Fixes this bug:

Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Core was generated by `./snis_limited_client'.
Program terminated with signal 11, Segmentation fault.
#0  0x3f7ffff0 in ?? ()
(gdb) bt
#0  0x3f7ffff0 in ?? ()
#1  0x08086409 in clip_triangle (triangles=0xbf8a05e0, vs_out0=0x9221fc0, vs_out1=0x9221908,
    vs_out2=0x9221840) at entity.c:1535
#2  0x0808357e in software_render_entity_triangles (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80,
    e=0x9a23df0) at entity.c:509
#3  0x08083c57 in render_entity (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80, e=0x9a23df0) at entity.c:605
#4  0x080852e0 in render_entities (w=0x8ff2840, gc=0x9056ea0, cx=0x99c1e80) at entity.c:1094
#5  0x08062a74 in show_mainscreen (w=0x8ff2840) at snis_limited_client.c:4910
#6  0x080797f0 in main_da_expose (w=0x8ff2840, event=0xbf8a0ee8, p=0x0) at snis_limited_client.c:10887
#7  0xb73b28a2 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#8  0xb7188484 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#9  0xb719a0d9 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0xb71a1ff5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0xb71a2453 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xb74ec413 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#13 0xb73b10ff in gtk_main_do_event () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#14 0xb72082bf in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#15 0xb7208262 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#16 0xb723acd3 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#17 0xb7202dc4 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#18 0xb720504f in gdk_window_process_all_updates () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#19 0xb72050c8 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#20 0xb71dff88 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#21 0xb70c6850 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#22 0xb70c8d86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#23 0xb70c9125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0xb70c956b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb73afb8f in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#26 0x0807bf1d in main (argc=1, argv=0xbf8a1364) at snis_limited_client.c:11811

To reproduce the bug (without this commit, obviously) park the ship inside a
starbase and let the starbase spin around with the main view up.
Usually crashes pretty quickly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant