UFO: Alien Invasion Issue Tracker
UFO: Alien Invasion
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png UFO: Alien Invasion / Closed Bug report #3354 CL_PingServerCallback segfault in multiplayer mode.
Go to the next issue (open or closed)
Go to the next open issue
This issue has been closed with status "Closed" and resolution "Not determined".
Issue basics
  • Type of issue
    Bug report
  • Category
    General
  • Targetted for
    Not determined
  • Status
    Closed
  • Priority
    3. Normal
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    Not estimated
Issue details
  • Resolution
    Not determined
  • Reproducability
    Not determined
  • Severity
    Not determined
  • Complexity
    Not determined
  • Platform
    Not determined
  • Architecture
    Not determined
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description
[http://sourceforge.net/p/ufoai/bugs/3354 Item 3354] imported from sourceforge.net tracker on 2013-01-28 20:08:16

When I enter into Multiplayer menu and edit my team I get segfault.

(gdb) bt full
#0 0x000000000047c40e in dbuffer::get (this=0x0, data=0x7fffffffba6f "", len=1) at src/common/dbuffer.cpp:39
No locals.
#1 0x000000000047c506 in dbuffer::extract (this=0x0, data=<optimized out>, len=<optimized out>) at src/common/dbuffer.cpp:114
No locals.
#2 0x000000000047b163 in NET_ReadByte (buf=<optimized out>) at src/common/netpack.cpp:249
c = 0 &#039;\000&#039;
#3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
buf = 0x0
server = 0x2d02a40
cmd = <optimized out>
str = "\000\000\000\000\005\000\000\000\"\001\000\000\001\000\000\000H\005\000\000\000\000\000\000\000\345\377\367\377\177\000\000\020\304\377\377\377\177\000\000x`\372\367\377\177\000\000\070\304\377\377\377\177\000\000[\232;\017\000\000\000\000\250\341\377\367\377\177\000\000bX\336\367\377\177\000\000\000\000\000\000\000\000\000\000x`\372\367\377\177\000\000\005", &#039;\000&#039; <repeats 15 times>, "\001\000\000\000\377\177\000\000\250\341\377\367\377\177\000\000\002\017/\n\000\000\000\000\360\062\061\n\000\000\000\000@\017\323\002\000\000\000\000\021XO\364\377\177", &#039;\000&#039; <repeats 11 times>"\345, \377\367\377\177\000\000\300\303\377\377\377\177\000\000\330\303\377\377\377\177\000\000LC_M\001\000\000\000GES/libc.mo\000\000\000\000\000cA@\000\000\000\000\000\377\377\377\377\000\000\000\000 VO\364\377\177\000\000ru_RU.utf8\000\367\377\177\000\000\062\060\061\062/08/1"...
#4 0x0000000000479763 in NET_StreamClose (s=0xa01fcc0) at src/common/net.cpp:370
No locals.
#5 0x000000000047a5ef in NET_Wait (timeout=<optimized out>) at src/common/net.cpp:490
buf = "\b\000\000\000\377info 14\377\177\000\000N\231[\000\000\000\000\000M\300P\364\377\177\000\000\020\314\377\377\377\177\000\000P\231[\000\000\000\000\000P\231[\000\000\000\000\000p\315\377\377\377\177\000\000\000\000\000\000\000\000\000\000M\300P\364\377\177\000\000 \310\377\377\000\000\000\000P\231[", &#039;\000&#039; <repeats 13 times>, "8\311\377\377\377\177", &#039;\000&#039; <repeats 18 times>, " \310\377\377\000\000\000\000\b", &#039;\000&#039; <repeats 27 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000\260\220 \365\377\177\000\000 \310\377\377", &#039;\000&#039; <repeats 12 times>"\377, \377\377\377\377\377\377\377\000\311\377\377\000\000\000\000\000\000\000\000/\000\000\000\000\311\377\377", &#039;\000&#039; <repeats 24 times>"\377, \377\377\377\220\310\377\377\000\000\000\000\000\311\377\377\377\177\000\000\002", &#039;\000&#039; <repeats 11 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000T\353P\364\377\177", &#039;\000&#039; <repeats 18 times>"\327"...
len = -1
s = 0xa01fcc0
tv = {tv_sec = 0, tv_usec = 9628}
ready = <optimized out>
i = <optimized out>
read_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
write_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
#6 0x00000000004707b4 in Qcommon_Frame () at src/common/common.cpp:1476
time_to_next = 18
#7 0x00000000004ca706 in main (argc=<optimized out>, argv=<optimized out>) at src/ports/linux/linux_main.cpp:55
No locals.
(gdb) f 3
#3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
116 const int cmd = cgi->NET_ReadByte(buf);
(gdb) p buf
$1 = (dbuffer *) 0x0
(gdb) p *s
$3 = {data = 0x2d02a40, loopback = false, ready = false, closed = true, finished = false, socket = -1, index = 0, family = 2, addrlen = 16, inbound = {
_refCount = 0xa01fe20, _deletion = 0xa01fe90, _pointer = 0xa01fd90}, outbound = {_refCount = 0x0, _deletion = 0x0, _pointer = 0x0}, onclose = 0,
func = 0x554ac0 <CL_PingServerCallback(net_stream*)>, loopback_peer = 0x0}

Rev: ae9c6761379520b8571b93ce6bb3d08eeac9e185
===== Comments Ported from Sourceforge =====

====== o01eg (2012-08-17 18:22:26.881000) ======

Reformatted log:

~~~~~~
(gdb) bt full
0 0x000000000047c40e in dbuffer::get (this=0x0, data=0x7fffffffba6f "", len=1) at src/common/dbuffer.cpp:39

No locals.
1 0x000000000047c506 in dbuffer::extract (this=0x0, data=, len=) at src/common/dbuffer.cpp:114

No locals.
2 0x000000000047b163 in NET_ReadByte (buf=) at src/common/netpack.cpp:249
c = 0 &#039;\000&#039;
3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
buf = 0x0
server = 0x2d02a40
cmd = <optimized out>
str = "\000\000\000\000\005\000\000\000\"\001\000\000\001\000\000\000H\005\000\000\000\000\000\000\000\345\377\367\377\177\000\000\020\304\377\377\377\177\000\000x`\372\367\377\177\000\000\070\304\377\377\377\177\000\000[\232;\017\000\000\000\000\250\341\377\367\377\177\000\000bX\336\367\377\177\000\000\000\000\000\000\000\000\000\000x`\372\367\377\177\000\000\005", &#039;\000&#039; <repeats 15 times>, "\001\000\000\000\377\177\000\000\250\341\377\367\377\177\000\000\002\017/\n\000\000\000\000\360\062\061\n\000\000\000\000@\017\323\002\000\000\000\000\021XO\364\377\177", &#039;\000&#039; <repeats 11 times>"\345, \377\367\377\177\000\000\300\303\377\377\377\177\000\000\330\303\377\377\377\177\000\000LC_M\001\000\000\000GES/libc.mo\000\000\000\000\000cA@\000\000\000\000\000\377\377\377\377\000\000\000\000 VO\364\377\177\000\000ru_RU.utf8\000\367\377\177\000\000\062\060\061\062/08/1"...
4 0x0000000000479763 in NET_StreamClose (s=0xa01fcc0) at src/common/net.cpp:370

No locals.
5 0x000000000047a5ef in NET_Wait (timeout=) at src/common/net.cpp:490
buf = "\b\000\000\000\377info 14\377\177\000\000N\231[\000\000\000\000\000M\300P\364\377\177\000\000\020\314\377\377\377\177\000\000P\231[\000\000\000\000\000P\231[\000\000\000\000\000p\315\377\377\377\177\000\000\000\000\000\000\000\000\000\000M\300P\364\377\177\000\000 \310\377\377\000\000\000\000P\231[", &#039;\000&#039; <repeats 13 times>, "8\311\377\377\377\177", &#039;\000&#039; <repeats 18 times>, " \310\377\377\000\000\000\000\b", &#039;\000&#039; <repeats 27 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000\260\220 \365\377\177\000\000 \310\377\377", &#039;\000&#039; <repeats 12 times>"\377, \377\377\377\377\377\377\377\000\311\377\377\000\000\000\000\000\000\000\000/\000\000\000\000\311\377\377", &#039;\000&#039; <repeats 24 times>"\377, \377\377\377\220\310\377\377\000\000\000\000\000\311\377\377\377\177\000\000\002", &#039;\000&#039; <repeats 11 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000T\353P\364\377\177", &#039;\000&#039; <repeats 18 times>"\327"...
len = -1
s = 0xa01fcc0
tv = {tv_sec = 0, tv_usec = 9628}
ready = <optimized out>
i = <optimized out>
read_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
write_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
6 0x00000000004707b4 in Qcommon_Frame () at src/common/common.cpp:1476
time_to_next = 18
7 0x00000000004ca706 in main (argc=, argv=) at src/ports/linux/linux_main.cpp:55

No locals.
(gdb) f 3
3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116

116 const int cmd = cgi->NET_ReadByte(buf);
(gdb) p buf
$1 = (dbuffer ) 0x0
(gdb) p s
$3 = {data = 0x2d02a40, loopback = false, ready = false, closed = true, finished = false, socket = -1, index = 0, family = 2, addrlen = 16, inbound = {
_refCount = 0xa01fe20, _deletion = 0xa01fe90, _pointer = 0xa01fd90}, outbound = {_refCount = 0x0, _deletion = 0x0, _pointer = 0x0}, onclose = 0,
func = 0x554ac0 , loopback_peer = 0x0}
~~~~~~
====== tlh2000 (2012-08-17 20:52:33.733000) ======

- Description has changed:

Diff:

~~~~

--- old
+++ new
@@ -1,40 +1,40 @@
When I enter into Multiplayer menu and edit my team I get segfault.

-(gdb) bt full
-#0 0x000000000047c40e in dbuffer::get (this=0x0, data=0x7fffffffba6f "", len=1) at src/common/dbuffer.cpp:39
-No locals.
-#1 0x000000000047c506 in dbuffer::extract (this=0x0, data=<optimized out>, len=<optimized out>) at src/common/dbuffer.cpp:114
-No locals.
-#2 0x000000000047b163 in NET_ReadByte (buf=<optimized out>) at src/common/netpack.cpp:249
- c = 0 &#039;\000&#039;
-#3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
- buf = 0x0
- server = 0x2d02a40
- cmd = <optimized out>
- str = "\000\000\000\000\005\000\000\000\"\001\000\000\001\000\000\000H\005\000\000\000\000\000\000\000\345\377\367\377\177\000\000\020\304\377\377\377\177\000\000x`\372\367\377\177\000\000\070\304\377\377\377\177\000\000[\232;\017\000\000\000\000\250\341\377\367\377\177\000\000bX\336\367\377\177\000\000\000\000\000\000\000\000\000\000x`\372\367\377\177\000\000\005", &#039;\000&#039; <repeats 15 times>, "\001\000\000\000\377\177\000\000\250\341\377\367\377\177\000\000\002\017/\n\000\000\000\000\360\062\061\n\000\000\000\000@\017\323\002\000\000\000\000\021XO\364\377\177", &#039;\000&#039; <repeats 11 times>"\345, \377\367\377\177\000\000\300\303\377\377\377\177\000\000\330\303\377\377\377\177\000\000LC_M\001\000\000\000GES/libc.mo\000\000\000\000\000cA@\000\000\000\000\000\377\377\377\377\000\000\000\000 VO\364\377\177\000\000ru_RU.utf8\000\367\377\177\000\000\062\060\061\062/08/1"...
-#4 0x0000000000479763 in NET_StreamClose (s=0xa01fcc0) at src/common/net.cpp:370
-No locals.
-#5 0x000000000047a5ef in NET_Wait (timeout=<optimized out>) at src/common/net.cpp:490
- buf = "\b\000\000\000\377info 14\377\177\000\000N\231[\000\000\000\000\000M\300P\364\377\177\000\000\020\314\377\377\377\177\000\000P\231[\000\000\000\000\000P\231[\000\000\000\000\000p\315\377\377\377\177\000\000\000\000\000\000\000\000\000\000M\300P\364\377\177\000\000 \310\377\377\000\000\000\000P\231[", &#039;\000&#039; <repeats 13 times>, "8\311\377\377\377\177", &#039;\000&#039; <repeats 18 times>, " \310\377\377\000\000\000\000\b", &#039;\000&#039; <repeats 27 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000\260\220 \365\377\177\000\000 \310\377\377", &#039;\000&#039; <repeats 12 times>"\377, \377\377\377\377\377\377\377\000\311\377\377\000\000\000\000\000\000\000\000/\000\000\000\000\311\377\377", &#039;\000&#039; <repeats 24 times>"\377, \377\377\377\220\310\377\377\000\000\000\000\000\311\377\377\377\177\000\000\002", &#039;\000&#039; <repeats 11 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000T\353P\364\377\177", &#039;\000&#039; <repeats 18 times>"\327"...
- len = -1
- s = 0xa01fcc0
- tv = {tv_sec = 0, tv_usec = 9628}
- ready = <optimized out>
- i = <optimized out>
- read_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
- write_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
-#6 0x00000000004707b4 in Qcommon_Frame () at src/common/common.cpp:1476
- time_to_next = 18
-#7 0x00000000004ca706 in main (argc=<optimized out>, argv=<optimized out>) at src/ports/linux/linux_main.cpp:55
-No locals.
-(gdb) f 3
-#3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
-116 const int cmd = cgi->NET_ReadByte(buf);
-(gdb) p buf
-$1 = (dbuffer *) 0x0
-(gdb) p *s
-$3 = {data = 0x2d02a40, loopback = false, ready = false, closed = true, finished = false, socket = -1, index = 0, family = 2, addrlen = 16, inbound = {
- _refCount = 0xa01fe20, _deletion = 0xa01fe90, _pointer = 0xa01fd90}, outbound = {_refCount = 0x0, _deletion = 0x0, _pointer = 0x0}, onclose = 0,
- func = 0x554ac0 <CL_PingServerCallback(net_stream*)>, loopback_peer = 0x0}
-
-Rev: ae9c6761379520b8571b93ce6bb3d08eeac9e185
+ (gdb) bt full
+ #0 0x000000000047c40e in dbuffer::get (this=0x0, data=0x7fffffffba6f "", len=1) at src/common/dbuffer.cpp:39
+ No locals.
+ #1 0x000000000047c506 in dbuffer::extract (this=0x0, data=<optimized out>, len=<optimized out>) at src/common/dbuffer.cpp:114
+ No locals.
+ #2 0x000000000047b163 in NET_ReadByte (buf=<optimized out>) at src/common/netpack.cpp:249
+ c = 0 &#039;\000&#039;
+ #3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
+ buf = 0x0
+ server = 0x2d02a40
+ cmd = <optimized out>
+ str = "\000\000\000\000\005\000\000\000\"\001\000\000\001\000\000\000H\005\000\000\000\000\000\000\000\345\377\367\377\177\000\000\020\304\377\377\377\177\000\000x`\372\367\377\177\000\000\070\304\377\377\377\177\000\000[\232;\017\000\000\000\000\250\341\377\367\377\177\000\000bX\336\367\377\177\000\000\000\000\000\000\000\000\000\000x`\372\367\377\177\000\000\005", &#039;\000&#039; <repeats 15 times>, "\001\000\000\000\377\177\000\000\250\341\377\367\377\177\000\000\002\017/\n\000\000\000\000\360\062\061\n\000\000\000\000@\017\323\002\000\000\000\000\021XO\364\377\177", &#039;\000&#039; <repeats 11 times>"\345, \377\367\377\177\000\000\300\303\377\377\377\177\000\000\330\303\377\377\377\177\000\000LC_M\001\000\000\000GES/libc.mo\000\000\000\000\000cA@\000\000\000\000\000\377\377\377\377\000\000\000\000 VO\364\377\177\000\000ru_RU.utf8\000\367\377\177\000\000\062\060\061\062/08/1"...
+ #4 0x0000000000479763 in NET_StreamClose (s=0xa01fcc0) at src/common/net.cpp:370
+ No locals.
+ #5 0x000000000047a5ef in NET_Wait (timeout=<optimized out>) at src/common/net.cpp:490
+ buf = "\b\000\000\000\377info 14\377\177\000\000N\231[\000\000\000\000\000M\300P\364\377\177\000\000\020\314\377\377\377\177\000\000P\231[\000\000\000\000\000P\231[\000\000\000\000\000p\315\377\377\377\177\000\000\000\000\000\000\000\000\000\000M\300P\364\377\177\000\000 \310\377\377\000\000\000\000P\231[", &#039;\000&#039; <repeats 13 times>, "8\311\377\377\377\177", &#039;\000&#039; <repeats 18 times>, " \310\377\377\000\000\000\000\b", &#039;\000&#039; <repeats 27 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000\260\220 \365\377\177\000\000 \310\377\377", &#039;\000&#039; <repeats 12 times>"\377, \377\377\377\377\377\377\377\000\311\377\377\000\000\000\000\000\000\000\000/\000\000\000\000\311\377\377", &#039;\000&#039; <repeats 24 times>"\377, \377\377\377\220\310\377\377\000\000\000\000\000\311\377\377\377\177\000\000\002", &#039;\000&#039; <repeats 11 times>"\377, \177", &#039;\000&#039; <repeats 14 times>"\377, \177\000\000T\353P\364\377\177", &#039;\000&#039; <repeats 18 times>"\327"...
+ len = -1
+ s = 0xa01fcc0
+ tv = {tv_sec = 0, tv_usec = 9628}
+ ready = <optimized out>
+ i = <optimized out>
+ read_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
+ write_fds_out = {fds_bits = {2097152, 0 <repeats 15 times>}}
+ #6 0x00000000004707b4 in Qcommon_Frame () at src/common/common.cpp:1476
+ time_to_next = 18
+ #7 0x00000000004ca706 in main (argc=<optimized out>, argv=<optimized out>) at src/ports/linux/linux_main.cpp:55
+ No locals.
+ (gdb) f 3
+ #3 0x0000000000554b1e in CL_PingServerCallback (s=0xa01fcc0) at src/client/cgame/multiplayer/mp_serverlist.cpp:116
+ 116 const int cmd = cgi->NET_ReadByte(buf);
+ (gdb) p buf
+ $1 = (dbuffer *) 0x0
+ (gdb) p *s
+ $3 = {data = 0x2d02a40, loopback = false, ready = false, closed = true, finished = false, socket = -1, index = 0, family = 2, addrlen = 16, inbound = {
+ _refCount = 0xa01fe20, _deletion = 0xa01fe90, _pointer = 0xa01fd90}, outbound = {_refCount = 0x0, _deletion = 0x0, _pointer = 0x0}, onclose = 0,
+ func = 0x554ac0 <CL_PingServerCallback(net_stream*)>, loopback_peer = 0x0}
+
+ Rev: ae9c6761379520b8571b93ce6bb3d08eeac9e185

~~~~



- **labels**: Other --> dbuffer

====== aduke1 (2012-10-09 23:11:36.400000) ======

- **assigned_to**: Martin Gerhardy

====== tlh2000 (2012-10-10 06:15:35.552000) ======

- **summary**: UFO gets segfault in multiplayer mode. --> CL_PingServerCallback segfault in multiplayer mode.

====== tlh2000 (2012-12-06 07:59:42.866000) ======

should be fixed in master now
Steps to reproduce this issue
Nothing entered.
Todos (0 / 0)
Issue created
footer_logo.png The Bug Genie 4.3.1 | Support | Feedback spinning_16.gif