The segfault is in:
httppeer.py(901):         resp.close()

(the line number is not the same because I'm using a different version)

Can you run "make test" within /usr/ports/lang/python/2.7 ?

At the end of the long list of tests, it will run a few tests against
the SSL library. You should see some segfaults there.



On Sat, May 19, 2018 at 10:19:17AM -0700, Nick Owens wrote:
> no, that's working fine. it does not crash and i see the HTML content from
> the webserver.
> 
> i've discovered python has a tracing module and tried it out, but it's not
> making the fault any clearer.
> 
> python2.7 -m trace --trace `which hg` clone
> https://www.mercurial-scm.org/repo/hello
> 
> here's the last 40 or so lines.
> 
>  --- modulename: socket, funcname: readline
> socket.py(411):         buf = self._rbuf
> socket.py(412):         buf.seek(0, 2)  # seek end
> socket.py(413):         if buf.tell() > 0:
> socket.py(415):             buf.seek(0)
> socket.py(416):             bline = buf.readline(size)
> socket.py(417):             if bline.endswith('\n') or len(bline) == size:
> socket.py(418):                 self._rbuf = StringIO()
> socket.py(419):                 self._rbuf.write(buf.read())
> socket.py(420):                 return bline
> keepalive.py(462):             if not line:
> keepalive.py(466):             if line == '\r\n':
> keepalive.py(467):                 break
> keepalive.py(470):         self.close()
>  --- modulename: keepalive, funcname: close
> keepalive.py(386):         if self.fp:
> keepalive.py(387):             self.fp.close()
>  --- modulename: socket, funcname: close
> socket.py(281):         try:
> socket.py(282):             if self._sock:
> socket.py(283):                 self.flush()
>  --- modulename: socket, funcname: flush
> socket.py(297):         if self._wbuf:
> socket.py(285):             if self._close:
> socket.py(286):                 self._sock.close()
>  --- modulename: ssl, funcname: close
> ssl.py(815):         if self._makefile_refs < 1:
> ssl.py(819):             self._makefile_refs -= 1
> socket.py(287):             self._sock = None
> keepalive.py(388):             self.fp = None
>  --- modulename: socket, funcname: __del__
> socket.py(290):         try:
> socket.py(291):             self.close()
>  --- modulename: socket, funcname: close
> socket.py(281):         try:
> socket.py(282):             if self._sock:
> socket.py(285):             if self._close:
> socket.py(286):                 self._sock.close()
> socket.py(292):         except:
> socket.py(294):             pass
> keepalive.py(389):             if self._handler:
> keepalive.py(390):                 self._handler._request_closed(self,
> self._host,
> keepalive.py(391):
> self._connection)
>  --- modulename: keepalive, funcname: _request_closed
> keepalive.py(199):         self._cm.set_ready(connection, 1)
>  --- modulename: keepalive, funcname: set_ready
> keepalive.py(146):         try:
> keepalive.py(147):             self._readymap[connection] = ready
> keepalive.py(472):         return ''.join(parts)
> keepalive.py(416):         self._rbuf = ''
> keepalive.py(417):         return s
> Segmentation fault (core dumped)
> 
> 
> 
> On Sat, May 19, 2018 at 7:55 AM, Juan Francisco Cantero Hurtado <
> i...@juanfra.info> wrote:
> 
> > Try this:
> >
> > python2.7 -c 'import urllib2; web = urllib2.urlopen("https://www.
> > mercurial-scm.org/repo/hello"); print web.read()'
> >
> > Does python crash?
> >
> >
> > On Fri, May 18, 2018 at 02:18:13PM -0700, Nick Owens wrote:
> > > it looks like that's working. with this test mercurial prints (falling
> > back
> > > to static-http) whereas in the mercurial 'hello' repo it does not. i
> > wonder
> > > if it has something todo with the web server/http protocol.
> > >
> > > erl$ pwd
> > > /home/mischief
> > > erl$ df -h
> > > Filesystem     Size    Used   Avail Capacity  Mounted on
> > > /dev/sd0a     13.9G    923M   12.3G     7%    /
> > > erl$ uname -a
> > > OpenBSD erl.house.lan 6.3 GENERIC#0 octeon
> > > erl$ hg -v clone http://juanfra684.blinkenshell.org/tmp/hello
> > > (falling back to static-http)
> > > destination directory: hello
> > > requesting all changes
> > > 2 changesets found
> > > uncompressed size of bundle content:
> > >      464 (changelog)
> > >      335 (manifests)
> > >      143  Makefile
> > >      388  hello.c
> > > adding changesets
> > > adding manifests
> > > adding file changes
> > > added 2 changesets with 2 changes to 2 files
> > > new changesets 0a04b987be5a:82e55d328c8c
> > > updating to branch default
> > > resolving manifests
> > > getting Makefile
> > > getting hello.c
> > > 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
> > >
> > > On Fri, May 18, 2018 at 1:49 PM, Juan Francisco Cantero Hurtado <
> > > i...@juanfra.info> wrote:
> > >
> > > > On Fri, May 18, 2018 at 07:50:03AM -0700, misch...@offblast.org wrote:
> > > > > >Synopsis:    hg clone segmentation fault on octeon
> > > > > >Category:    user mips64
> > > > > >Environment:
> > > > >       System      : OpenBSD 6.3
> > > > >       Details     : OpenBSD 6.3 (GENERIC) #0: Sun Mar 25 19:48:22 UTC
> > > > 2018
> > > > >                        visa@octeon:/usr/src/sys/arch/
> > > > octeon/compile/GENERIC
> > > > >
> > > > >       Architecture: OpenBSD.octeon
> > > > >       Machine     : octeon
> > > > > >Description:
> > > > >       mercurial core dumps when executing clone
> > > > > >How-To-Repeat:
> > > > >       install openbsd/octeon on edgerouter lite
> > > > >       single / partition with wxallowed
> > > > >       erl# pkg_add mercurial
> > > > >       erl$ hg clone https://www.mercurial-scm.org/repo/hello
> > > > >       destination directory: hello
> > > > >       requesting all changes
> > > > >       Segmentation fault (core dumped)
> > > > >
> > > > > >Fix:
> > > > >       no clue how to fix it. gdb output:
> > > >
> > > > Hi, I don't have an Octeon system to test mercurial but it's working
> > > > fine on mips64el. Can you test this command?
> > > >
> > > > hg -v clone http://juanfra684.blinkenshell.org/tmp/hello
> > > >
> > > >
> > > >
> > > > --
> > > > Juan Francisco Cantero Hurtado http://juanfra.info
> > > >
> >
> > --
> > Juan Francisco Cantero Hurtado http://juanfra.info
> >

-- 
Juan Francisco Cantero Hurtado http://juanfra.info

Reply via email to