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

Re: Building git-1.5.3.7 on HP-UX 11.00

From
Shawn O. Pearce <spearce@spearce.org>
Date
Dec 11, 2007, 08:54 UTC
Message-ID
<20071211085440.GK14735@spearce.org>
In-Reply-To
<7vfxy9fxh3.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
> "H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
> 
> > 3 I am willing to believe that HP_UX' vsnprintf () is broken, or
> >   at least does not conform to the expectations in the GNU world,
> >   but chickening out like the way strbuf_addf () does is maybe a
> >   bit too rude, so I forced a minimum of 64bytes available. That
> >   fixes a lot!
> >
> >   but it still breaks t4013 :(
> 
> I think Shawn had something similar for Solaris, and if it is a small
> cost to help portability, it does not feel so bad.

My Solaris change is already in your tree; on Solaris vnsprintf will return -1 if the input buffer we gave it had a length of 0. This can happen at odd times, depending on what is already in the strbuf and how its buffer is. :)

The fix for Solaris turned out to be just make sure there is at
least 1 byte in the buffer before calling vsnprintf().
 
> > + git-index-pack -o tmp.idx test-2-7f8ead892057e78576c0329a70cc83afb113f117.pack
> > fatal: serious inflate inconsistency
> 
> That sounds like a broken zlib X-<.

I think this is actually a broken pread(). Its been reported multiple times by different people on HP-UX. Compiling with NO_PREAD=1 resolves the issues for everyone who has tried it.

Jakub asked me for an autoconf test to look for this sort of breakage in pread(), I have yet to come up with a theory for what sort of breakage HP-UX is showing us here, let alone write a test for it.

-- 
Shawn.
Previous: Junio C HamanoNext: H.Merijn Brand
Message 20 of 27 in “Building git-1.5.3.7 on HP-UX 11.00”
  1. H.Merijn BrandDec 4, 2007
  2. Johannes SchindelinDec 4, 2007
  3. H.Merijn BrandDec 4, 2007
  4. Johannes SchindelinDec 4, 2007
  5. H.Merijn BrandDec 4, 2007
  6. Andreas EricssonDec 4, 2007
  7. H.Merijn BrandDec 4, 2007
  8. Johannes SchindelinDec 4, 2007
  9. H.Merijn BrandDec 4, 2007
  10. Johannes SchindelinDec 4, 2007
  11. H.Merijn BrandDec 5, 2007
  12. Junio C HamanoDec 4, 2007
  13. H.Merijn BrandDec 4, 2007
  14. Johannes SchindelinDec 4, 2007
  15. H.Merijn BrandDec 5, 2007
  16. Do not rely on the exit status of "unset" for unset variablesJohannes Schindelin, Dec 4, 2007
  17. H.Merijn BrandDec 5, 2007
  18. H.Merijn BrandDec 10, 2007
  19. Junio C HamanoDec 11, 2007
  20. Shawn O. PearceDec 11, 2007
  21. H.Merijn BrandDec 11, 2007
  22. Johannes SixtDec 11, 2007
  23. H.Merijn BrandDec 11, 2007
  24. Johannes SixtDec 11, 2007
  25. H.Merijn BrandDec 11, 2007
  26. Johannes SixtDec 11, 2007
  27. H.Merijn BrandDec 4, 2007

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.