Hi Erik, Just to quickly update you, I can get it to run without any gcc optimization flags. I'll let you know when I find the problematic code. Thanks, John
On May 12, 4:52 pm, [email protected] wrote: > Hi Erik, > > I run into the problem by just starting up the VM. I tried the > backtrace earlier and haven't gotten very far with it. > > backtrace() returned 1 addresses > ./shell_g [0x33404] > > And for the sake of brevity, attached below is the default JS stack > trace that is printed on crash. > > Thanks, > John > > ==== Stack trace ============================================ > > Security context: 0x408003c1 <JS Object>#0# > 1: ConfigureTemplateInstance(this=0x40800561 <JS > Object>#1#,obj=0x40425b39 <JS Object>#2#,data=0x40800101 > <ObjectTemplateInfo>#3#) > 6: Instantiate(this=0x40800561 <JS Object>#1#,data=0x40800101 > <ObjectTemplateInfo>#3#,name=0x4099a135 <undefined>) > 7: arguments adaptor frame: 1->2 > > ==== Details ================================================ > > [1]: ConfigureTemplateInstance(this=0x40800561 <JS > Object>#1#,obj=0x40425b39 <JS Object>#2#,data=0x40800101 > <ObjectTemplateInfo>#3#) { > // stack-allocated locals > var prop_data = 0x4080011d <FunctionTemplateInfo>#4# > var value = 0x40805a01 <JS Function print>#5# > var name = 0x40400651 <String[5]: print> > var properties = 0x40400669 <JS Object>#6# > var requires_access_checks = 0x4099a179 <false> > var attributes = 0 > var i = 0 > // expression stack (top to bottom) > [16] : 0 > [15] : 0x40805a01 <JS Function print>#5# > [14] : 0x40400651 <String[5]: print> > [13] : 0x40425b39 <JS Object>#2# > --------- s o u r c e c o d e --------- > function ConfigureTemplateInstance(obj, data) {? var properties = > %GetTemplateField(data, 1);? if (properties) {? var > requires_access_checks = %DisableAccessChecks(obj);? try {? > for (var i = 0; i < properties[0]; i += 3) {? var name = > properties[i + 1];? var prop_data = properties[i + 2];? > var attri... > > ----------------------------------------- > > } > > [6]: Instantiate(this=0x40800561 <JS Object>#1#,data=0x40800101 > <ObjectTemplateInfo>#3#,name=0x4099a135 <undefined>) { > // stack-allocated locals > var Constructor = 0x40800299 <FunctionTemplateInfo>#7# > var tag = 1 > var result = 0x4099a135 <undefined> > // expression stack (top to bottom) > [04] : 0x40800561 <JS Object>#1# > [03] : 0x408059e5 <JS Function>#8# > --------- s o u r c e c o d e --------- > function Instantiate(data, name) {? if (!%IsTemplate(data)) return > data;? var tag = %GetTemplateField(data, 0);? switch (tag) {? > case 0:? return InstantiateFunction(data, name);? case > 1:? var Constructor = %GetTemplateField(data, 2);? var > result = Constructor ? new (Instantiate(Constructor))() :... > > ----------------------------------------- > > } > > [7]: arguments adaptor frame: 1->2 { > // actual arguments > [00] : 0x40800101 <ObjectTemplateInfo>#3# > > } > > ==== Key ============================================ > > #0# 0x408003c1: 0x408003c1 <JS Object> > NaN: 0x4099a129 <Number: nan> > JSON: 0x408004e5 <JS Object>#9# > Math: 0x404142c5 <a MathConstructor>>#10# > Infinity: 0x4099c101 <Number: inf> > undefined: 0x4099a135 <undefined> > #1# 0x40800561: 0x40800561 <JS Object> > $NaN: 0x4099a129 <Number: nan> > $Math: 0x404142c5 <a MathConstructor>>#10# > global: 0x408003c1 <JS Object>#0# > kMessages: 0x4041a035 <an Object>>#11# > $Infinity: 0x4099c101 <Number: inf> > hexCharArray: 0x404104ed <JS array[16]>#12# > kVowelSounds: 0x404189c9 <an Object>>#13# > functionCache: 0x404245b5 <an Object>>#14# > visited_arrays: 0x404081ed <JS array[0]>#15# > kLineLengthLimit: 78 > hexCharCodeArray: 0x4041059d <JS array[16]>#16# > kApiFunctionCache: 0x404245b5 <an Object>>#14# > reusableMatchInfo: 0x4040b71d <JS array[5]>#17# > kCapitalVowelSounds: 0x40418e61 <an Object>>#18# > kStackOverflowBoilerplate: 0x40421451 <a RangeError>>#19# > kAddMessageAccessorsMarker: 0x4041a799 <an Object>>#20# > #2# 0x40425b39: 0x40425b39 <JS Object> > #3# 0x40800101: 0x40800101 <ObjectTemplateInfo> > #4# 0x4080011d: 0x4080011d <FunctionTemplateInfo> > #5# 0x40805a01: 0x40805a01 <JS Function print> > #6# 0x40400669: 0x40400669 <JS Object> > #7# 0x40800299: 0x40800299 <FunctionTemplateInfo> > #8# 0x408059e5: 0x408059e5 <JS Function> > #9# 0x408004e5: 0x408004e5 <JS Object> > #10# 0x404142c5: 0x404142c5 <a MathConstructor>> > E: 0x4099e3e1 <Number: 2.718281828459045> > PI: 0x4099e41d <Number: 3.141592653589793> > LN2: 0x4099e3f9 <Number: 0.6931471805599453> > LN10: 0x4099e3ed <Number: 2.302585092994046> > SQRT2: 0x4099e435 <Number: 1.414213562373095> > LOG2E: 0x4099e405 <Number: 1.442695040888963> > LOG10E: 0x4099e411 <Number: 0.4342944819032518> > SQRT1_2: 0x4099e429 <Number: 0.7071067811865476> > #11# 0x4041a035: 0x4041a035 <an Object>> > pcre_error: 0x4099e73d <String[31]: PCRE function %0, error > code %1> > not_defined: 0x4099ec09 <String[17]: %0 is not defined> > stack_trace: 0x4099ea79 <String[15]\: Stack Trace:\n%0> > cyclic_proto: 0x4099e521 <String[22]: Cyclic __proto__ value> > regexp_flags: 0x4099e779 <String[61]: Cannot supply flags when > constructing one RegExp from another> > illegal_eval: 0x4099ed15 <String[32]: Unsupported indirect eval > () call> > invalid_json: 0x4099f2c1 <String[29]: String '%0' is not valid > JSON> > illegal_break: 0x4099f1a1 <String[23]: Illegal break statement> > unknown_label: 0x4099e9a5 <String[20]: Undefined label '%0'> > redeclaration: 0x4099e931 <String[33]: %0 '%1' has already been > declared> > invalid_break: 0x4099e9d9 <String[23]: Invalid break statement> > invalid_regexp: 0x4099f17d <String[27]: Invalid RegExp pattern /%0/ > > expected_label: 0x4099e681 <String[14]: Expected label> > stack_overflow: 0x4099f069 <String[32]: Maximum call stack size > exceeded> > null_to_object: 0x4099ef55 <String[29]: Cannot convert null to > object> > apply_overflow: 0x4099f091 <String[52]: Function.prototype.apply > cannot support %0 arguments> > illegal_return: 0x4099f1e5 <String[24]: Illegal return statement> > unexpected_eos: 0x4099e649 <String[23]: Unexpected end of input> > with_expression: 0x4099ed55 <String[20]: %0 has no properties> > not_constructor: 0x4099ebd5 <String[23]: %0 is not a constructor> > unable_to_parse: 0x4099f0cd <String[11]: Parse error> > apply_wrong_args: 0x4099ee59 <String[55]: Function.prototype.apply: > Arguments list has wrong type> > unexpected_token: 0x4099e559 <String[19]: Unexpected token %0> > invalid_continue: 0x4099ea11 <String[26]: Invalid continue > statement> > malformed_regexp: 0x4099e6b1 <String[36]: Invalid regular > expression: /%0/: %1> > undefined_method: 0x4099eac5 <String[28]: Object %1 has no method > '%0'> > illegal_continue: 0x4099f1c1 <String[26]: Illegal continue > statement> > null_or_undefined: 0x4099eb59 <String[43]: Cannot access property of > null or undefined> > reduce_no_initial: 0x4099ef7d <String[43]: Reduce of empty array with > no initial value> > no_input_to_regexp: 0x4099f265 <String[14]: No input to %0> > uncaught_exception: 0x4099ea51 <String[11]: Uncaught %0> > illegal_invocation: 0x4099ed8d <String[18]: Illegal invocation> > apply_non_function: 0x4099ee05 <String[75]: Function.prototype.apply > was called on %0, which is a %1 and not a function> > circular_structure: 0x4099f305 <String[37]: Converting circular > structure to JSON> > newline_after_throw: 0x4099e90d <String[27]: Illegal newline after > throw> > unterminated_regexp: 0x4099e6f9 <String[37]: Invalid regular > expression: missing /> > called_non_callable: 0x4099ea91 <String[20]: %0 is not a function> > no_catch_or_finally: 0x4099e979 <String[34]: Missing catch or finally > after try> > result_not_primitive: 0x4099f27d <String[40]: Result of %0 must be a > primitive, was %1> > invalid_array_length: 0x4099efcd <String[20]: Invalid array length> > property_not_function: 0x4099eb09 <String[44]: Property '%0' of object > %1 is not a function> > no_setter_in_callback: 0x4099edc9 <String[52]: Cannot set property %0 > of %1 which has only a getter> > invalid_lhs_in_for_in: 0x4099e7ed <String[32]: Invalid left-hand side > in for-in> > duplicate_regexp_flag: 0x4099f101 <String[24]: Duplicate RegExp flag > %0> > error_loading_debugger: 0x4099f225 <String[25]: Error loading debugger > %0> > unexpected_token_number: 0x4099e595 <String[17]: Unexpected number> > invalid_in_operator_use: 0x4099ee99 <String[49]: Cannot use 'in' > operator to search for '%0' in %1> > unexpected_token_string: 0x4099e5d1 <String[17]: Unexpected string> > invalid_lhs_in_prefix_op: 0x4099e855 <String[53]: Invalid left-hand > side expression in prefix operation> > unrecognized_regexp_flag: 0x4099f141 <String[27]: Unrecognized RegExp > flag %0> > non_object_property_load: 0x4099ec45 <String[31]: Cannot read property > '%0' of %1> > non_object_property_call: 0x4099ecd9 <String[29]: Cannot call method > '%0' of %1> > invalid_lhs_in_assignment: 0x4099e7c1 <String[36]: Invalid left-hand > side in assignment> > non_object_property_store: 0x4099ec91 <String[30]: Cannot set property > '%0' of %1> > invalid_lhs_in_postfix_op: 0x4099e815 <String[54]: Invalid left-hand > side expression in postfix operation> > instanceof_nonobject_proto: 0x4099ef11 <String[58]: Function has non- > object prototype '%0' in instanceof check> > invalid_array_apply_length: 0x4099f00d <String[59]: > Function.prototype.apply supports only up to 1024 arguments> > cannot_convert_to_primitive: 0x4099eb8d <String[40]: Cannot convert > object to primitive value> > multiple_defaults_in_switch: 0x4099e8b9 <String[48]: More than one > default clause in switch statement> > unexpected_token_identifier: 0x4099e611 <String[21]: Unexpected > identifier> > instanceof_function_expected: 0x4099eed5 <String[52]: Expecting a > function in instanceof check, but got %0> > #12# 0x404104ed: 0x404104ed <JS array[16]> > 0: 0x4099a641 <String[1]: 0> > 1: 0x4099dc91 > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ v8-users mailing list [email protected] http://groups.google.com/group/v8-users -~----------~----~----~----~------~----~------~--~---
