Comment #5 on issue 1646 by [email protected]: Segmentation fault in v8::internal::Logger::is_logging
http://code.google.com/p/v8/issues/detail?id=1646


Any news about such issue?

I was able to reproduce it exactly the same way on -r9321. Moreover
I observed the same exact segmentation by simply importing PyV8.

I could be wrong but taking a look at the offending code

 81 #define LOG(isolate, Call)
 82   do {
 83     v8::internal::Logger* logger =
 84         (isolate)->logger();
 85     if (logger->is_logging())
 86       logger->Call;
 87   } while (false)

 798   Logger* logger() {
 799     // Call InitializeLoggingAndCounters() if logging is needed before
 800     // the isolate is fully initialized.
 801     ASSERT(logger_ != NULL);
 802     return logger_;
 803   }

it seems like `logger' instance could not be NULL when `is_logging' method is called
from the LOG macro and the backtrace seems to confirm it.

By the way the comments which talk about "calling InitializeLoggingAndCounters() if logging is needed before proper isolate initialization" so I think I just miss something in order to understand why the `logger' instance loses references to itself just one
instruction later...



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to