GithubHelp home page GithubHelp logo

Comments (9)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
Sorry, but I can't reproduce your issue at debian x64 w/ python 2.5 and v8 
v2.0.5.5, could 
you reproduce it every time and in release mode ?  

flier@vm-debian-x64:~/pyv8/build/lib.linux-x86_64-2.5$ uname -a
Linux vm-debian-x64 2.6.26-2-amd64 #1 SMP Thu Nov 5 02:23:12 UTC 2009 x86_64 
GNU/Linux

flier@vm-debian-x64:~/pyv8/build/lib.linux-x86_64-2.5$ python2.5 PyV8.py -v
2009-11-09 08:56:31,706 INFO testing PyV8 module with V8 v2.0.5.5

flier@vm-debian-x64:~/pyv8/build/lib.linux-x86_64-2.5$ ldd _PyV8.so 
        linux-vdso.so.1 =>  (0x00007fffc3bff000)
        libboost_python-py25.so.1.35.0 => /usr/lib/libboost_python-py25.so.1.35.0 
(0x00007ff140037000)
        librt.so.1 => /lib/librt.so.1 (0x00007ff13fe2e000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff13fb21000)
        libm.so.6 => /lib/libm.so.6 (0x00007ff13f89e000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007ff13f687000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007ff13f46a000)
        libc.so.6 => /lib/libc.so.6 (0x00007ff13f117000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007ff13ef14000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007ff13ed0f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ff140734000)

Original comment by [email protected] on 8 Jan 2010 at 2:49

  • Changed state: Started
  • Added labels: OpSys-Linux

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
sciyoshi@sciyoshi-vm:~/pyv8/build/lib.linux-x86_64-2.6$ uname -a
Linux sciyoshi-vm 2.6.31-17-generic #54-Ubuntu SMP Thu Dec 10 17:01:44 UTC 2009
x86_64 GNU/Linux


The segfault is always reproducible with that same backtrace, however when I 
run it
in verbose mode there is no segfault (however, there is still a failing test:

======================================================================
FAIL: testErrorInfo (__main__.TestWrapper)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "PyV8.py", line 714, in testErrorInfo
    '    at test:17:25', e.stackTrace)
AssertionError: 'Error: hello world\n    at Error (unknown source)\n    at hello
(test:14:35)\n    at test:17:25' != 'Error: hello world\n    at Error (unknown
source)\n    at hello (test:14:35)\n    at test:11:11'

----------------------------------------------------------------------



Original comment by sciyoshi on 8 Jan 2010 at 6:25

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
Also:

sciyoshi@sciyoshi-vm:~/pyv8/build/lib.linux-x86_64-2.6$ ldd _PyV8.so
        linux-vdso.so.1 =>  (0x00007fffa90fd000)
        libboost_python-py26.so.1.40.0 => /usr/lib/libboost_python-py26.so.1.40.0
(0x00007f9713456000)
        librt.so.1 => /lib/librt.so.1 (0x00007f971324e000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9712f3d000)
        libm.so.6 => /lib/libm.so.6 (0x00007f9712cb9000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f9712aa2000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f9712885000)
        libc.so.6 => /lib/libc.so.6 (0x00007f9712516000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f9712313000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f971210e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9713c2e000)

Original comment by sciyoshi on 8 Jan 2010 at 6:26

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
It's very strange, I installed python 2.6 and its also ok, could you upload a 
core dump 
file? 

flier@vm-debian-x64:~/pyv8/build/lib.linux-x86_64-2.6$ ldd _PyV8.so 
        linux-vdso.so.1 =>  (0x00007fffdf7ff000)
        libboost_python.so.1.41.0 => /usr/local/lib/libboost_python.so.1.41.0 
(0x00007ffa31168000)
        librt.so.1 => /lib/librt.so.1 (0x00007ffa30f56000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ffa30c49000)
        libm.so.6 => /lib/libm.so.6 (0x00007ffa309c6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007ffa307af000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007ffa30592000)
        libc.so.6 => /lib/libc.so.6 (0x00007ffa3023f000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007ffa3003c000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007ffa2fe37000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffa31952000)

base on your call stack, it seems crashed when test unicode supports

// pyv8.py:900
    def testUnicode(self):
        with JSContext() as ctxt:
            self.assertEquals(u"人", unicode(ctxt.eval("\"人\""), "utf-8"))
            self.assertEquals(u"é", unicode(ctxt.eval("\"é\""), "utf-8"))

            func = ctxt.eval("(function (msg) { return msg.length; })")

            self.assertEquals(2, func(u"测试"))

// wrapper.cpp:840
  if (value->IsString())
  {
    v8::String::Utf8Value str(v8::Handle<v8::String>::Cast(value));

    return py::str(*str, str.length());
  }

but the parameters seems ok

#0  0x000000000045417a in PyObject_Malloc ()
#1  0x000000000045bd12 in PyString_FromStringAndSize ()
#2  0x00007ffff66be977 in boost::python::detail::str_base::str_base(char
const*, unsigned long) () from /usr/lib/libboost_python-py26.so.1.40.0
#3  0x00007ffff69e4b63 in str (this=0x7fffffffb950, start=0x93f750 "人",
length=3) at /usr/include/boost/python/str.hpp:155

// stringobject.c:92 at Python source

    /* Inline PyObject_NewVar */
    op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
    if (op == NULL)
        return PyErr_NoMemory();

Original comment by [email protected] on 9 Jan 2010 at 2:31

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
The core dump is too big to upload here (30MB), so I've put it on my webserver 
which
you can access at http://sciyoshi.com/media/pyv8.core - let me know if you need 
any
more info. This is using the latest version of V8 from Subversion.

Original comment by sciyoshi on 9 Jan 2010 at 7:41

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
I'm confusing, your post the call stack that finished at 

#0  0x000000000045417a in PyObject_Malloc ()
#1  0x000000000045bd12 in PyString_FromStringAndSize ()

But when I open the core dump, it finished at

(gdb) bt full
#0  0x000000000045417a in set_intersection (so=0x5, other=<value optimized 
out>) at 
Objects/setobject.c:1310
        key = (PyObject *) 0x2b
        it = <value optimized out>

could you help me to print the call stack in gdb? just use the following 
commands

gdb python pyv8.core
(gdb) bt full

Original comment by [email protected] on 9 Jan 2010 at 9:24

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
That's strange; the full backtrace with bt full gives

#0  0x000000000045417a in PyObject_Malloc ()
No symbol table info available.
#1  0x000000000045bd12 in PyString_FromStringAndSize ()
No symbol table info available.
#2  0x00007ffff66be977 in boost::python::detail::str_base::str_base(char const*,
unsigned long) () from /usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#3  0x00007ffff69e4b63 in str (this=0x7fffffffb950, start=0xa9f000 "人", 
length=3) at
/usr/include/boost/python/str.hpp:155
No locals.
#4  0x00007ffff6a0c583 in CJavascriptObject::Wrap (value=..., self=...) at
src/Wrapper.cpp:847
        str = {str_ = 0xa9f000 "人", length_ = 3}
        handle_scope = {previous_ = {extensions = 1, next = 0xaa4f88, limit =
0xaa6f70}, is_closed_ = false}
#5  0x00007ffff69f0e95 in CEngine::ExecuteScript (this=0x7fffffffbb3f, 
script=...) at
src/Engine.cpp:367
        handle_scope = {previous_ = {extensions = 0, next = 0x0, limit = 0x0},
is_closed_ = false}
        try_catch = {next_ = 0x0, exception_ = 0x7ffff7e34209, message_ = 0x0,
is_verbose_ = false, can_continue_ = true, capture_message_ = true, rethrow_ = 
false}
        result = {val_ = 0xaa4f80}
#6  0x00007ffff69f0f43 in CScript::Run (this=0xa0e960) at src/Engine.cpp:374
        handle_scope = {previous_ = {extensions = -1, next = 0x0, limit = 0x0},
is_closed_ = false}
#7  0x00007ffff69e4455 in CContext::Evaluate (this=0xa85ac0, src=...) at
src/Context.cpp:157
        engine = {<No data fields>}
        script = {px = 0xa0e960, pn = {pi_ = 0xa9c450}}
#8  0x00007ffff69eea20 in
boost::python::detail::invoke<boost::python::to_python_value<boost::python::api:
:object
const&>, boost::python::api::object (CContext::*)(std::string const&),
boost::python::arg_from_python<CContext&>, 
boost::python::arg_from_python<std::string
const&> > (rc=..., f=@0x96f698, tc=..., ac0=...) at
/usr/include/boost/python/detail/invoke.hpp:88
No locals.
#9  0x00007ffff69ed74f in
boost::python::detail::caller_arity<2u>::impl<boost::python::api::object
(CContext::*)(std::string const&), boost::python::default_call_policies,
boost::mpl::vector3<boost::python::api::object, CContext&, std::string const&>
>::operator() (this=0x96f698, args_=0xa3d998) at
/usr/include/boost/python/detail/caller.hpp:223
        inner_args = 0xa3d998
        c1 = {<boost::python::converter::arg_rvalue_from_python<std::string const&>>
= {m_data = {<boost::python::converter::rvalue_from_python_storage<std::string
const&>> = {stage1 = {
                  convertible = 0x7fffffffbc20, construct = 0x7ffff66d61a0}, storage
= {t0 = -24 '\350', t1 = -4120, t2 = 11137000, t3 = 11137000, t4 = 
1.5606261e-38, t5
= 5.5024090977339628e-317, 
                  t6 = -24 '\350', t7 = 0xa9efe8, t8 = 0xa9efe8, t9 = 11137000, t10 =
-24 '\350', bytes = "\350\357\251\000\000\000\000"}}, <No data fields>}, 
            m_source = 0x7ffff6e93600}, <No data fields>}
        c0 = {<boost::python::converter::reference_arg_from_python<CContext&>> =
{<boost::python::converter::arg_lvalue_from_python_base> = {m_result = 
0xa85ac0}, <No
data fields>}, <No data fields>}
        result = 0x7fffffffbc60
#10 0x00007ffff69ec675 in
boost::python::objects::caller_py_function_impl<boost::python::detail::caller<bo
ost::python::api::object
(CContext::*)(std::string const&), boost::python::default_call_policies,
boost::mpl::vector3<boost::python::api::object, CContext&, std::string const&> >
>::operator() (this=0x96f690, args=0xa3d998, kw=0x0) at
/usr/include/boost/python/object/py_function.hpp:38
No locals.
#11 0x00007ffff66cbd4e in boost::python::objects::function::call(_object*, 
_object*)
const () from /usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#12 0x00007ffff66cbf38 in ?? () from /usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#13 0x00007ffff66d4213 in
boost::python::detail::exception_handler::operator()(boost::function0<void> 
const&)
const () from /usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#14 0x00007ffff69df082 in
boost::python::detail::translate_exception<CJavascriptException, void
(*)(CJavascriptException const&)>::operator() (this=0x88bb38, handler=..., 
f=..., 
    translate=0x7ffff69da3ee <ExceptionTranslator::Translate(CJavascriptException
const&)>) at /usr/include/boost/python/detail/translate_exception.hpp:46
No locals.
#15 0x00007ffff69de87f in boost::_bi::list3<boost::arg<1>, boost::arg<2>,
boost::_bi::value<void (*)(CJavascriptException const&)> >::operator()<bool,
boost::python::detail::translate_exception<CJavascriptException, void
(*)(CJavascriptException const&)>,
boost::_bi::list2<boost::python::detail::exception_handler const&,
boost::function0<void> const&> > (this=0x88bb40, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:375
No locals.
#16 0x00007ffff69de0d8 in boost::_bi::bind_t<bool,
boost::python::detail::translate_exception<CJavascriptException, void
(*)(CJavascriptException const&)>, boost::_bi::list3<boost::arg<1>, 
boost::arg<2>,
boost::_bi::value<void (*)(CJavascriptException const&)> >
>::operator()<boost::python::detail::exception_handler, boost::function0<void> >
(this=0x88bb38, a1=..., a2=...)
    at /usr/include/boost/bind/bind_template.hpp:102
        a = {<boost::_bi::storage2<boost::python::detail::exception_handler const&,
boost::function0<void> const&>> =
{<boost::_bi::storage1<boost::python::detail::exception_handler const&>> = {
              a1_ = @0x88bb30}, a2_ = @0x7fffffffbf10}, <No data fields>}
#17 0x00007ffff69ddbae in
boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool,
boost::python::detail::translate_exception<CJavascriptException, void
(*)(CJavascriptException const&)>, boost::_bi::list3<boost::arg<1>, 
boost::arg<2>,
boost::_bi::value<void (*)(CJavascriptException const&)> > >, bool,
boost::python::detail::exception_handler const&, boost::function0<void>
const&>::invoke (function_obj_ptr=..., a0=..., a1=...) at
/usr/include/boost/function/function_template.hpp:132
        f = 0x88bb38
#18 0x00007ffff66d3fe3 in
boost::python::handle_exception_impl(boost::function0<void>) () from
/usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#19 0x00007ffff66c96b8 in ?? () from /usr/lib/libboost_python-py26.so.1.40.0
No symbol table info available.
#20 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#21 0x00000000004a199c in PyEval_EvalFrameEx ()
No symbol table info available.
#22 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#23 0x00000000004a245f in PyEval_EvalFrameEx ()
No symbol table info available.
#24 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#25 0x000000000052bf2d in ?? ()
No symbol table info available.
#26 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#27 0x00000000004a0f31 in PyEval_EvalFrameEx ()
No symbol table info available.
#28 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#29 0x000000000052be30 in ?? ()
No symbol table info available.
#30 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#31 0x00000000004254ff in ?? ()
No symbol table info available.
#32 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#33 0x0000000000470a40 in ?? ()
No symbol table info available.
#34 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#35 0x00000000004a199c in PyEval_EvalFrameEx ()
No symbol table info available.
#36 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#37 0x000000000052bf2d in ?? ()
No symbol table info available.
#38 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#39 0x00000000004a0f31 in PyEval_EvalFrameEx ()
No symbol table info available.
#40 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#41 0x000000000052be30 in ?? ()
No symbol table info available.
#42 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#43 0x00000000004254ff in ?? ()
No symbol table info available.
#44 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#45 0x0000000000470a40 in ?? ()
No symbol table info available.
#46 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#47 0x00000000004a199c in PyEval_EvalFrameEx ()
No symbol table info available.
#48 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#49 0x000000000052bf2d in ?? ()
No symbol table info available.
#50 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#51 0x00000000004a0f31 in PyEval_EvalFrameEx ()
No symbol table info available.
#52 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#53 0x000000000052be30 in ?? ()
No symbol table info available.
#54 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#55 0x00000000004254ff in ?? ()
No symbol table info available.
#56 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#57 0x0000000000470a40 in ?? ()
No symbol table info available.
#58 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#59 0x00000000004a199c in PyEval_EvalFrameEx ()
No symbol table info available.
#60 0x00000000004a2e47 in PyEval_EvalFrameEx ()
No symbol table info available.
#61 0x00000000004a2e47 in PyEval_EvalFrameEx ()
No symbol table info available.
#62 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#63 0x000000000052be30 in ?? ()
No symbol table info available.
#64 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#65 0x00000000004254ff in ?? ()
No symbol table info available.
#66 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#67 0x000000000047068e in ?? ()
No symbol table info available.
#68 0x000000000046b92f in ?? ()
No symbol table info available.
#69 0x000000000041d6e7 in PyObject_Call ()
No symbol table info available.
#70 0x00000000004a199c in PyEval_EvalFrameEx ()
No symbol table info available.
#71 0x00000000004a40e0 in PyEval_EvalCodeEx ()
No symbol table info available.
#72 0x00000000004a41b2 in PyEval_EvalCode ()
No symbol table info available.
#73 0x00000000004c33a0 in PyRun_FileExFlags ()
No symbol table info available.
#74 0x00000000004c3564 in PyRun_SimpleFileExFlags ()
No symbol table info available.
#75 0x0000000000418ab7 in Py_Main ()
No symbol table info available.
#76 0x00007ffff6fd0abd in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#77 0x0000000000417ca9 in _start ()
No symbol table info available.


Original comment by sciyoshi on 10 Jan 2010 at 10:02

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
Maybe it's the Boost version? In order to fix the other compilation problem I'm 
using
a custom libboost-python1.40 from ajmitch's PPA...

Original comment by sciyoshi on 10 Jan 2010 at 10:03

from pyv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 27, 2024
Sorry, I have no idea at all, because your call stack seems ok, could you check 
the 
following page, it seems be specific to some system.

http://bugs.python.org/issue4732

msg78623 - (view)   Author: Andrew (ajg)    Date: 2008-12-31 16:24  
This problem appears to be specific to RHEL 5, and is not a Python
problem.  Linking against Google malloc (libtcmalloc) fixes the issue.

msg81218 - (view)   Author: Farshad Khoshkhui (farshad) Date: 2009-02-05 16:52  
This happens for me on several debian and ubuntu machines with python
2.5 as well as 2.6 as I reported in #571885. I'll try your script and
linking with tcmalloc and get back with results.

Original comment by [email protected] on 11 Jan 2010 at 3:07

  • Changed state: WontFix

from pyv8.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.