fglock / Perlito

"Perlito" Perl programming language compiler
http://fglock.github.io/Perlito/
Other
414 stars 47 forks source link

perlito5.js throws an error with the "Hello World" program. #18

Closed shlomif closed 8 years ago

shlomif commented 10 years ago

When I run node perlito5.js on Mageia Linux Cauldron (with perl-5.18.1-3.mga4 and nodejs-0.10.22-1.mga4 ) I get:

shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ node perlito5.js -I./src5/lib -e 'print "Hi!\n"'
Warning: RangeError: Maximum call stack size exceeded
undefined
Error
    at CORE.warn (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:1142:24)
    at p5pkg.main.Hash_INC (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18128:23)
    at /home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18130:8
    at Object.<anonymous> (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18279:3)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

"make test" is also failing all tests.

Please look into fixing it.

Regards,

-- Shlomi Fish

fglock commented 10 years ago

I can't reproduce: $ node perlito5.js -I./src5/lib -e 'print "Hi!\n"' Hi!

Can you give more details (memory available, node version); can you reproduce the problem in another system as well?

2013/11/23 Shlomi Fish notifications@github.com

When I run node perlito5.js on Mageia Linux Cauldron (with perl-5.18.1-3.mga4 and nodejs-0.10.22-1.mga4 ) I get:

shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ node perlito5.js -I./src5/lib -e 'print "Hi!\n"' Warning: RangeError: Maximum call stack size exceeded undefined Error at CORE.warn (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:1142:24) at p5pkg.main.Hash_INC (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18128:23) at /home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18130:8 at Object. (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18279:3) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16)

"make test" is also failing all tests.

Please look into fixing it.

Regards,

-- Shlomi Fish

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18 .

fglock commented 10 years ago

nodejs-0.10.22-1.mga4

sorry, I didn't see you already provided the version - thanks!

2013/11/24 Flavio S. Glock fglock@gmail.com

I can't reproduce: $ node perlito5.js -I./src5/lib -e 'print "Hi!\n"' Hi!

Can you give more details (memory available, node version); can you reproduce the problem in another system as well?

2013/11/23 Shlomi Fish notifications@github.com

When I run node perlito5.js on Mageia Linux Cauldron (with perl-5.18.1-3.mga4 and nodejs-0.10.22-1.mga4 ) I get:

shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ node perlito5.js -I./src5/lib -e 'print "Hi!\n"' Warning: RangeError: Maximum call stack size exceeded undefined Error at CORE.warn (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:1142:24) at p5pkg.main.Hash_INC (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18128:23) at /home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18130:8 at Object. (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18279:3) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16)

"make test" is also failing all tests.

Please look into fixing it.

Regards,

-- Shlomi Fish

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18 .

shlomif commented 10 years ago

@fglock : do you need anything more from me? My system has 8 GB of RAM - and about 3 GB free, so it should not be an issue. I can try reproducing the problem on some VMs or on my Debian Testing partition. Should I still do that?

fglock commented 10 years ago

Yes, please try to reproduce the problem in a different system.

My development machine has 2GB ram (a Macbook Air), and I'm using node v0.10.15.

I also played with ulimit, and I can't reproduce the 'RangeError' message (I do get 'Segmentation fault' with very low limits).

2013/11/24 Shlomi Fish notifications@github.com

@fglock https://github.com/fglock : do you need anything more from me? My system has 8 GB of RAM - and about 3 GB free, so it should not be an issue. I can try reproducing the problem on some VMs or on my Debian Testing partition. Should I still do that?

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18#issuecomment-29150229 .

shlomif commented 10 years ago

@fglock: thanks for the instructions. I've now tried it on an Ubuntu Linux 12.04 (LTS) VM, and after I installed node.js (in their case - version 0.6.12) and the test command line appeared to work and most of the tests (but not all) passed. However, after I installed node-v0.10.22 from source under a prefix (using only "./configure --prefix=$HOME/apps/node-js" in the configure stage), and promoted it in the $PATH, then running the command line generated an error - very similar to that I see on the live Mageia system. So I guess it's a problem with recent versions of node-v0.10.x.

Can you try it with node-v0.10.22?

Regards,

-- Shlomi Fish

shlomif commented 10 years ago

@fglock : hi! I continued to investigate it and after doing a git bisect on the node.js repository on my Mageia Linux system from 0.6.12 to 0.10.15 (which is also faulty here), I got:

shlomif@telaviv1:~/Download/unpack/prog/node-js/node$ git bisect skip
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
3411a03dd114d635800cc50749d2351cd734eb2a
d77c24de3f817b4c63040ac44d33a24d59ab5475
017009f8c5c691dcb76b63ff38def6fef50b4414
We cannot bisect more!

Problem is that I'm getting compilation problems with some of the commits in the middle which I had to skip.

Regards,

-- Shlomi Fish

fglock commented 10 years ago

I've got the latest nodejs from ubuntu, all tests pass:

$ uname -a Linux Acerola 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt-get install nodejs [sudo] password for flavio: Reading package lists... Done Building dependency tree Reading state information... Done nodejs is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 94 not upgraded.

$ nodejs -v v0.6.19

$ make ...

$ make test ... All tests successful. Files=57, Tests=993, 21 wallclock secs ( 0.26 usr 0.06 sys + 19.22 cusr 1.56 csys = 21.10 CPU) Result: PASS

I'll investigate a bit more.

2013/11/24 Shlomi Fish notifications@github.com

@fglock https://github.com/fglock : hi! I continued to investigate it and after doing a git bisect on the node.js repository on my Mageia Linux system from 0.6.12 to 0.10.15 (which is also faulty here), I got:

shlomif@telaviv1:~/Download/unpack/prog/node-js/node$ git bisect skip There are only 'skip'ped commits left to test. The first bad commit could be any of: 3411a03dd114d635800cc50749d2351cd734eb2a d77c24de3f817b4c63040ac44d33a24d59ab5475 017009f8c5c691dcb76b63ff38def6fef50b4414 We cannot bisect more!

Problem is that I'm getting compilation problems with some of the commits in the middle which I had to skip.

Regards,

-- Shlomi Fish

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18#issuecomment-29155557 .

shlomif commented 10 years ago

@fglock : which version of Ubuntu are you using? And the latest nodejs from Ubuntu is 0.6.x - not 0.10.x for which this bug was filed.

fglock commented 10 years ago

This is Ubuntu 13.04, it gets an older nodejs by default. I'll install a new one.

2013/11/25 Shlomi Fish notifications@github.com

@fglock https://github.com/fglock : which version of Ubuntu are you using? And the latest nodejs from Ubuntu is 0.6.x - not 0.10.x for which this bug was filed.

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18#issuecomment-29229693 .

fglock commented 10 years ago

I've got the latest node from github:

$ /home/flavio/projetos/node/node -v v0.11.10-pre

$ /home/flavio/projetos/node/node perlito5.js -Isrc5/lib -e ' say "hello" ' hello

$ prove -r -e '/home/flavio/projetos/node/node perlito5.js -I./src5/lib' t5 t5/01-perlito/010-sanity.t .................. ok t5/01-perlito/020-int.t ..................... ok ... t5/op/wantarray.t ........................... ok t5/re/reg_unsafe.t .......................... ok All tests successful. Files=57, Tests=993, 28 wallclock secs ( 0.26 usr 0.05 sys + 27.33 cusr 1.58 csys = 29.22 CPU) Result: PASS

Everything works fine. I can't tell what could be happening in your case.

Please let me know if you find out more.

2013/11/25 Flavio S. Glock fglock@gmail.com

This is Ubuntu 13.04, it gets an older nodejs by default. I'll install a new one.

2013/11/25 Shlomi Fish notifications@github.com

@fglock https://github.com/fglock : which version of Ubuntu are you using? And the latest nodejs from Ubuntu is 0.6.x - not 0.10.x for which this bug was filed.

— Reply to this email directly or view it on GitHubhttps://github.com/fglock/Perlito/issues/18#issuecomment-29229693 .

shlomif commented 10 years ago

@fglock : a few questions:

  1. What is the git SHA1 checksum of the commit of the node repository?
  2. Which system (OS+distro+versions+hardware+etc.) is this transcript taken from?
  3. The path you're using to the node executable makes no sense because "node" installs itself under a "bin" sub-directory of the prefix. Have you run "make install" or are you using node directly from its git clone?

As for my case:

shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ which node
/home/shlomif/apps/node-js/bin/node
shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ node --version
v0.11.10-pre
shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ /home/shlomif/apps/node-js/bin/node perlito5.js -I./src5/lib -e ' say "hello" ' 
Warning: RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:30)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
    at Object.defineProperty.value (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:271:19)
Error
    at CORE.warn (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:1142:24)
    at /home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18128:23
    at /home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18130:8
    at Object.<anonymous> (/home/shlomif/Download/unpack/perl/Perlito/Perlito/perlito5.js:18279:3)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)
    at startup (node.js:123:16)
shlomif@telaviv1:~/Download/unpack/perl/Perlito/Perlito$ 
.
.
.
shlomif@telaviv1:~/Download/unpack/prog/node-js/node$ git show | head -4
commit b3e4fc6a48b97b52bd19de43c76b7082dcab4988
Author: David Chan <david@sheetmusic.org.uk>
Date:   Wed Nov 20 23:40:41 2013 +0530

shlomif@telaviv1:~/Download/unpack/prog/node-js/node$ 

I'm on x86-64 Mageia Linux Cauldron , but it also happened in an x86-64 Ubuntu 12.04 VM.

Regards,

-- Shlomi Fish

shlomif commented 9 years ago

@fglock : any news?

fglock commented 8 years ago

maybe related: http://stackoverflow.com/questions/20936486/node-js-maximum-call-stack-size-exceeded http://stackoverflow.com/questions/7663957/debugging-maximum-call-stack-size-exceeded

the error seems to happen only with some combinations of OS and nodejs version.

I'll reopen the bug if I get more information.