git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's not in 'master' but should be

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 18, 2008, 18:28 UTC
Message-ID
<alpine.LSU.1.00.0801181638500.5731@racer.site>
In-Reply-To
<7v63xrh3mw.fsf_-_@gitster.siamese.dyndns.org>
Hi,
On Fri, 18 Jan 2008, Junio C Hamano wrote:
Show 17 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > Currently the ones I looked at and consider possible 1.5.4 material 
> > are http-push fixes from Grégoire Barbier and parse_commit_buffer() 
> > tightening from Martin Koegler.
> 
> It seems that for the past few days, people were having too much fun 
> bashing how broken MacOS X is, and the real work has stalled in the 
> meantime.  Well, not really stalled but they certainly made the patches 
> and discussions harder to find in the list archive.
> 
> [...]
>
> But there are still unapplied patches that deserve attention. The one 
> that I am most worried about is Grégoire Barbier's http-push changes:
> 
>   $gmane/70406 <1200250979-19604-1-git-send-email-gb@gbarbier.org>

This patch makes http-push Warn if URL does not end if "/", but it would be even better to just handle it... we know exactly that HTTP URLs _must_ end in a slash.

It gives a better warning if the URL cannot be accessed, alright. But I hate the fact that it introduces yet another function which does a bunch of curl_easy_setopt()s only to start an active slot and check for errors.

Currently, I am not familiar enough with http-push.c to suggest a proper alternative, but I suspect that the return values of the _existing_ calls to curl should know precisely why the requests failed, and _this_ should be reported.

>   $gmane/70407 <1200250979-19604-2-git-send-email-gb@gbarbier.org>

I first could not reproduce the breakage described in the commit message (bad or no ref given on command line).

After playing around for a while, all of a sudden, I got a segmentation fault:

Waiting for http://dscho@127.0.0.1/test.git/objects/56/5e84516c1c6dca168be1715b45aeae70b24d13_36e8d912-4841-455a-bbd9-69e54d00db99 Segmentation fault (core dumped)

Unfortunately, this is with _and_ without this patch.
In gdb, it looks like this:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213430096 (LWP 31418)]
check_locks () at http-push.c:637
637                     if (!lock->refreshing && time_remaining < 
LOCK_REFRESH) {
(gdb) p lock
$1 = (struct remote_lock *) 0x20
(gdb) bt
#0  check_locks () at http-push.c:637
#1  0x08053f8a in process_response (callback_data=0x80c4550)
    at http-push.c:683
#2  0x0804dbf4 in process_curl_messages () at http.c:539
#3  0x0804dc46 in step_active_slots () at http.c:453
#4  0x0804dccb in run_active_slot (slot=0x80c2388) at http.c:474
#5  0x0804deaa in http_cleanup () at http.c:291
#6  0x0805268f in main (argc=3, argv=Cannot access memory at address 0x4
) at http-push.c:2428
So it seems that there is more to fix.
>   $gmane/70405 <1200250979-19604-3-git-send-email-gb@gbarbier.org>

This makes sense. I only tried to compile http-push once without CURL_MULTI, and gave up (I think I even sent out a patch disabling CURL_MULTI for curl versions lacking a certain symbol).

Ciao, Dscho

Previous: Marco CostalbaNext: Johannes Schindelin
Message 105 of 134 in “Allowing override of the default "origin" nickname”
  1. Mark LevedahlJan 11, 2008
  2. Teach remote machinery about remotes.default config variableMark Levedahl, Jan 11, 2008
  3. git-remote - Unset remotes.default when deleting the default remoteMark Levedahl, Jan 11, 2008
  4. git-clone - Set remotes.default config variableMark Levedahl, Jan 11, 2008
  5. git-submodule - Possibly inherit parent's default remote on init/cloneMark Levedahl, Jan 11, 2008
  6. Junio C HamanoJan 11, 2008
  7. Mark LevedahlJan 11, 2008
  8. Junio C HamanoJan 12, 2008
  9. Mark LevedahlJan 12, 2008
  10. Junio C HamanoJan 12, 2008
  11. Mark LevedahlJan 12, 2008
  12. Junio C HamanoJan 12, 2008
  13. Mark LevedahlJan 12, 2008
  14. Junio C HamanoJan 12, 2008
  15. Mark LevedahlJan 12, 2008
  16. Johannes SchindelinJan 12, 2008
  17. Mark LevedahlJan 12, 2008
  18. Johannes SchindelinJan 13, 2008
  19. Mark LevedahlJan 14, 2008
  20. Junio C HamanoJan 14, 2008
  21. Mark LevedahlJan 15, 2008
  22. Junio C HamanoJan 15, 2008
  23. Mark LevedahlJan 15, 2008
  24. Johannes SchindelinJan 16, 2008
  25. Mark LevedahlJan 16, 2008
  26. Johannes SchindelinJan 16, 2008
  27. Junio C HamanoJan 12, 2008
  28. Mark LevedahlJan 12, 2008
  29. Junio C HamanoJan 12, 2008
  30. Mark LevedahlJan 13, 2008
  31. Teach remote machinery about core.origin config variableMark Levedahl, Jan 13, 2008
  32. git-remote - Unset core.origin when deleting the default remoteMark Levedahl, Jan 13, 2008
  33. git-clone - Set remotes.origin config variableMark Levedahl, Jan 13, 2008
  34. git-submodule - Possibly inherit parent's default remote on init/cloneMark Levedahl, Jan 13, 2008
  35. Teach git-submodule to use master's remote when updating subprojectsMark Levedahl, Jan 13, 2008
  36. Jeff KingJan 14, 2008
  37. Mark LevedahlJan 15, 2008
  38. Jeff KingJan 15, 2008
  39. Johannes SchindelinJan 13, 2008
  40. Junio C HamanoJan 14, 2008
  41. safecrlf not in 1.5.4 (was Re: [PATCH] Teach remote machinery about remotes.default config variable)Steffen Prohaska, Jan 14, 2008
  42. Johannes SchindelinJan 14, 2008
  43. valgrind test scripts (was Re: [PATCH] Teach remote...)Jeff King, Jan 14, 2008
  44. What's not in 'master' but should beJunio C Hamano, Jan 18, 2008
  45. Lars HjemliJan 18, 2008
  46. Junio C HamanoJan 18, 2008
  47. Lars HjemliJan 18, 2008
  48. Junio C HamanoJan 18, 2008
  49. Lars HjemliJan 18, 2008
  50. Johannes SchindelinJan 18, 2008
  51. Lars HjemliJan 18, 2008
  52. Junio C HamanoJan 18, 2008
  53. What's not in 'master', and likely not to be until 1.5.4Junio C Hamano, Jan 18, 2008
  54. Johannes SixtJan 18, 2008
  55. Junio C HamanoJan 18, 2008
  56. Steffen ProhaskaJan 18, 2008
  57. Johannes SchindelinJan 18, 2008
  58. Johannes SchindelinJan 18, 2008
  59. Johannes SchindelinJan 18, 2008
  60. Shawn O. PearceJan 21, 2008
  61. Johannes SchindelinJan 21, 2008
  62. Shawn O. PearceJan 23, 2008
  63. Johannes SchindelinJan 23, 2008
  64. Johannes SixtJan 18, 2008
  65. Johannes SchindelinJan 18, 2008
  66. Jakub NarebskiJan 18, 2008
  67. Junio C HamanoJan 18, 2008
  68. Imran M YousufJan 21, 2008
  69. Junio C HamanoJan 21, 2008
  70. Steffen ProhaskaJan 21, 2008
  71. submodule: Document the details of the command line syntaxSteffen Prohaska, Jan 21, 2008
  72. Junio C HamanoJan 21, 2008
  73. Marco CostalbaJan 18, 2008
  74. Marco CostalbaJan 18, 2008
  75. Steffen ProhaskaJan 18, 2008
  76. Johannes SchindelinJan 18, 2008
  77. Steffen ProhaskaJan 18, 2008
  78. What's not in 'master', and likely not to be in, until 1.5.4Junio C Hamano, Jan 21, 2008
  79. Linus TorvaldsJan 21, 2008
  80. Junio C HamanoJan 21, 2008
  81. Junio C HamanoJan 21, 2008
  82. Junio C HamanoJan 21, 2008
  83. Junio C HamanoJan 21, 2008
  84. Junio C HamanoJan 21, 2008
  85. Junio C HamanoJan 21, 2008
  86. 1/2 read-cache.c: introduce is_racy_timestamp() helperJunio C Hamano, Jan 21, 2008
  87. 2/2 read-cache.c: fix timestamp comparisonJunio C Hamano, Jan 21, 2008
  88. Linus TorvaldsJan 21, 2008
  89. Johannes SchindelinJan 21, 2008
  90. Linus TorvaldsJan 21, 2008
  91. Linus TorvaldsJan 21, 2008
  92. Johannes SchindelinJan 21, 2008
  93. Linus TorvaldsJan 21, 2008
  94. Junio C HamanoJan 21, 2008
  95. Linus TorvaldsJan 21, 2008
  96. Junio C HamanoJan 21, 2008
  97. Junio C HamanoJan 22, 2008
  98. Linus TorvaldsJan 22, 2008
  99. Linus TorvaldsJan 22, 2008
  100. Junio C HamanoJan 23, 2008
  101. Linus TorvaldsJan 23, 2008
  102. Johannes SixtJan 21, 2008
  103. Daniel BarkalowJan 21, 2008
  104. Marco CostalbaJan 21, 2008
  105. Johannes SchindelinJan 18, 2008
  106. Johannes SchindelinJan 18, 2008
  107. Johannes SchindelinFeb 18, 2008
  108. Mike HommeyJan 19, 2008
  109. Grégoire BarbierJan 19, 2008
  110. Johannes SchindelinJan 19, 2008
  111. Johannes SchindelinJan 12, 2008
  112. Mark LevedahlJan 12, 2008
  113. Johannes SchindelinJan 12, 2008
  114. Teach remote machinery about core.origin config variableMark Levedahl, Jan 12, 2008
  115. git-remote - Unset core.origin when deleting the default remoteMark Levedahl, Jan 12, 2008
  116. git-clone - Set remotes.origin config variableMark Levedahl, Jan 12, 2008
  117. git-submodule - Possibly inherit parent's default remote on init/cloneMark Levedahl, Jan 12, 2008
  118. Johannes SchindelinJan 11, 2008
  119. Mark LevedahlJan 11, 2008
  120. Johannes SchindelinJan 11, 2008
  121. Mark LevedahlJan 11, 2008
  122. Johannes SchindelinJan 11, 2008
  123. Mark LevedahlJan 11, 2008
  124. Björn SteinbrinkJan 11, 2008
  125. Jakub NarebskiJan 11, 2008
  126. Jakub NarebskiJan 11, 2008
  127. Mark LevedahlJan 11, 2008
  128. Johannes SchindelinJan 11, 2008
  129. Daniel BarkalowJan 11, 2008
  130. Junio C HamanoJan 14, 2008
  131. Steffen ProhaskaJan 14, 2008
  132. Junio C HamanoJan 14, 2008
  133. Dmitry PotapovJan 14, 2008
  134. Pierre HabouzitJan 14, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.