Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

722
Vistas
V8 c++: no se pudo deserializar el blob de instantáneas de V8

Estoy tratando de usar la biblioteca V8 compilada a través vcpkg install v8 pero recibo el siguiente error:

Failed to deserialize the V8 snapshot blob. This can mean that the snapshot blob file is corrupted or missing.

Lo estoy probando en el ejemplo hello-world.cc enviado:

 v8::V8::InitializeICUDefaultLocation(argv[0]); v8::V8::InitializeExternalStartupData(argv[0]); std::unique_ptr<v8::Platform> platform = v8::platform::NewDefaultPlatform(); v8::V8::InitializePlatform(platform.get()); v8::V8::Initialize(); Isolate::CreateParams create_params; create_params.array_buffer_allocator = v8::ArrayBuffer::Allocator::NewDefaultAllocator(); Isolate* isolate = Isolate::New(create_params); // << here is the crash Isolate::Scope isolate_scope(isolate);

Este error se genera en Isolate* isolate = Isolate::New(create_params); porque la variable interna i_isole no tiene asignado ningún snapshot_blog:

 if (!i::Snapshot::Initialize(i_isolate)) { // If snapshot data was provided and we failed to deserialize it must // have been corrupted. if (i_isolate->snapshot_blob() != nullptr) { FATAL( "Failed to deserialize the V8 snapshot blob. This can mean that the " "snapshot blob file is corrupted or missing."); }

Desafortunadamente, no puedo encontrar ninguna referencia a este error. Gracias por cualquier consejo.

Actualizado: lo estoy probando en Visual Studio 2019, lo mismo en la compilación de 32 bits y también en la compilación de 64 bits.

Actualizado: basado en el archivo vcpkg.json, la versión es "9.0.257.17". Intentaré actualizarlo a la última versión si no se trata de un error ya corregido.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para v8::V8::InitializeExternalStartupData(argv[0]); para que funcione, asegúrese de tener el archivo snapshot_blob.bin en el mismo directorio que el ejecutable que ha compilado. Alternativamente, asegúrese de pasar la ruta correcta en lugar de argv[0] .

No sé nada sobre vcpkg install v8 ; podría ser que la biblioteca que obtenga de esa manera esté compilada sin V8_USE_EXTERNAL_STARTUP_DATA , en cuyo caso también debe desactivar los datos de inicio externos para su compilación. Si no tiene ningún archivo snapshot_blob.bin , eso sería un indicador de que este es el caso.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda