I haven't the problem until now. The setup of a mirror takes also some time;-)<br /><br />Carsten<br /><br /><span>Am 11.07.13 schrieb <b class="name">Maciej (Matchek) Bliziński </b> <maciej@opencsw.org>:</span><blockquote cite="mid:CALtRa-78WvONDjC69mQ91jJwJMPDzHpips3nroCjPvAFU_yDYg@mail.gmail.com" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimepart text plain">[+Carsten, +Laurent]<br /><br />I'm personally not in a hurry, I can wait while you can work on a<br />proper fix. I know that Carsten and Laurent were recently running the<br />new code, so it might be more urgent for them.<br /><br />Maciej<br /><br />2013/7/11 Yann Rouillard <yann@pleiades.fr.eu.org>:<br />> No I get the issue. Although I don't know yet how to properly solve it.<br />> You triggered this issue with another binary I suppose because I didn't have<br />> the problem with diskmediatest_probe.so.<br />><br />> I will work soon on it but I am not sure I will be able to work on it before<br />> tonight.<br />> If it blocks you, you should revert to the previous elftools and make an<br />> exception in the code for the diskmediatest_probe.so until I properly fix<br />> this.<br />><br />> Yann<br />><br />><br />> 2013/7/11 Maciej (Matchek) Bliziński <maciej@opencsw.org><br />><br />>> No, I didn't apply any patches, this is 10_U9 as released by Oracle.<br />>><br />>> I'm getting a new error:<br />>><br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 124, in __init__<br />>>     Dynamic.__init__(self, stream, elffile, self['sh_offset'])<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 66, in __init__<br />>>     self._find_and_set_stringtable()<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 81, in _find_and_set_stringtable<br />>>     for section in self._elffile.iter_sections():<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 93, in iter_sections<br />>>     yield self.get_section(i)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 73, in get_section<br />>>     return self._make_section(section_header)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 264, in _make_section<br />>>     return DynamicSection(section_header, name, self.stream, self)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 124, in __init__<br />>>     Dynamic.__init__(self, stream, elffile, self['sh_offset'])<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 66, in __init__<br />>>     self._find_and_set_stringtable()<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 81, in _find_and_set_stringtable<br />>>     for section in self._elffile.iter_sections():<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 93, in iter_sections<br />>>     yield self.get_section(i)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 73, in get_section<br />>>     return self._make_section(section_header)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/elffile.py", line<br />>> 264, in _make_section<br />>>     return DynamicSection(section_header, name, self.stream, self)<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 124, in __init__<br />>>     Dynamic.__init__(self, stream, elffile, self['sh_offset'])<br />>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py", line<br />>> 62, in __init__<br />>>     self._tagsize = self._elfstructs.Elf_Dyn.sizeof()<br />>>   File "/opt/csw/lib/python/site-packages/elftools/construct/core.py",<br />>> line 235, in sizeof<br />>>     context = Container()<br />>> RuntimeError: maximum recursion depth exceeded<br />>><br />>> I'm deleting the *.marshal files and running the command from scratch to<br />>> confirm.<br />>><br />>><br />>> 2013/7/9 Yann Rouillard <yann@pleiades.fr.eu.org><br />>>><br />>>> Fix proposed upstream: <a href="https://github.com/eliben/pyelftools/pull/10" target="l">https://github.com/eliben/pyelftools/pull/10</a><br />>>> and applied on the opencsw package:<br />>>> <a href="http://sourceforge.net/apps/trac/gar/changeset/21472/csw/mgar/pkg/lang-python/pyelftools" target="l">http://sourceforge.net/apps/trac/gar/changeset/21472/csw/mgar/pkg/lang-python/pyelftools</a><br />>>><br />>>> I just uploaded the package on unstable.<br />>>><br />>>> I tested with the file and the CollectBinaryDumpInfo now works fine.<br />>>><br />>>> Can you confirm that it is now good for you also ?<br />>>><br />>>> BTW, did you apply a patch that updated the package containing this file<br />>>> ?<br />>>><br />>>> Yann<br />>>><br />>>><br />>>><br />>>> 2013/7/9 Maciej (Matchek) Bliziński <maciej@opencsw.org><br />>>>><br />>>>> Cool, thanks.<br />>>>><br />>>>> 2013/7/9 Yann Rouillard <yann@pleiades.fr.eu.org>:<br />>>>> > Ok I got the problem. The binary has several dynstr sections which are<br />>>>> > used<br />>>>> > to find the string name of symbols, soname...<br />>>>> > It seems pyelftools doesn't correctly handle this case.<br />>>>> ><br />>>>> > I am working on a fix.<br />>>>> ><br />>>>> > Yann<br />>>>> ><br />>>>> ><br />>>>> > 2013/7/9 Maciej (Matchek) Bliziński <maciej@opencsw.org><br />>>>> ><br />>>>> >> It's interesting that the import did complete before. Here's the<br />>>>> >> binary.<br />>>>> >><br />>>>> >> Maciej<br />>>>> >><br />>>>> >><br />>>>> >> 2013/7/8 Yann Rouillard <yann@pleiades.fr.eu.org><br />>>>> >>><br />>>>> >>> Nope, I suppose there is something wrong with the binary, however I<br />>>>> >>> can't<br />>>>> >>> reproduce the problem.<br />>>>> >>> I tried with the /usr/sunvts/lib/probe/64/diskmediatest_probe.so<br />>>>> >>> file on<br />>>>> >>> unstable10x and  the current pyelftools package.<br />>>>> >>><br />>>>> >>> Can you send me the binary on your server and confirm that you are<br />>>>> >>> using<br />>>>> >>> the current pyelftools package ?<br />>>>> >>><br />>>>> >>> Yann<br />>>>> >>><br />>>>> >>><br />>>>> >>><br />>>>> >>> 2013/7/8 Maciej (Matchek) Bliziński <maciej@opencsw.org><br />>>>> >>><br />>>>> >>>> Did you ever see this error before? It's the first time I see it.<br />>>>> >>>><br />>>>> >>>> maciej@vsol08 ~/src/opencsw-gar $ bin/pkgdb system-metadata-to-disk<br />>>>> >>>> INFO:root:system-idx-SunOS5.10-i386-pkginfo.marshal already exists.<br />>>>> >>>> INFO:root:system-idx-SunOS5.10-i386-contents.marshal already<br />>>>> >>>> exists.<br />>>>> >>>> INFO:root:system-idx-SunOS5.10-i386-files_metadata.marshal already<br />>>>> >>>> exists.<br />>>>> >>>> INFO:root:system-idx-SunOS5.10-i386-binaries_dump_info.marshal does<br />>>>> >>>> not<br />>>>> >>>> exist.<br />>>>> >>>> /usr/sunvts/lib/probe/64/diskmediatest_probe.so<br />>>>> >>>> Traceback (most recent call last):<br />>>>> >>>>   File "bin/pkgdb", line 718, in <module><br />>>>> >>>>     main()<br />>>>> >>>>   File "bin/pkgdb", line 547, in main<br />>>>> >>>>     spi.IndexAndSave()<br />>>>> >>>>   File "/home/maciej/src/opencsw-gar/lib/python/system_pkgmap.py",<br />>>>> >>>> line<br />>>>> >>>> 362, in IndexAndSave<br />>>>> >>>>     [tuple(x) for x in self._GetBinariesDumpInfo(files_metadata)])<br />>>>> >>>>   File "/home/maciej/src/opencsw-gar/lib/python/system_pkgmap.py",<br />>>>> >>>> line<br />>>>> >>>> 451, in _GetBinariesDumpInfo<br />>>>> >>>>     util.GetBinaryDumpInfo(abs_path, binary_path))<br />>>>> >>>>   File "/home/maciej/src/opencsw-gar/lib/python/util.py", line 107,<br />>>>> >>>> in<br />>>>> >>>> GetBinaryDumpInfo<br />>>>> >>>>     binary_dump_info = elf_extractor.CollectBinaryDumpinfo()<br />>>>> >>>>   File<br />>>>> >>>><br />>>>> >>>> "/home/maciej/src/opencsw-gar/lib/python/collect_binary_elfinfo.py", line<br />>>>> >>>> 204, in CollectBinaryDumpinfo<br />>>>> >>>>     for dyn_tag in sections['dynamic'].iter_tags():<br />>>>> >>>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py",<br />>>>> >>>> line<br />>>>> >>>> 69, in iter_tags<br />>>>> >>>>     tag = self.get_tag(n)<br />>>>> >>>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py",<br />>>>> >>>> line<br />>>>> >>>> 83, in get_tag<br />>>>> >>>>     return DynamicTag(entry, self._elffile)<br />>>>> >>>>   File "/opt/csw/lib/python/site-packages/elftools/elf/dynamic.py",<br />>>>> >>>> line<br />>>>> >>>> 36, in __init__<br />>>>> >>>>     dynstr.get_string(self.entry.d_val))<br />>>>> >>>>   File<br />>>>> >>>> "/opt/csw/lib/python/site-packages/elftools/elf/sections.py",<br />>>>> >>>> line 66, in get_string<br />>>>> >>>>     s = parse_cstring_from_stream(self.stream, table_offset +<br />>>>> >>>> offset)<br />>>>> >>>>   File<br />>>>> >>>> "/opt/csw/lib/python/site-packages/elftools/common/utils.py",<br />>>>> >>>> line 48, in parse_cstring_from_stream<br />>>>> >>>>     stream.seek(stream_pos)<br />>>>> >>>> ValueError: seek out of range<br />>>>> >>>><br />>>>> >>><br />>>>> >><br />>>>> ><br />>>><br />>>><br />>><br />><br /></div></blockquote>