atoum / json-schema-extension

The atoum json-schema-extension allows you to validate JSON against schemas.
Other
8 stars 4 forks source link

Update json-schema >=3.0.0 <=6.0.0, and atoum >= 3.0 #16

Closed shouze closed 7 years ago

shouze commented 7 years ago

ping @jubianchi @Hywan

Also, looks like all dataProviders randomly leads to some kind of infinite loop (especially testValidatesJsonArrayGrammar & testNotValidatesJsonArrayGrammarDataProvider).

As you can see half of ci matrix timeout because of that.

I've investigated furthermore and it's related to $this->sampleMany() and maybe also to *.pp files. When I limit sampleMany to 1 it occurs less often but still occurs. So the only thing I'm sure is that it's related to atoum/praspel-extension whatever:

Hywan commented 7 years ago

What computer and OS do you have please?

shouze commented 7 years ago

@Hywan macOS 10.13 with php 7.1.7 but the same thing occurs on ci with various php releases on Ubuntu Trusty.

shouze commented 7 years ago

I've also tested with & without opcache & xdebug exts, don't change anything.

shouze commented 7 years ago

@Hywan did you suspect an issue about case sensitivity? Because after fixing the hoa/iterator requirement ci is passing.

Also... I didn't removed hhvm support but anyway travis says it's time to switch to trusty if we want to test hhvm.

shouze commented 7 years ago

ping @Hywan so are you willing to merge or any other required changes?

FYI I'm still experiencing the issue on my local MacOS php. php process take 100% CPU, it's an infinite loop for sure.

If I quickly run sudo dtruss -p PID I get that:

dtrace: error on enabled probe ID 2721 (ID 176: syscall::wait4:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2721 (ID 176: syscall::wait4:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2721 (ID 176: syscall::wait4:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2389 (ID 840: syscall::fstat64:return): invalid user access in action #5 at DIF offset 0
dtrace: error on enabled probe ID 2166 (ID 168: syscall::read:return): invalid user access in action #5 at DIF offset 0
Hywan commented 7 years ago

I can reproduce the infinite loop, but only when testing, it does not happen with the extension. So let's merge, and investigate later.

Hywan commented 7 years ago

I've release the 2.0.0 version, https://github.com/atoum/json-schema-extension/releases/tag/2.0.0.

shouze commented 7 years ago

@Hywan yes that's it, testing related infinite loop only.