Skip to content
This repository has been archived by the owner on Mar 29, 2024. It is now read-only.

Valgring reports problem after upgrading to v8 6.3 #47

Closed
pinepain opened this issue Sep 3, 2017 · 4 comments
Closed

Valgring reports problem after upgrading to v8 6.3 #47

pinepain opened this issue Sep 3, 2017 · 4 comments

Comments

@pinepain
Copy link
Member

pinepain commented Sep 3, 2017

After updating some tests become red and reports leaks - https://travis-ci.org/pinepain/php-v8/jobs/271257124.

==16592== Conditional jump or move depends on uninitialised value(s)
==16592==    at 0x10B2A5A3: v8::internal::MarkCompactCollector::EmptyMarkingWorklist() (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10B3FE69: v8::internal::MarkCompactCollector::RootMarkingVisitor::VisitRootPointers(v8::internal::Root, v8::internal::Object**, v8::internal::Object**) (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10B0549B: v8::internal::Heap::IterateStrongRoots(v8::internal::RootVisitor*, v8::internal::VisitMode) (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10B2A3AC: v8::internal::MarkCompactCollector::MarkRoots(v8::internal::RootVisitor*, v8::internal::ObjectVisitor*) (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10B267AB: v8::internal::MarkCompactCollector::MarkLiveObjects() (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10B262D7: v8::internal::MarkCompactCollector::CollectGarbage() (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10AF79FA: v8::internal::Heap::MarkCompact() (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10AF5E4A: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10AF53A1: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (in /opt/libv8-6.3/lib/libv8.so)
==16592==    by 0x10AF5724: v8::internal::Heap::CollectAllAvailableGarbage(v8::internal::GarbageCollectionReason) (in /opt/libv8-6.3/lib/libv8.so)

I'm not sure was there any changes in v8 internals that affects userland code and thus need some adjustmets or it's a v8 internals issue or it just false-positive. For now I filled a report to v8-users mail lists - https://groups.google.com/forum/#!topic/v8-users/qu1HrjbgRsg.

While we can workaround this issue by simply suppress this issues with valgringrc, it might be a notice of more deeper problem.

@pinepain
Copy link
Member Author

pinepain commented Sep 3, 2017

It seems to be https://bugs.chromium.org/p/v8/issues/detail?id=6566 bug may be related to this issue.

@pinepain
Copy link
Member Author

pinepain commented Sep 3, 2017

New error come up after suppressing valgrind reports - https://travis-ci.org/pinepain/php-v8/jobs/271439249

FILE: tests/Isolate_limit_memory.mem

==16452== 
==16452== Process terminating with default action of signal 4 (SIGILL)
==16452==  Illegal opcode at address 0x4075C2F
==16452==    at 0x4075C2F: v8::base::OS::Abort() (in /opt/libv8-6.3/lib/libv8_libbase.so)
==16452==    by 0x300000001F: ???
==16452==    by 0xFFEFFC4DF: ???
==16452==    by 0xFFEFFC3FF: ???

@pinepain
Copy link
Member Author

pinepain commented Sep 3, 2017

Reproducing locally using bento/ubuntu-14.04 vagrant box and docker trusty base image results in more disappointing error:

$ make test

Build complete.
Don't forget to run 'make test'.

PHP Warning:  PHP Startup: Unable to load dynamic library
  '/home/vagrant/php-v8/modules/v8.so' - /home/vagrant/php-v8/modules/v8.so:
  undefined symbol: _ZNSs4_Rep20_S_empty_rep_storageE in Unknown on line 0

@pinepain
Copy link
Member Author

pinepain commented Sep 4, 2017

I decided to move away from what travis PHP image offers and use own docker images so that it would be less pita to debug what happens on CI.

Valgrind reports specified above as well as some other reports which appears in docker are suppressed for now and could be revisited later when I have time or someone volunteer to do that. Ticket number for that is #49.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant