View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003294 | GNUnet | conversation service | public | 2014-01-30 18:07 | 2014-04-08 16:42 |
Reporter | yids | Assigned To | Sree Harsha Totakura | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | won't fix | ||
OS | Debian | OS Version | 7 | ||
Product Version | 0.10.0 | ||||
Target Version | 0.10.1 | Fixed in Version | 0.10.1 | ||
Summary | 0003294: list of calls keeps incrementing, even when there are not more than one incoming calls | ||||
Description | when you accept an incomming call, then reject it and receive another one, the call list seems to be incremented. Since there is only one incoming call, I guess the number of the call should be 0 | ||||
Steps To Reproduce | answer an incoming call, cancel it, answer another one. | ||||
Additional Information | yids@ingorgare:~/src/gnunet$ gnunet-conversation -e ingorgare Phone active on line 0. Type `/help' for a list of available commands Incoming call from `pinky.gnu'. Please /accept #0 or /cancel 0 the call. /accept /status You are having a conversation with `pinky.gnu'. /cancel /status We are listening for incoming calls for ego `ingorgare' on line 0. Incoming call from `pinky.gnu'. Please /accept #1 or /cancel 1 the call. /accept 1 /status You are having a conversation with `pinky.gnu'. /cancel /status We are listening for incoming calls for ego `ingorgare' on line 0. hark@pinky:~/src/crypto/gnunet$ gnunet-conversation -e phone-ego Phone active on line 0. Type `/help' for a list of available commands /call call.ingorgare.gnu Resolved address of `call.ingorgare.gnu'. Now ringing other party. ^Chark@pinky:~/src/crypto/gnunet$ gnunet-conversation -e phone-ego Phone active on line 0. Type `/help' for a list of available commands /call call.ingorgare.gnu Resolved address of `call.ingorgare.gnu'. Now ringing other party. Connection established to `call.ingorgare.gnu' Call terminated /call call.ingorgare.gnu Resolved address of `call.ingorgare.gnu'. Now ringing other party. Connection established to `call.ingorgare.gnu' /status We are listening for incoming calls for ego `phone-ego' on line 0. You are having a conversation with `call.ingorgare.gnu'. | ||||
Tags | No tags attached. | ||||
Attached Files | fix-call-numbers.patch (1,019 bytes)
Index: gnunet-conversation.c =================================================================== --- gnunet-conversation.c (revision 32114) +++ gnunet-conversation.c (working copy) @@ -288,6 +288,8 @@ GNUNET_CONTAINER_DLL_remove (cl_head, cl_tail, cl); + GNUNET_assert (caller_num_gen > 0); + caller_num_gen--; GNUNET_free (cl->caller_id); if (cl == cl_active) { @@ -917,11 +919,17 @@ cl); GNUNET_free (cl->caller_id); GNUNET_free (cl); + GNUNET_assert (caller_num_gen > 0); + caller_num_gen--; break; case PS_ACCEPTED: /* expected state, do rejection logic */ GNUNET_assert (NULL != cl_active); GNUNET_CONVERSATION_caller_hang_up (cl_active->caller); + GNUNET_free (cl_active->caller_id); + GNUNET_free (cl_active); + GNUNET_assert (caller_num_gen > 0); + caller_num_gen--; cl_active = NULL; phone_state = PS_LISTEN; break; | ||||
|
Does the uploaded patch (https://gnunet.org/bugs/file_download.php?file_id=633&type=bug) address the issue. If possible, can you please also check with Valgrind of any memory corruption errors (double free, etc)? |
|
Fixed in SVN #32132. |
|
Actually, that patch seems wrong. 'caller_num_gen' was supposed to be monotonically increasing so that each call gets a unique number. Otherwise, the user might accidentally do something like "/hangup #3" and close a different call, as #3 is hung up by the other side "during enter" and a new call could come in and be assigned #3 again --- all while the user presses "enter". So yes, the point was that the caller IDs would grow "forever", as they represent unique calls (within one application session). |
|
True; didn't think about it. Reverted in #32133. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-01-30 18:07 | yids | New Issue | |
2014-01-30 19:37 | Sree Harsha Totakura | Assigned To | => Sree Harsha Totakura |
2014-01-30 19:37 | Sree Harsha Totakura | Status | new => assigned |
2014-01-30 19:38 | Sree Harsha Totakura | File Added: fix-call-numbers.patch | |
2014-01-30 19:39 | Sree Harsha Totakura | Note Added: 0008045 | |
2014-01-30 19:39 | Sree Harsha Totakura | Status | assigned => feedback |
2014-01-31 10:30 | Sree Harsha Totakura | Status | feedback => assigned |
2014-01-31 10:31 | Sree Harsha Totakura | File Deleted: fix-call-numbers.patch | |
2014-01-31 10:31 | Sree Harsha Totakura | File Added: fix-call-numbers.patch | |
2014-01-31 10:34 | Sree Harsha Totakura | Product Version | => 0.10.0 |
2014-01-31 10:34 | Sree Harsha Totakura | Fixed in Version | => 0.10.1 |
2014-01-31 10:34 | Sree Harsha Totakura | Target Version | => 0.10.1 |
2014-01-31 10:35 | Sree Harsha Totakura | Note Added: 0008048 | |
2014-01-31 10:35 | Sree Harsha Totakura | Status | assigned => resolved |
2014-01-31 10:35 | Sree Harsha Totakura | Resolution | open => fixed |
2014-01-31 12:15 | Christian Grothoff | Note Added: 0008049 | |
2014-01-31 12:15 | Christian Grothoff | Status | resolved => assigned |
2014-01-31 12:58 | Sree Harsha Totakura | Note Added: 0008050 | |
2014-01-31 12:58 | Sree Harsha Totakura | Status | assigned => resolved |
2014-01-31 12:58 | Sree Harsha Totakura | Resolution | fixed => won't fix |
2014-04-08 16:42 | Christian Grothoff | Status | resolved => closed |