[csw-maintainers] ValueError: seek out of range — on import

Carsten Grzemba grzemba at contac-dt.de
Thu Jul 11 13:48:52 CEST 2013


I haven't the problem until now. The setup of a mirror takes also some time;-)

Carsten

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


More information about the maintainers mailing list