Thanks. I have things to check.

2012/6/7 Oleg Efimov (Sannis) <[email protected]>

> There was two threads about this:
> https://groups.google.com/forum/?fromgroups#!topic/nodejs/ZMtwSs6RU7Y
> https://groups.google.com/forum/?fromgroups#!topic/v8-users/AXnMijKMIxs
> Finalizing, you should use String::NewSymbol to Set/Get object properties.
> This is a special case in V8.
>
> среда, 6 июня 2012 г., 20:11:37 UTC+4 пользователь Nathan Rajlich написал:
>
>> Try changing the String::New("Buffer") part to
>> String::NewSymbol("Buffer").
>>
>> Idk why, but that fixed some seg faults I was experiencing using similar
>> code.
>>
>> On Wed, Jun 6, 2012 at 12:11 AM, Denys Khanzhiyev <[email protected]>wrote:
>>
>>> I definetelly shoot myself in my leg somewhere
>>>
>>> when i change code like that
>>>
>>> HandleScope scope;
>>> Local<Value> js_field = Local<Value>::New(Null());
>>>
>>> ....
>>>
>>> js_field = String::New((const char*)(vary2->vary_string));
>>>
>>>
>>>
>>> ...
>>> return scope.Close(js_field);
>>>
>>> to code like that
>>>
>>> HandleScope scope;
>>> Local<Value> js_field = Local<Value>::New(Null());
>>>
>>>
>>>
>>> ....
>>> Buffer *slowBuffer = Buffer::New(vary2->vary_length**);
>>> memcpy(Buffer::Data(slowBuffer**), (const char*)(vary2->vary_string), 
>>> vary2->vary_length);
>>>
>>>
>>> Local<Object> globalObj = Context::GetCurrent()->Global(**);
>>>
>>>
>>> Local<Function> bufferConstructor = 
>>> Local<Function>::Cast(globalOb**j->Get(String::New("Buffer")))**;
>>>
>>>
>>> Handle<Value> constructorArgs[3] = { slowBuffer->handle_, 
>>> Integer::New(vary2->vary_**length), Integer::New(0) };
>>>
>>>
>>> js_field = bufferConstructor->NewInstance**(3, constructorArgs);
>>>
>>> ...
>>> return scope.Close(js_field);
>>>
>>> i.e. returns Buffer instead of String.
>>> Node strarts to fall with segmentation fault unconditionally. I call
>>> that method in a loop. The problem may appear after 100 iterations or after
>>> 10000. The input data are same for both cases.
>>> Am I doing something wrong?
>>>
>>>
>>> 2012/6/5 Denys Khanzhiyev <[email protected]>
>>>
>>>> gdb --args ./node_g ../node_firebird/issues/**issue10.js
>>>> GNU gdb (GDB) CentOS (7.0.1-42.el5.centos)
>>>> Copyright (C) 2009 Free Software Foundation, Inc.
>>>> License GPLv3+: GNU GPL version 3 or later <
>>>> http://gnu.org/licenses/gpl.**html <http://gnu.org/licenses/gpl.html>>
>>>> This is free software: you are free to change and redistribute it.
>>>> There is NO WARRANTY, to the extent permitted by law.  Type "show
>>>> copying"
>>>> and "show warranty" for details.
>>>> This GDB was configured as "i386-redhat-linux-gnu".
>>>> For bug reporting instructions, please see:
>>>> <http://www.gnu.org/software/**gdb/bugs/<http://www.gnu.org/software/gdb/bugs/>
>>>> >...
>>>> Reading symbols from /root/node/node_g...(no debugging symbols
>>>> found)...done.
>>>>
>>>> Trying to catch segfault and all I get in backtrace
>>>>
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> 0x578bbeaa in ?? ()
>>>> (gdb) backtrace
>>>> #0  0x578bbeaa in ?? ()
>>>> #1  0x4aaeb361 in ?? ()
>>>> #2  0x478517a1 in ?? ()
>>>> #3  0x578bbe61 in ?? ()
>>>> #4  0x0000000c in ?? ()
>>>> #5  0x578acf46 in ?? ()
>>>> #6  0x00000000 in ?? ()
>>>>
>>>> ]# ./node_g -v
>>>> v0.6.13
>>>>
>>>> built with
>>>>  ./configure --debug
>>>> make
>>>>
>>>> any help?
>>>>
>>>> Thank you!
>>>>
>>>
>>>  --
>>> Job Board: http://jobs.nodejs.org/
>>> Posting guidelines: https://github.com/joyent/**node/wiki/Mailing-List-*
>>> *Posting-Guidelines<https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines>
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> nodejs+unsubscribe@**googlegroups.com<nodejs%[email protected]>
>>> For more options, visit this group at
>>> http://groups.google.com/**group/nodejs?hl=en?hl=en<http://groups.google.com/group/nodejs?hl=en?hl=en>
>>>
>>
>>  --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to