Hi All,
I want to be able to answer Max's message below with "run this script to build a VMMaker image", but so far I'm unable to download a VM from binary via curl (the default downloader on Mac OS X). If I try e.g.
$ curl -k -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_20170...
I get an empty .tar.gz
If I use wget (something I've built and installed myself):
wget -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_20170...
I get
$ cat cog_macos32x86_squeak.cog.spur_201705051953.tar.gz --2017-05-08 11:56:10-- https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_20170... Resolving dl.bintray.com... 75.126.118.188 Connecting to dl.bintray.com|75.126.118.188|:443... connected. ERROR: cannot verify dl.bintray.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. To connect to dl.bintray.com insecurely, use `--no-check-certificate'. Unable to establish SSL connection.
And if I use --no-check-certificate I still fail:
$ wget --no-check-certificate -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_20170... $ cat cog_macos32x86_squeak.cog.spur_201705051953.tar.gz --2017-05-08 11:58:30-- https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_20170... Resolving dl.bintray.com... 75.126.118.188 Connecting to dl.bintray.com|75.126.118.188|:443... connected. WARNING: cannot verify dl.bintray.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 302 Location: https://akamai.bintray.com/c6/c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646... [following] --2017-05-08 11:58:31-- https://akamai.bintray.com/c6/c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646... Resolving akamai.bintray.com... 104.68.118.43 Connecting to akamai.bintray.com|104.68.118.43|:443... connected. WARNING: cannot verify akamai.bintray.com's certificate, issued by `/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 200 OK Length: 1220748 (1.2M) [application/x-www-form-urlencoded] c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646fc1c91756d6c985b19?__gda__=exp=1494270631~hmac=3fe7f593f3440ace34e3c013ab7119d52093ba1672a32f14f1747e3e7a4e0235&response-content-disposition=attachment;filename="cog_macos32x86_squeak.cog.spur_201705051953.tar.gz"&response-content-type=application%2Fx-www-form-urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bks0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K418muvWavbqgHjmI: File name too long
Cannot write to `c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646fc1c91756d6c985b19?__gda__=exp=1494270631~hmac=3fe7f593f3440ace34e3c013ab7119d52093ba1672a32f14f1747e3e7a4e0235&response-content-disposition=attachment;filename="cog_macos32x86_squeak.cog.spur_201705051953.tar.gz"&response-content-type=application%2Fx-www-form-urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bks0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K418muvWavbqgHjmI' (Undefined error: 0).
On Sun, May 7, 2017 at 4:24 AM, Max Leske maxleske@gmail.com wrote:
Hi,
I'm trying to store an image segment with the latest pharo.cog.spur VM (32 bits) but keep failing. The segment should produce a file of around 60 MB. With an old V3 VM this is no problem at all. There, the WordArrayForSegment instance has a size of 4094179 but with the new VM I always run out of space because the primitive returns nil and, therefore, the word array size is constantly being increased.
I've built a debug VM and am stepping through the code but I don't have a clear understanding of everything that's happening. The failure happens on line 46626 of gcc3x-cointerp.c:
newOop = (copy - segStart) / 8; if (newOop > (identityHashHalfWordMask())) { return PrimErrLimitExceeded; // <--------------- failure }
What I don't understand, for example, is why "newOop" is checked against "identityHashHalfWordMask()" and not against the segment end ("endSeg"). Here's a list of the current values of the variables upon failure:
objOop sqInt 180812096 segAddr sqInt 494731288 segStart sqInt 461176856 endSeg sqInt 815841432 bodySize usqInt 64 contextSize sqInt 335672448 copy sqInt 494731288 hash sqInt 0 hash1 sqInt 4194302 i sqInt 833574680 iLimiT sqInt 833574688 methodHeader sqInt 1193471 newOop sqInt 4194304 numMediatedSlots sqInt 833574688 numSlots usqInt 14 oop sqInt 142640272
As you can see, "endSeg" would be more than large enough to hold the object. Is it possible that there's an error here?
Cheers, Max
never mind. got it now.
On Mon, May 8, 2017 at 11:59 AM, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi All,
I want to be able to answer Max's message below with "run this script
to build a VMMaker image", but so far I'm unable to download a VM from binary via curl (the default downloader on Mac OS X). If I try e.g.
$ curl -k -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_ 201705051953.tar.gz
I get an empty .tar.gz
If I use wget (something I've built and installed myself):
wget -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_ 201705051953.tar.gz
I get
$ cat cog_macos32x86_squeak.cog.spur_201705051953.tar.gz --2017-05-08 11:56:10-- https://dl.bintray.com/opensmalltalk/vm/cog_ macos32x86_squeak.cog.spur_201705051953.tar.gz Resolving dl.bintray.com... 75.126.118.188 Connecting to dl.bintray.com|75.126.118.188|:443... connected. ERROR: cannot verify dl.bintray.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. To connect to dl.bintray.com insecurely, use `--no-check-certificate'. Unable to establish SSL connection.
And if I use --no-check-certificate I still fail:
$ wget --no-check-certificate -o cog_macos32x86_squeak.cog.spur_201705051953.tar.gz https://dl.bintray.com/opensmalltalk/vm/cog_macos32x86_squeak.cog.spur_ 201705051953.tar.gz $ cat cog_macos32x86_squeak.cog.spur_201705051953.tar.gz --2017-05-08 11:58:30-- https://dl.bintray.com/opensmalltalk/vm/cog_ macos32x86_squeak.cog.spur_201705051953.tar.gz Resolving dl.bintray.com... 75.126.118.188 Connecting to dl.bintray.com|75.126.118.188|:443... connected. WARNING: cannot verify dl.bintray.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 302 Location: https://akamai.bintray.com/c6/c6ba54ff93f202c24e6008cb5c8b49 c803b4ac21b43646fc1c91756d6c985b19?__gda__=exp=1494270631~hmac= 3fe7f593f3440ace34e3c013ab7119d52093ba1672a32f14f1747e3e7a4e 0235&response-content-disposition=attachment%3Bfilename%3D%22cog_ macos32x86_squeak.cog.spur_201705051953.tar.gz%22&response-content-type= application%2Fx-www-form-urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_ mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bk s0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K 418muvWavbqgHjmI [following] --2017-05-08 11:58:31-- https://akamai.bintray.com/c6/ c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646fc1c91756d6c98 5b19?__gda__=exp=1494270631~hmac=3fe7f593f3440ace34e3c013ab7119 d52093ba1672a32f14f1747e3e7a4e0235&response-content- disposition=attachment%3Bfilename%3D%22cog_macos32x86_squeak.cog.spur_ 201705051953.tar.gz%22&response-content-type=application%2Fx-www-form- urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_ mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bk s0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K 418muvWavbqgHjmI Resolving akamai.bintray.com... 104.68.118.43 Connecting to akamai.bintray.com|104.68.118.43|:443... connected. WARNING: cannot verify akamai.bintray.com's certificate, issued by `/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 200 OK Length: 1220748 (1.2M) [application/x-www-form-urlencoded] c6ba54ff93f202c24e6008cb5c8b49c803b4ac21b43646fc1c91756d6c98 5b19?__gda__=exp=1494270631~hmac=3fe7f593f3440ace34e3c013ab7119 d52093ba1672a32f14f1747e3e7a4e0235&response-content- disposition=attachment;filename="cog_macos32x86_ squeak.cog.spur_201705051953.tar.gz"&response-content-type= application%2Fx-www-form-urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_ mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bk s0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K418muvWavbqgHjmI: File name too long
Cannot write to `c6ba54ff93f202c24e6008cb5c8b49 c803b4ac21b43646fc1c91756d6c985b19?__gda__=exp=1494270631~hmac= 3fe7f593f3440ace34e3c013ab7119d52093ba1672a32f14f1747e3e7a4e 0235&response-content-disposition=attachment;filename="cog_macos32x86_ squeak.cog.spur_201705051953.tar.gz"&response-content-type= application%2Fx-www-form-urlencoded&requestInfo=U2FsdGVkX18Y_MJoYGQOYlat_ mYoKMgk2XAwj9mM83g2sVlybJ4IVHj2U_7RPrccLSntxKjKu84Nw9tuDyVRF1bk s0b9U_BjqCvXL9pfJZu_Z4BHUULx0GBuM5nr-oQndxXSWmK6CFB5zlERWr16NcVwm6K418muvWavbqgHjmI' (Undefined error: 0).
On Sun, May 7, 2017 at 4:24 AM, Max Leske maxleske@gmail.com wrote:
Hi,
I'm trying to store an image segment with the latest pharo.cog.spur VM (32 bits) but keep failing. The segment should produce a file of around 60 MB. With an old V3 VM this is no problem at all. There, the WordArrayForSegment instance has a size of 4094179 but with the new VM I always run out of space because the primitive returns nil and, therefore, the word array size is constantly being increased.
I've built a debug VM and am stepping through the code but I don't have a clear understanding of everything that's happening. The failure happens on line 46626 of gcc3x-cointerp.c:
newOop = (copy - segStart) / 8; if (newOop > (identityHashHalfWordMask())) { return PrimErrLimitExceeded; // <--------------- failure }
What I don't understand, for example, is why "newOop" is checked against "identityHashHalfWordMask()" and not against the segment end ("endSeg"). Here's a list of the current values of the variables upon failure:
objOop sqInt 180812096 segAddr sqInt 494731288 segStart sqInt 461176856 endSeg sqInt 815841432 bodySize usqInt 64 contextSize sqInt 335672448 copy sqInt 494731288 hash sqInt 0 hash1 sqInt 4194302 i sqInt 833574680 iLimiT sqInt 833574688 methodHeader sqInt 1193471 newOop sqInt 4194304 numMediatedSlots sqInt 833574688 numSlots usqInt 14 oop sqInt 142640272
As you can see, "endSeg" would be more than large enough to hold the object. Is it possible that there's an error here?
Cheers, Max
-- _,,,^..^,,,_ best, Eliot
vm-dev@lists.squeakfoundation.org