git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
@ 2009-08-17 13:56 Ali Polatel
  2009-08-17 14:17 ` Johannes Schindelin
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Ali Polatel @ 2009-08-17 13:56 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 6516 bytes --]

$subject.
git version 1.6.4

Here's what gdb has to say about it:

2456 alip@harikalardiyari> gdb --args git clone http://git.savannah.gnu.org/cgit/xboard.git
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...
(gdb) run
Starting program: /usr/bin/git clone http://git.savannah.gnu.org/cgit/xboard.git
[Thread debugging using libthread_db enabled]
Initialized empty Git repository in /usr/src/alip/xboard/.git/
[New Thread 0x7f382f0566f0 (LWP 28121)]
got 6db08230fafeb8a5fd163689e0225608bac64169
walk 6db08230fafeb8a5fd163689e0225608bac64169
Getting alternates list for http://git.savannah.gnu.org/cgit/xboard.git
got 94a064d8ab2c5e91d542015dd7307924b20ce729
got a72effb29a1f88097fa34240d35380128c3c84c8
got 6cab23ba23301b578d4995f3c889e574ea4b9e99
Getting pack list for http://git.savannah.gnu.org/cgit/xboard.git
Getting index for pack 720d634dfc5e7511332c1e6851f7c5c5f88e7af2
Getting index for pack 06483273097cbac210f10a4bd43324ae660053e6
Getting index for pack a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6
Getting pack 720d634dfc5e7511332c1e6851f7c5c5f88e7af2
 which contains a91f883e599185408c2e868458fc870b45f90647
walk a91f883e599185408c2e868458fc870b45f90647
walk 94a064d8ab2c5e91d542015dd7307924b20ce729
walk 6cab23ba23301b578d4995f3c889e574ea4b9e99
got ceb25797d2bdef03233071092e73d7cdf750a63d
got 00f19ab354710c1f41deba65b92af335317b25e5
walk 00f19ab354710c1f41deba65b92af335317b25e5
got 5195908348d5a926726de5d5447a27febd58b0c5
got c7646fb352bb0f7a286e991d893604190d6144bb
got b24e950f7c4105d99cb16959934231ee041e2b4e
Getting pack a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6
 which contains 94a9ed024d3859793618152ea559a168bbcbb5e2
got b72e3e511a5aecf63c36ec720d819babc4a32e80
got 96872f2a88d025fb298254d7215b0a2a46ab2517
got 0a785501c2a0af15b29498dc5304d4f78e464724
got 41c83fb406c79f7482de0a63b3a41d7cdc5d9930
got 8f5adeee096e8325a77f4d0f1198c6de3e5c8c4d
got eb8df7d39eaa78cbba8ea6d43e48a9d5565f85c4
got af0c6fb67a21096bde685ebbb442089e158eaab7
got 81d056612386f3bfbb2d954b1776b385b77b0354
got 2ec8546ca81919b50458f2dfee0fb04deb909732
got fd3b1e187f4711df4b2b9be7a538e5e7a6a9d974
got 15bb2bd5db019f4b5873ff47a81876bf744fe3b7
got d0f226bee1b67eecf307cc625925a0aa6b7543ec
got 266e77e80239db82c6c9c74190b172bb4eb9aa2d
got a546658f7c58b1f72e13d038efc77347060ddcb6
got 87f71b2afc316dc18ed39ec5e0eba041b9bc850e
got c89673fe13e92003dd53fc590b682f4bae229a0f
got 71d706e2cd500e15b0b3fcccaba5530a85173759
got a0978a0f361032a670dc644752dae210a2b3d1e8
got 17463be1dd790b3c8e64eaae95135add449e82db
got 8b401ae12b0e72fe9b03ea1b08b2e4cb89378a8d
got 6cdb7dfebf13e58ce8bbca0a2890057694eee073
got f997ac9797b7427a2c3e3abf8dd95bc2df2bf028
got 7d80cb4c3eb366e28f542b095f958289b4a719e3
got 40fb9ce5458e0df6f33160d7392a8b56aa0e1501
got f945dbf2bcef821a53120501b0a06fc0388a2d5c
got c7b87e2a937e0e83a6f6347649e38c1e4636c14a
got b5b9c2fdb4f3964777c3a3f2f92d2784430feddd
got 0d4b26f7ca8c3108d839e9e339adecb8d1395aad
got b2fcec6a8916695ecb5f1007db2e7fc504d23d05
got 82957eb41b19cd497b761c42cebb4580bddd6baf
got 394a9fdac5b251114074c8bea117c5676fd7caa5
got 9c345f61dd8eaf6c5fb45cc90bb133227609608a
got f02507f1df2b2fc9e999d89b2003ef80b92fae8b
got 5806d53acedf3633d17151c1dd3d0f7316dc3264
got 460073895fc709ae6844800bbe61300bf51a0154
got d4c3dbec93edfd27c52775178ba11242ded59193
got e777067113c5726d1706f266de057aa7361dbec5
got 46e2b200ccb840dfab62258434570c840ebebfa1
got f020f22a9ab9e88c6585d8b204aa8ce016a291e5
got 02c9ec3643c6eb94212be431c72a11f03b4e5b1a
got 0657847b19f925d8af5f450c78dda46f8ae5f7d0
got 05af22bd8201f75fb9718382a3307eda68d5e976
got 427cd7d5dfc211ccd962a18bc9666c72a7966b79
got 77d5bf31108026eb97c6b8e288c9d6d092b767dd
got 22737c1f642d614a14045c72a648bfb0fbfbf9da
got b95f2d1475ce464e507d4dbaf2e3af8f6b6f9a48
got f718239d651c2476ff8b7abff7940d2054f44e4f
got ba30dcb13a69fd3b82a10da5456e47b448d4bcc9
got 83d0f555a7dad1d410761ec89273d795f038860c
got 562609284c1f98090bd14dfddbbe2a4991d1e5a8
got d9a98ef891407dd11863ff5e2553ff79aa24d32e
got 0ae04cca10cea96e05c7d4c261aa5d3b208a0b47
got db9e377a69a3d6bd4a8256d00dca3bee680a6a2a
got 1e1e01c9481a519faffbaf6c645dfa8017cabdb5
got 6cd5f80a6aa0390d2412db7d49427ce845d7c946
got b5381c9bfd883c7a84167b022a64c5ca0385930d
got cd0415a4adb0af252cfdf588323a5814a249e90c
got 2a574b7641b9c0f6414b9943695391b6b8252a54
got 5d662edd417ae9f858cb374e03f09a7639b2c03d
got 2bae494f2cf9486b771c706a1eec6217e46ce778
got 8f84481839d7eeb3e0b0da0088b3093742b546cd
got a6d954d86827b3d3777c186d836f4b533602e567
walk 83d0f555a7dad1d410761ec89273d795f038860c
walk 2bae494f2cf9486b771c706a1eec6217e46ce778
Getting pack 06483273097cbac210f10a4bd43324ae660053e6
 which contains 74e24bdc2ec3f275da63ca1396a773e7043cb9e9

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f382f0566f0 (LWP 28121)]
0x00000000004ada21 in process_object_response (callback_data=<value optimized out>) at http-walker.c:93
93	http-walker.c: No such file or directory.
	in http-walker.c
(gdb) thread apply all bt

Thread 1 (Thread 0x7f382f0566f0 (LWP 28121)):
#0  0x00000000004ada21 in process_object_response (callback_data=<value optimized out>) at http-walker.c:93
#1  0x00000000004ab3e3 in process_curl_messages () at http.c:657
#2  0x00000000004ab475 in step_active_slots () at http.c:571
#3  0x00000000004add95 in fetch (walker=0x13d3b50, sha1=<value optimized out>) at http-walker.c:476
#4  0x00000000004a74e3 in walker_fetch (walker=0x13d3b50, targets=4, target=<value optimized out>, write_ref=0x0, 
    write_ref_log_details=<value optimized out>) at walker.c:176
#5  0x00000000004a0e46 in fetch_objs_via_curl (transport=0x20, nr_objs=4, to_fetch=0x13d5780) at transport.c:375
#6  0x000000000049feab in transport_fetch_refs (transport=0x13d4300, refs=<value optimized out>) at transport.c:1064
#7  0x0000000000416a05 in cmd_clone (argc=<value optimized out>, argv=<value optimized out>, prefix=<value optimized out>)
    at builtin-clone.c:513
#8  0x0000000000404391 in handle_internal_command (argc=2, argv=0x7fff89c74b10) at git.c:246
#9  0x000000000040453d in main (argc=2, argv=0x7fff89c74b10) at git.c:438
(gdb) 

-- 
Regards,
Ali Polatel

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-17 13:56 git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults Ali Polatel
@ 2009-08-17 14:17 ` Johannes Schindelin
  2009-08-17 14:22   ` Johannes Schindelin
  2009-08-17 14:40 ` Lars Hjemli
  2009-08-26 12:20 ` Tay Ray Chuan
  2 siblings, 1 reply; 11+ messages in thread
From: Johannes Schindelin @ 2009-08-17 14:17 UTC (permalink / raw)
  To: Ali Polatel; +Cc: git

Hi,

On Mon, 17 Aug 2009, Ali Polatel wrote:

> Here's what gdb has to say about it:
>
> [...]

Here's what valgrind has to say about it (with a current 'next' + 
patches):

==25434== Invalid read of size 8
==25434==    at 0x407433: process_object_response (http-walker.c:91)
==25434==    by 0x405713: finish_active_slot (http.c:657)
==25434==    by 0x40448F: process_curl_messages (http.c:119)
==25434==    by 0x40546A: step_active_slots (http.c:571)
==25434==    by 0x4080E8: fetch_object (http-walker.c:476)
==25434==    by 0x408316: fetch (http-walker.c:526)
==25434==    by 0x42876C: loop (walker.c:176)
==25434==    by 0x428C65: walker_fetch (walker.c:287)
==25434==    by 0x40401F: main (remote-curl.c:111)

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-17 14:17 ` Johannes Schindelin
@ 2009-08-17 14:22   ` Johannes Schindelin
  0 siblings, 0 replies; 11+ messages in thread
From: Johannes Schindelin @ 2009-08-17 14:22 UTC (permalink / raw)
  To: Ali Polatel, Tay Ray Chuan; +Cc: git

Hi,

On Mon, 17 Aug 2009, Johannes Schindelin wrote:

> On Mon, 17 Aug 2009, Ali Polatel wrote:
> 
> > Here's what gdb has to say about it:
> >
> > [...]
> 
> Here's what valgrind has to say about it (with a current 'next' + 
> patches):
> 
> ==25434== Invalid read of size 8
> ==25434==    at 0x407433: process_object_response (http-walker.c:91)
> ==25434==    by 0x405713: finish_active_slot (http.c:657)
> ==25434==    by 0x40448F: process_curl_messages (http.c:119)
> ==25434==    by 0x40546A: step_active_slots (http.c:571)
> ==25434==    by 0x4080E8: fetch_object (http-walker.c:476)
> ==25434==    by 0x408316: fetch (http-walker.c:526)
> ==25434==    by 0x42876C: loop (walker.c:176)
> ==25434==    by 0x428C65: walker_fetch (walker.c:287)
> ==25434==    by 0x40401F: main (remote-curl.c:111)

Oops, forgot the more important part:

==25434==  Address 0x87a7bd0 is 0 bytes inside a block of size 64 free'd
==25434==    at 0x4C265AF: free (vg_replace_malloc.c:323)
==25434==    by 0x4075F5: release_object_request (http-walker.c:128)
==25434==    by 0x408022: abort_object_request (http-walker.c:452)
==25434==    by 0x4080D7: fetch_object (http-walker.c:470)
==25434==    by 0x408316: fetch (http-walker.c:526)
==25434==    by 0x42876C: loop (walker.c:176)
==25434==    by 0x428C65: walker_fetch (walker.c:287)
==25434==    by 0x40401F: main (remote-curl.c:111)

Seems that an object request is aborted, but the slot, and therefore the 
callback, is called nevertheless.  Tay, does that ring a bell?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-17 13:56 git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults Ali Polatel
  2009-08-17 14:17 ` Johannes Schindelin
@ 2009-08-17 14:40 ` Lars Hjemli
  2009-08-26 12:20 ` Tay Ray Chuan
  2 siblings, 0 replies; 11+ messages in thread
From: Lars Hjemli @ 2009-08-17 14:40 UTC (permalink / raw)
  To: Ali Polatel; +Cc: git

On Mon, Aug 17, 2009 at 15:56, Ali Polatel<polatel@gmail.com> wrote:
> $subject.
> git version 1.6.4
>
> Here's what gdb has to say about it:
>
> 2456 alip@harikalardiyari> gdb --args git clone http://git.savannah.gnu.org/cgit/xboard.git
>...
> Getting pack 06483273097cbac210f10a4bd43324ae660053e6
>  which contains 74e24bdc2ec3f275da63ca1396a773e7043cb9e9
>
> Program received signal SIGSEGV, Segmentation fault.

This is the http clone interface generated by cgit, and a quick test
gives me an identical segfault, while `git clone
http://git.sv.gnu.org/r/xboard.git` succeeds. I can only guess, but
maybe this has something to do with caching in cgit:

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/info/packs
P pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.pack
P pack-06483273097cbac210f10a4bd43324ae660053e6.pack
P pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.pack

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.pack
>pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.pack

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.idx
>pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.idx

$ git verify-pack -v pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.pack
[snip]
non delta: 115 objects
chain length = 1: 64 objects
chain length = 2: 57 objects
chain length = 3: 16 objects
chain length = 4: 10 objects
chain length = 5: 7 objects
chain length = 6: 1 object
pack-720d634dfc5e7511332c1e6851f7c5c5f88e7af2.pack: ok

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-06483273097cbac210f10a4bd43324ae660053e6.pack
>pack-06483273097cbac210f10a4bd43324ae660053e6.pack

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-06483273097cbac210f10a4bd43324ae660053e6.idx
>pack-06483273097cbac210f10a4bd43324ae660053e6.idx

$ git verify-pack -v pack-06483273097cbac210f10a4bd43324ae660053e6.pack
[snip]
74e24bdc2ec3f275da63ca1396a773e7043cb9e9 blob   921 286 12694
[snip]
non delta: 233 objects
chain length = 1: 86 objects
chain length = 2: 74 objects
chain length = 3: 47 objects
chain length = 4: 8 objects
chain length = 5: 5 objects
chain length = 6: 1 object
pack-06483273097cbac210f10a4bd43324ae660053e6.pack: ok


$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.pack
>pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.pack

$ curl http://git.savannah.gnu.org/cgit/xboard.git/objects/pack/pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.idx
>pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.idx

$ git verify-pack -v pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.pack
[snip]
non delta: 1139 objects
chain length = 1: 454 objects
chain length = 2: 349 objects
chain length = 3: 301 objects
chain length = 4: 235 objects
chain length = 5: 179 objects
chain length = 6: 96 objects
chain length = 7: 52 objects
chain length = 8: 37 objects
chain length = 9: 21 objects
chain length = 10: 6 objects
chain length = 11: 5 objects
chain length = 12: 1 object
chain length = 13: 2 objects
chain length = 14: 1 object
chain length = 15: 2 objects
chain length = 16: 1 object
chain length = 17: 1 object
chain length = 18: 2 objects
chain length = 19: 1 object
chain length = 20: 1 object
chain length = 21: 1 object
chain length = 22: 1 object
chain length = 23: 2 objects
chain length = 24: 2 objects
chain length = 25: 1 object
chain length = 26: 1 object
chain length = 27: 1 object
chain length = 28: 1 object
chain length = 29: 1 object
chain length = 30: 1 object
chain length = 31: 1 object
chain length = 32: 1 object
chain length = 33: 2 objects
chain length = 34: 3 objects
chain length = 35: 2 objects
chain length = 36: 1 object
chain length = 37: 1 object
chain length = 38: 1 object
chain length = 39: 2 objects
chain length = 40: 3 objects
chain length = 41: 1 object
chain length = 42: 2 objects
chain length = 43: 1 object
chain length = 44: 1 object
chain length = 45: 2 objects
chain length = 46: 1 object
pack-a0a25c7cc57128b5317e0b5e7b8de7a59afe9af6.pack: ok

Hmm, the packs looks ok so maybe the problem is related to our usage
of libcurl after all...

--
larsh

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-17 13:56 git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults Ali Polatel
  2009-08-17 14:17 ` Johannes Schindelin
  2009-08-17 14:40 ` Lars Hjemli
@ 2009-08-26 12:20 ` Tay Ray Chuan
  2009-08-26 13:12   ` Ali Polatel
  2 siblings, 1 reply; 11+ messages in thread
From: Tay Ray Chuan @ 2009-08-26 12:20 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Ali Polatel, git

Hi,

On Mon, Aug 17, 2009 at 10:22 PM, Johannes Schindelin<Johannes.Schindelin@gmx.de> wrote:
> Seems that an object request is aborted, but the slot, and therefore the
> callback, is called nevertheless.  Tay, does that ring a bell?

thanks Johannes, your diagnosis was a vital clue.

Ali, could you see if this patch fixes it for you? On my side, I had
some difficulty reproducing your problem reliably (it happened
sometimes but not on other times).

--
Cheers,
Ray Chuan

-- >8 --
Subject: [PATCH] http.c: set slot callback members to NULL when releasing object

Set the members callback_func and callback_data of freq->slot to NULL
when releasing a http_object_request. release_active_slot() is also
invoked on the slot to remove the curl handle associated with the slot
from the multi stack (CURLM *curlm in http.c).

These prevent the callback function and data from being used in http
methods (like http.c::finish_active_slot()) after a
http_object_request has been free'd.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
 http.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/http.c b/http.c
index a2720d5..1ae19e0 100644
--- a/http.c
+++ b/http.c
 -1285,5 +1285,10 @@ void release_http_object_request(struct http_object_request *freq)
 		free(freq->url);
 		freq->url = NULL;
 	}
-	freq->slot = NULL;
+	if (freq->slot != NULL) {
+		freq->slot->callback_func = NULL;
+		freq->slot->callback_data = NULL;
+		release_active_slot(freq->slot);
+		freq->slot = NULL;
+	}
 }
--
1.6.4.193.gaceaa.dirty

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-26 12:20 ` Tay Ray Chuan
@ 2009-08-26 13:12   ` Ali Polatel
  2009-08-27  7:39     ` Johannes Schindelin
  2009-08-29  0:07     ` Tay Ray Chuan
  0 siblings, 2 replies; 11+ messages in thread
From: Ali Polatel @ 2009-08-26 13:12 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 609 bytes --]

Tay Ray Chuan yazmış:
> Hi,
> 
> On Mon, Aug 17, 2009 at 10:22 PM, Johannes Schindelin<Johannes.Schindelin@gmx.de> wrote:
> > Seems that an object request is aborted, but the slot, and therefore the
> > callback, is called nevertheless.  Tay, does that ring a bell?
> 
> thanks Johannes, your diagnosis was a vital clue.
> 
> Ali, could you see if this patch fixes it for you? On my side, I had
> some difficulty reproducing your problem reliably (it happened
> sometimes but not on other times).
> 

It works, I don't get any segfaults after applying this patch.

-- 
Regards,
Ali Polatel

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-26 13:12   ` Ali Polatel
@ 2009-08-27  7:39     ` Johannes Schindelin
  2009-08-29  0:07     ` Tay Ray Chuan
  1 sibling, 0 replies; 11+ messages in thread
From: Johannes Schindelin @ 2009-08-27  7:39 UTC (permalink / raw)
  To: Ali Polatel; +Cc: Tay Ray Chuan, git

[-- Attachment #1: Type: TEXT/PLAIN, Size: 857 bytes --]

Hi,

On Wed, 26 Aug 2009, Ali Polatel wrote:

> Tay Ray Chuan yazmış:
> 
> > On Mon, Aug 17, 2009 at 10:22 PM, Johannes Schindelin<Johannes.Schindelin@gmx.de> wrote:
> > > Seems that an object request is aborted, but the slot, and therefore 
> > > the callback, is called nevertheless.  Tay, does that ring a bell?
> > 
> > thanks Johannes, your diagnosis was a vital clue.
> > 
> > Ali, could you see if this patch fixes it for you? On my side, I had
> > some difficulty reproducing your problem reliably (it happened
> > sometimes but not on other times).
> > 
> 
> It works, I don't get any segfaults after applying this patch.

Great!

But why did you drop me from the Cc: list?  It's not every day that I can 
pay that close attention to the mails I get; mails which are not addressed 
to me directly fall off the plate on other days...

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-26 13:12   ` Ali Polatel
  2009-08-27  7:39     ` Johannes Schindelin
@ 2009-08-29  0:07     ` Tay Ray Chuan
  2009-08-29  0:53       ` Junio C Hamano
  1 sibling, 1 reply; 11+ messages in thread
From: Tay Ray Chuan @ 2009-08-29  0:07 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, Ali Polatel, git

Hi,

2009/8/26 Ali Polatel <polatel@gmail.com>:
> It works, I don't get any segfaults after applying this patch.

Junio, I hope you don't mind me asking but why hasn't this patch been
accepted? It addresses a pretty severe problem, and the sooner users
have it the better.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-29  0:07     ` Tay Ray Chuan
@ 2009-08-29  0:53       ` Junio C Hamano
  2009-08-29  1:10         ` Junio C Hamano
  0 siblings, 1 reply; 11+ messages in thread
From: Junio C Hamano @ 2009-08-29  0:53 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: Johannes Schindelin, Ali Polatel, git

Tay Ray Chuan <rctay89@gmail.com> writes:

> 2009/8/26 Ali Polatel <polatel@gmail.com>:
>> It works, I don't get any segfaults after applying this patch.
>
> Junio, I hope you don't mind me asking but why hasn't this patch been
> accepted? It addresses a pretty severe problem, and the sooner users
> have it the better.

The procedure ideally goes like this:

    (0) original bug report is sent; Ali did this with:

        Date: Mon, 17 Aug 2009 16:56:52 +0300
        Message-ID: <20090817135651.GA4570@harikalardiyari>

    (1) a helpful contributor (or somebody ashamed of having introduced
        the bug ;-)) sends a potential fix as an RFT to the reporter, with
        Cc: to list.  You did this with:

        Date: Wed, 26 Aug 2009 20:20:53 +0800
        Message-ID: <20090826202053.6e6442a6.rctay89@gmail.com>

	This message was clear that it was a request-for-test of a
	potential fix, not a "I know this is the correct fix to the
	problem; the maintainer, please apply".  It wasn't even Cc:'ed to
	me, and not CC'ing me is the right thing to do for this kind of
	request-for-test patches.

    (2) success/failure report is given.  Ali did this with:

        Date: Wed, 26 Aug 2009 16:12:35 +0300
        Message-ID: <20090826131235.GF16486@harikalardiyari>

	to report a success.

    (3) Upon seeing (2), the sender of (1) submits the final patch for
        inclusion, with To: me and CC: list.

        The sender makes sure that it is easy for me and others who sees
        (3) first without necessarily having followed the earlier
        discussions to find the previous messages (i.e. 0, 1, 2).  In this
        case, sending a follow-up to (2) is sufficient, just like you did
        in the message I am responding to, because these three steps were
        neatly threaded already.

        If you knew the flow I am describing here, you would have sent
        "the final patch for inclusion" instead of the message I am
        replying to.  The final patch for inclusion would have consisted
        of:

	* The usual "applicable patch": a proper subject, the log message,
          your Signed-off-by:, and Tested-by: to credit Ali;

        * Optionally, after the three-dash line before the diffstat, any
          out-of-band communication, e.g.

          "Junio, please apply to 'maint'; this is a fix for a grave bug,
          and the problem goes all the way down to version 1.6.1."

        * And the diffstat and the diff.

My request for this procedure is not red tape.

While an issue (such as this http one) is resolved that is in an area
(e.g. http) people other than me (i.e. you) are much more familiar with, I
do not have to keep track of the discussion while more capable hands are
on top of it.  Having (3) as the concluding step will

 - give me a way to easily verify, if I wanted to, the claim that this is
   the right solution, by referring to the previous dialog; and

 - give you a way to make sure that what is recorded is the correct final
   solution (this is especially important if steps 1 and 2 have to be
   repeated before reaching the final solution), and that the necessary
   background information (e.g. credits to the original reporter) are
   given in your own words, instead of having _me_ come up with one with
   less-than-perfect understanding of the issues I would gain after
   skimming the archive for the previous discussion.

Nobody can expect me to keep track of everything; the final "Here is the
good one" would help the process flow smoothly and reduce the chance of
mistakes.

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-29  0:53       ` Junio C Hamano
@ 2009-08-29  1:10         ` Junio C Hamano
  2009-08-29  2:03           ` Tay Ray Chuan
  0 siblings, 1 reply; 11+ messages in thread
From: Junio C Hamano @ 2009-08-29  1:10 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Tay Ray Chuan, Johannes Schindelin, Ali Polatel, git

Junio C Hamano <gitster@pobox.com> writes:

> Nobody can expect me to keep track of everything; the final "Here is the
> good one" would help the process flow smoothly and reduce the chance of
> mistakes.

I forgot to add...

In this case, it is _now_ clear to me that you consider your 

    Subject: Re: git clone http://git.... segfaults
    To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Cc: Ali Polatel <polatel@gmail.com>, git@vger.kernel.org
    Date: Wed, 26 Aug 2009 20:20:53 +0800
    Message-ID: <20090826202053.6e6442a6.rctay89@gmail.com>

to be the final version, so I'd just add "noticed by Ali Polatel who later
tested this patch to verify; Dscho helped to identify the problem spot."
at the end of the commit log message in the message and apply.  IOW, no
need to resend.

Ali's original report is about 1.6.4 so I presume this is 'maint'
material, so let's include this in 1.6.4.2.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults
  2009-08-29  1:10         ` Junio C Hamano
@ 2009-08-29  2:03           ` Tay Ray Chuan
  0 siblings, 0 replies; 11+ messages in thread
From: Tay Ray Chuan @ 2009-08-29  2:03 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, Ali Polatel, git

Hi,

On Sat, Aug 29, 2009 at 9:10 AM, Junio C Hamano<gitster@pobox.com> wrote:
> I forgot to add...
>
> In this case, it is _now_ clear to me that you consider your
>
>    Subject: Re: git clone http://git.... segfaults
>    To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
>    Cc: Ali Polatel <polatel@gmail.com>, git@vger.kernel.org
>    Date: Wed, 26 Aug 2009 20:20:53 +0800
>    Message-ID: <20090826202053.6e6442a6.rctay89@gmail.com>
>
> to be the final version,

(I refer to this and your previous message) Thanks for taking the time
to explain the procedures/workflow involved. Yes, I thought Ali's
report on the patch was sufficient to flag the patch as
here-is-the-good one, but I didn't indicate this to you clearly
enough. Sorry for all the trouble.

> so I'd just add "noticed by Ali Polatel who later
> tested this patch to verify; Dscho helped to identify the problem spot."
> at the end of the commit log message in the message and apply.  IOW, no
> need to resend.

Thanks again. Somehow, I neglected to include credits to Ali and Dscho.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2009-08-29  2:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-17 13:56 git clone http://git.savannah.gnu.org/cgit/xboard.git segfaults Ali Polatel
2009-08-17 14:17 ` Johannes Schindelin
2009-08-17 14:22   ` Johannes Schindelin
2009-08-17 14:40 ` Lars Hjemli
2009-08-26 12:20 ` Tay Ray Chuan
2009-08-26 13:12   ` Ali Polatel
2009-08-27  7:39     ` Johannes Schindelin
2009-08-29  0:07     ` Tay Ray Chuan
2009-08-29  0:53       ` Junio C Hamano
2009-08-29  1:10         ` Junio C Hamano
2009-08-29  2:03           ` Tay Ray Chuan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).