Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
June 2017
- 532 messages
Re: [Pharo-dev] Calypso feedback
by Denis Kudriashov
2017-06-03 10:54 GMT+02:00 Stephane Ducasse <stepharo.self(a)gmail.com>:
> Hi denis
>
> Now I decided to use Calypso all the time :)
>
Good idea :)
>
> I do not know if this is the latest version but I loaded it today from the
> catalog browser.
>
It is latest stable version. Next one will be ready soon.
>
> - When I do sender/implementors of and I get multiple pane in the message
> browser
> and I want to close one pane using command-W I close the editor but not
> the pane
>
Sadly it is problem of GroupWindow. But it is issue for Pharo 7. Now some
hack will be needed inside Calypso.
June 3, 2017
Re: [Pharo-dev] Calypso feedback
by Denis Kudriashov
Hi Stef.
2017-06-03 13:09 GMT+02:00 Stephane Ducasse <stepharo.self(a)gmail.com>:
> Hi denis
>
> Another little glitch
>
> When I filter the package list
> for example Simple it filters correctly.
> Now if I press on project and packages the filter is not active anymore.
>
It will be fixed when Nautilus-style filter will be done. (filter is shared
between new Nautilus windows)
June 3, 2017
FFI does not work on Linux 64-bit
by Oleksandr Zaytsev
Hello,
Yesterday during the Pharo Sprint I was experiencing many problems with my
64-bit Pharo Image and Pharo Sprint App. For example, whenever I clicked
"Open in FogBugz", "Discuss on Discord", or "Help" in a Sprint App, I got
Error: Could not find accessor for variable named "command"
As suggested on Discord, I tried this
WebBrowser openOn: 'http://pharo.org'
and received the same error
Then, after I executed
xdg-open 'http://pharo.org'
in my Linux terminal, and it worked without an error, *Juraj Kubelka*
assumed that *ffi does not work on Linux 64-bit* and told me that I should
report this issue to *Torsten Bergmann*.
Also, no method comments or class comments were visible in my image. And
when I tried to write and save a comment, it just disappeared. These two
problems may be related.
OS: Ubuntu 16.04 LTS
VM: 201705310241 (http://files.pharo.org/vm/pharo-spur64/)
Image: Pharo64-60498 (http://files.pharo.org/image/60/latest-64.zip)
Oleks
June 3, 2017
Re: [Pharo-dev] Calypso feedback
by Stephane Ducasse
Hi denis
Another little glitch
When I filter the package list
for example Simple it filters correctly.
Now if I press on project and packages the filter is not active anymore.
Stef
On Sat, Jun 3, 2017 at 10:54 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> Hi denis
>
> Now I decided to use Calypso all the time :)
>
> I do not know if this is the latest version but I loaded it today from the
> catalog browser.
>
> - When I do sender/implementors of and I get multiple pane in the message
> browser
> and I want to close one pane using command-W I close the editor but not
> the pane
>
>
> Stef
>
> [image: Inline image 1]
>
June 3, 2017
Re: [Pharo-dev] please test download for Pharo 6.0
by Ben Coman
On Sat, Jun 3, 2017 at 5:10 AM, Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com> wrote:
> This is now fixed, you just have to wait for appveyor to finish its job.
> Guys, I have pushed Win64 VM including the Pharo flavour.
> It works well in Squeak but I'm not a Pharo user (or very casual).
> All I'm asking for weeks or even months is a little feedback...
> So this evening, when I see that the 64 bits image does not even start and
> that I got absolutely no feedback except this late one of Henrik (Thank you
> thank you thank you Henrik), I feel sad.
> Helping Pharo is not very rewarding :(
>
My great thanks Nicolas. With this latest 64-bit progress, I've decided to
retire my 32-bit Linux laptop and try Windows 10 (to play with the Linux
subsystem).
So I'll be in a position to test it out soon.
cheers -ben
>
> 2017-06-02 22:50 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com>:
>
>>
>>
>> 2017-06-02 22:35 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmai
>> l.com>:
>>
>>>
>>>
>>> 2017-06-02 22:21 GMT+02:00 Nicolas Cellier <
>>> nicolas.cellier.aka.nice(a)gmail.com>:
>>>
>>>> Follow up: it's not enough...
>>>>
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> 0x000000000051cfc8 in dir_EntryLookup (pathString=0xce7edb0
>>>> "X:\\Smalltalk\\opensmalltalk-vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm",
>>>> pathLength=71,
>>>> nameString=0xce81868 "PharoV60.sources", nameStringLength=16,
>>>> name=0xfe5aa0 "", nameLength=0xfe5a98, creationDate=0xfe5ba8,
>>>> modificationDate=0xfe5a88,
>>>> isDirectory=0xfe5ba0, sizeIfFile=0xfe5a90, posixPermissions=0x0,
>>>> isSymlink=0x0) at ../../platforms/win32/vm/sqWin32Directory.c:397
>>>> 397 *posixPermissions = 0;
>>>>
>>>> I'll have to understand why those PharoVM last 2 args are zero...
>>>>
>>>
>>> It looks like FilePlugin did not have the -DPharoVM because the
>>> backtrace point at the wrong #ifdef branch:
>>>
>>> (gdb) bt
>>> #0 dir_EntryLookup (pathString=0xc27edb0 "X:\\Smalltalk\\opensmalltalk-
>>> vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm", pathLength=71,
>>> nameString=0xc281868 "PharoV60.sources", nameStringLength=16,
>>> name=0xfe5aa0 "ryEntry", nameLength=0xfe5a98, creationDate=0xfe5ba8,
>>> modificationDate=0xfe5a88, isDirectory=0xfe5ba0,
>>> sizeIfFile=0xfe5a90, posixPermissions=0x0, isSymlink=0x0)
>>> at ../../platforms/win32/vm/sqWin32Directory.c:379
>>> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
>>> ../../src/plugins/FilePlugin/FilePlugin.c:654
>>> #2 0x0000000000442d5e in primitiveExternalCall () at
>>> ../../spur64src/vm/gcc3x-cointerp.c:76521
>>> #3 0x000000000040d8ba in interpret () at ../../spur64src/vm/gcc3x-coint
>>> erp.c:6373
>>> #4 0x0000000000429046 in enterSmalltalkExecutiveImplementation () at
>>> ../../spur64src/vm/gcc3x-cointerp.c:18181
>>> #5 0x00000000004018a8 in interpret () at ../../spur64src/vm/gcc3x-coint
>>> erp.c:2678
>>> #6 0x00000000005279a8 in sqMain (argc=1, argv=0x11850f0) at
>>> ../../platforms/win32/vm/sqWin32Main.c:1572
>>> #7 0x0000000000527e95 in WinMain (hInst=0x400000, hPrevInstance=0x0,
>>> lpCmdLine=0x11f3f32 "", nCmdShow=10) at ../../platforms/win32/vm/sqWin
>>> 32Main.c:1678
>>> #8 0x00000000004013ed in __tmainCRTStartup () at
>>> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:334
>>> #9 0x00000000004014fb in WinMainCRTStartup () at
>>> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:184
>>>
>>> (gdb) up
>>> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
>>> ../../src/plugins/FilePlugin/FilePlugin.c:654
>>> 654 status = dir_EntryLookup(pathNameIndex,
>>> pathNameSize, reqNameIndex, reqNameSize,
>>>
>>> (gdb) list 646,658
>>> 646
>>> 647 # if PharoVM
>>> 648 status = dir_EntryLookup(pathNameIndex,
>>> pathNameSize, reqNameIndex, reqNameSize,
>>>
>>> 649
>>> entryName,
>>> &entryNameSize, &createDate,
>>> 650
>>>
>>> &modifiedDate, &dirFlag, &fileSize,
>>> 651
>>>
>>> &posixPermissions, &symlinkFlag);
>>> 652
>>> 653 # else /* PharoVM */
>>> 654 status = dir_EntryLookup(pathNameIndex,
>>> pathNameSize, reqNameIndex, reqNameSize,
>>> 655
>>> entryName,
>>> &entryNameSize, &createDate,
>>> 656
>>> &modifiedDate,
>>> &dirFlag, &fileSize);
>>> 657
>>> 658 # endif /* PharoVM */
>>>
>>> The backtrace should never be at 654!!!
>>>
>>>
>>>
>>
>> The LOGD shows that $COGDEFS was not used in plugin compilation, so
>> -DPharoVM=1 is missing from the clang command line
>>
>> rm -f builddbg/vm/FilePlugin.ignore
>> make -w BUILD=builddbg \
>> -f /cygdrive/X/Smalltalk/opensmalltalk-vm/build.win64x64/common/Makefile.plugin
>> \
>> CONFIGURATION=debug TOOLPREFIX=x86_64-w64-mingw32- \
>> THIRDPARTYOUTDIR=/cygdrive/X/Smalltalk/opensmalltalk-vm/.thirdparty-cache/windows/x86_64
>> \
>> PLATDIR=../../platforms PLUGINSRCDIR=../../src
>> VMSRCDIR=../../spur64src/vm \
>> LIBNAME=FilePlugin COGDEFS="-DPharoVM=1 -DIMMUTABILITY=1
>> -DCOGMTVM=0 -DDEBUGVM=1" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
>> builddbg/vm/FilePlugin.lib
>> make[2] : on entre dans le répertoire « /cygdrive/X/Smalltalk/opensm
>> alltalk-vm/build.win64x64/pharo.cog.spur »
>> x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/FilePlugin.o -MMD
>> -MP -MF deps/FilePlugin.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll -mno-rtd
>> -mms-bitfields -O0 -fno-omit-frame-pointer -D_MT -fno-builtin-printf
>> -fno-builtin-putchar -fno-builtin-fprintf -Wall -Wno-unused-variable
>> -Wno-unknown-pragmas -Wno-unused-label -Wno-unused-function -I.
>> -I../../spur64src/vm -I../../platforms/win32/vm -I../../platforms/Cross/vm
>> -I../../src/plugins/FilePlugin -I../../platforms/win32/plugins/FilePlugin
>> -I../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501
>> -DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE
>> -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\" -DSQUEAK_BUILTIN_PLUGIN
>> -c ../../src/plugins/FilePlugin/FilePlugin.c -o
>> builddbg/FilePlugin/FilePlugin.o
>> clang-3.9: warning: argument unused during compilation: '-mdll'
>> sed '/^$/d' <deps/FilePlugin.Td | sed '/^.*:$/d' | sed 's/ [^ ]*:/:/' |
>> sed 's/^build[^/]*/$(BUILD)/' > deps/FilePlugin.d; rm deps/FilePlugin.Td;
>> touch -r ../../src/plugins/FilePlugin/FilePlugin.c deps/FilePlugin.d
>> x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/sqWin32FilePrims.o
>> -MMD -MP -MF deps/sqWin32FilePrims.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll
>> -mno-rtd -mms-bitfields -O0 -fno-omit-frame-pointer -D_MT
>> -fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf -Wall
>> -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label
>> -Wno-unused-function -I. -I../../spur64src/vm -I../../platforms/win32/vm
>> -I../../platforms/Cross/vm -I../../src/plugins/FilePlugin
>> -I../../platforms/win32/plugins/FilePlugin -I../../platforms/Cross/plugins/FilePlugin
>> -D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT
>> -DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\"
>> -DSQUEAK_BUILTIN_PLUGIN -c ../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c
>> -o builddbg/FilePlugin/sqWin32FilePrims.o
>>
>> $ grep -r COGDEFS ../common
>> ../common/Makefile: LIBNAME=$(*F) COGDEFS="$(COGDEFS)"
>> XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
>> ../common/Makefile: COGDEFS="$(COGDEFS)" LIBNAME=$(*F)
>> $(OBJDIR)/$(*F).dll
>> ../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=1
>> -DDEBUGVM=$(DEBUGVM)
>> ../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=0
>> -DDEBUGVM=$(DEBUGVM)
>> ../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
>> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
>>
>> COGDEFS is used in DEFS, but DEFS is overriden in
>> ../common/Makefile.plugin
>>
>> $ grep -r '\<DEFS\>' ../common
>> ../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS)
>> $(INCLUDES) $(DEFS) -c $(WIN32DIR)/version.c
>> ../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS)
>> $(INCLUDES) $(DEFS) -c $(WIN32DIR)/version.c
>> ../common/Makefile.plugin:DEFS:= $(WINVER) -DWIN64=1
>> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
>> ../common/Makefile.rules:ALLFLAGS = $(DEPFLAGS) $(CFLAGS) $(INCLUDES)
>> $(DEFS)
>> ../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
>> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
>>
>> After a diff with build.win32x86, it appears that the WIN32 version
>> directly append $(COGDEFS) to the CFLAGS, so I will commit a fix and retry
>> ASAP
>>
>>
>>>> 2017-06-02 17:15 GMT+02:00 Nicolas Cellier <
>>>> nicolas.cellier.aka.nice(a)gmail.com>:
>>>>
>>>>> Hi Henrik,
>>>>> good catch!
>>>>>
>>>>> platforms/Cross/plugins/FilePlugin/FilePlugin.h says:
>>>>>
>>>>> sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char
>>>>> *nameString, sqInt nameStringLength,
>>>>> /* outputs: */
>>>>> char *name, sqInt *nameLength, sqInt *creationDate, sqInt
>>>>> *modificationDate,
>>>>> sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt
>>>>> *posixPermissions, sqInt *isSymlink);
>>>>>
>>>>> platforms/win32/vm/sqWin32Directory.c says
>>>>>
>>>>> int dir_EntryLookup(char *pathString, int pathLength, char*
>>>>> nameString, int nameStringLength,
>>>>> /* outputs: */ char *name, int *nameLength, int *creationDate, int
>>>>> *modificationDate,
>>>>> int *isDirectory, squeakFileOffsetType
>>>>> *sizeIfFile, sqInt *posixPermissions, sqInt *isSymlink)
>>>>>
>>>>>
>>>>> int* and sqInt* are not going to be a good match on 64 bits...
>>>>> But I don't know how the WIN64 Squeak VM could possibly work, because
>>>>> prototypes are equally wrong (just with two parameters less).
>>>>> And the two paramters added by Pharo are correct!!!
>>>>>
>>>>> Maybe there is another bug, I will modify the easy part and commit
>>>>> ASAP.
>>>>>
>>>>> In the long term, we shall include the .h containing declarations into
>>>>> the .c implementing the functions and use more agressive -C99 flags forcing
>>>>> the prototypes to be defined.
>>>>>
>>>>>
>>>>> 2017-06-02 14:48 GMT+02:00 Henrik Sperre Johansen <
>>>>> henrik.s.johansen(a)veloxit.no>:
>>>>>
>>>>>> The Windows 64 Pharo VM crashes when loading images*.
>>>>>> The Windows 64 Squeak VM runs Pharo images just fine, but lacks some
>>>>>> plugins
>>>>>> (FT2 from Pharo build works, and can be copied over, SqueakSSL is
>>>>>> MiA).
>>>>>> Great work!
>>>>>>
>>>>>> Cheers,
>>>>>> Henry
>>>>>>
>>>>>> *Crash occurs when loading sources;
>>>>>> Stack backtrace:
>>>>>> [0000000000495063] dir_EntryLookup + 0x83 in Pharo.exe
>>>>>>
>>>>>> Smalltalk stack dump:
>>>>>> 0xb4f568 I WindowsStore(DiskStore)>basicEntryAt:
>>>>>> 0x9a711c0: a(n)
>>>>>> WindowsStore
>>>>>> 0xb4f5b8 I WindowsStore(DiskStore)>nodeAt
>>>>>> :ifPresent:ifAbsent:
>>>>>> 0x9a711c0: a(n) WindowsStore
>>>>>> 0xb4f610 I WindowsStore(FileSystemStore)>exists:
>>>>>> 0x9a711c0: a(n)
>>>>>> WindowsStore
>>>>>> 0xb4f658 I FileSystem>exists: 0x9a711d8: a(n) FileSystem
>>>>>> 0xb4f6a0 I FileReference>exists 0x9a77400: a(n)
>>>>>> FileReference
>>>>>> 0xb4f6e0 I FileLocator(AbstractFileReference)>exists
>>>>>> 0x9a76678:
>>>>>> a(n) FileLocator
>>>>>> 0xb4f730 M [] in PharoFilesOpener>openSources:forImage:
>>>>>> 0xaca7168:
>>>>>> a(n) PharoFilesOpener
>>>>>>
>>>>>> so I assume it's related to additional functionality in
>>>>>> <primitive: 'primitiveDirectoryEntry' module: 'FilePlugin'> in the
>>>>>> Pharo
>>>>>> build.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context: http://forum.world.st/please-t
>>>>>> est-download-for-Pharo-6-0-tp4948720p4948965.html
>>>>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>>>>> Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
June 3, 2017
Calypso feedback
by Stephane Ducasse
Hi denis
Now I decided to use Calypso all the time :)
I do not know if this is the latest version but I loaded it today from the
catalog browser.
- When I do sender/implementors of and I get multiple pane in the message
browser
and I want to close one pane using command-W I close the editor but not the
pane
Stef
[image: Inline image 1]
June 3, 2017
Re: [Pharo-dev] please test download for Pharo 6.0
by Sean P. DeNigris
EstebanLM wrote
> This is because you need to put the vm in /Applications (because is not
> signed)
That worked. Thanks!
-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/please-test-download-for-Pharo-6-0-tp4948720p4949103.…
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
June 3, 2017
Re: [Pharo-dev] Do we have better collections design library?
by Eliot Miranda
Hi Denis,
On Fri, Jun 2, 2017 at 2:20 AM, Denis Kudriashov <dionisiydk(a)gmail.com>
wrote:
> Hi.
>
> I just found that there is no WeakIdentityValueDictionary. But we have
> WeakValueDictionary, WeakKeyDictionary, WeakIdentityKeyDictionary.
>
> And to implement missing class I need to copy overrides from
> IdentityDictionary. And weak key dictionaries are implemented same way by
> duplicating code.
>
> And generally identity collections are not much different from equal
> collections but they still duplicate a lot of code with little difference:
> #hash or #identityHash, #= or #==.
>
> So I am wondering do we have alternative implementation with proper design?
>
The StrongTalk team reimplemented their Collections hierarchy to have much
better modularity because their VM did the necessary inlining to create the
efficient versions on the fly. This is what Scorch/Sista supports.
Perhaps we should wait until it arrives, perhaps not, but certainly what
you propose is a good idea whose time has almost come.
> There are wishes to replace streams by XSteams. What about collections?
>
> Best regards,
> Denis
>
--
_,,,^..^,,,_
best, Eliot
June 2, 2017
Re: [Pharo-dev] please test download for Pharo 6.0
by Nicolas Cellier
This is now fixed, you just have to wait for appveyor to finish its job.
Guys, I have pushed Win64 VM including the Pharo flavour.
It works well in Squeak but I'm not a Pharo user (or very casual).
All I'm asking for weeks or even months is a little feedback...
So this evening, when I see that the 64 bits image does not even start and
that I got absolutely no feedback except this late one of Henrik (Thank you
thank you thank you Henrik), I feel sad.
Helping Pharo is not very rewarding :(
2017-06-02 22:50 GMT+02:00 Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com>:
>
>
> 2017-06-02 22:35 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com>:
>
>>
>>
>> 2017-06-02 22:21 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmai
>> l.com>:
>>
>>> Follow up: it's not enough...
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0x000000000051cfc8 in dir_EntryLookup (pathString=0xce7edb0
>>> "X:\\Smalltalk\\opensmalltalk-vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm",
>>> pathLength=71,
>>> nameString=0xce81868 "PharoV60.sources", nameStringLength=16,
>>> name=0xfe5aa0 "", nameLength=0xfe5a98, creationDate=0xfe5ba8,
>>> modificationDate=0xfe5a88,
>>> isDirectory=0xfe5ba0, sizeIfFile=0xfe5a90, posixPermissions=0x0,
>>> isSymlink=0x0) at ../../platforms/win32/vm/sqWin32Directory.c:397
>>> 397 *posixPermissions = 0;
>>>
>>> I'll have to understand why those PharoVM last 2 args are zero...
>>>
>>
>> It looks like FilePlugin did not have the -DPharoVM because the backtrace
>> point at the wrong #ifdef branch:
>>
>> (gdb) bt
>> #0 dir_EntryLookup (pathString=0xc27edb0 "X:\\Smalltalk\\opensmalltalk-
>> vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm", pathLength=71,
>> nameString=0xc281868 "PharoV60.sources", nameStringLength=16,
>> name=0xfe5aa0 "ryEntry", nameLength=0xfe5a98, creationDate=0xfe5ba8,
>> modificationDate=0xfe5a88, isDirectory=0xfe5ba0, sizeIfFile=0xfe5a90,
>> posixPermissions=0x0, isSymlink=0x0)
>> at ../../platforms/win32/vm/sqWin32Directory.c:379
>> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
>> ../../src/plugins/FilePlugin/FilePlugin.c:654
>> #2 0x0000000000442d5e in primitiveExternalCall () at
>> ../../spur64src/vm/gcc3x-cointerp.c:76521
>> #3 0x000000000040d8ba in interpret () at ../../spur64src/vm/gcc3x-coint
>> erp.c:6373
>> #4 0x0000000000429046 in enterSmalltalkExecutiveImplementation () at
>> ../../spur64src/vm/gcc3x-cointerp.c:18181
>> #5 0x00000000004018a8 in interpret () at ../../spur64src/vm/gcc3x-coint
>> erp.c:2678
>> #6 0x00000000005279a8 in sqMain (argc=1, argv=0x11850f0) at
>> ../../platforms/win32/vm/sqWin32Main.c:1572
>> #7 0x0000000000527e95 in WinMain (hInst=0x400000, hPrevInstance=0x0,
>> lpCmdLine=0x11f3f32 "", nCmdShow=10) at ../../platforms/win32/vm/sqWin
>> 32Main.c:1678
>> #8 0x00000000004013ed in __tmainCRTStartup () at
>> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:334
>> #9 0x00000000004014fb in WinMainCRTStartup () at
>> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:184
>>
>> (gdb) up
>> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
>> ../../src/plugins/FilePlugin/FilePlugin.c:654
>> 654 status = dir_EntryLookup(pathNameIndex,
>> pathNameSize, reqNameIndex, reqNameSize,
>>
>> (gdb) list 646,658
>> 646
>> 647 # if PharoVM
>> 648 status = dir_EntryLookup(pathNameIndex,
>> pathNameSize, reqNameIndex, reqNameSize,
>>
>> 649
>> entryName,
>> &entryNameSize, &createDate,
>> 650
>>
>> &modifiedDate, &dirFlag, &fileSize,
>> 651
>>
>> &posixPermissions, &symlinkFlag);
>> 652
>> 653 # else /* PharoVM */
>> 654 status = dir_EntryLookup(pathNameIndex,
>> pathNameSize, reqNameIndex, reqNameSize,
>> 655
>> entryName,
>> &entryNameSize, &createDate,
>> 656
>> &modifiedDate,
>> &dirFlag, &fileSize);
>> 657
>> 658 # endif /* PharoVM */
>>
>> The backtrace should never be at 654!!!
>>
>>
>>
>
> The LOGD shows that $COGDEFS was not used in plugin compilation, so
> -DPharoVM=1 is missing from the clang command line
>
> rm -f builddbg/vm/FilePlugin.ignore
> make -w BUILD=builddbg \
> -f /cygdrive/X/Smalltalk/opensmalltalk-vm/build.
> win64x64/common/Makefile.plugin \
> CONFIGURATION=debug TOOLPREFIX=x86_64-w64-mingw32- \
> THIRDPARTYOUTDIR=/cygdrive/X/Smalltalk/opensmalltalk-vm/.
> thirdparty-cache/windows/x86_64 \
> PLATDIR=../../platforms PLUGINSRCDIR=../../src
> VMSRCDIR=../../spur64src/vm \
> LIBNAME=FilePlugin COGDEFS="-DPharoVM=1 -DIMMUTABILITY=1
> -DCOGMTVM=0 -DDEBUGVM=1" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
> builddbg/vm/FilePlugin.lib
> make[2] : on entre dans le répertoire « /cygdrive/X/Smalltalk/
> opensmalltalk-vm/build.win64x64/pharo.cog.spur »
> x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/FilePlugin.o -MMD
> -MP -MF deps/FilePlugin.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll -mno-rtd
> -mms-bitfields -O0 -fno-omit-frame-pointer -D_MT -fno-builtin-printf
> -fno-builtin-putchar -fno-builtin-fprintf -Wall -Wno-unused-variable
> -Wno-unknown-pragmas -Wno-unused-label -Wno-unused-function -I.
> -I../../spur64src/vm -I../../platforms/win32/vm -I../../platforms/Cross/vm
> -I../../src/plugins/FilePlugin -I../../platforms/win32/plugins/FilePlugin
> -I../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501
> -DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE
> -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\" -DSQUEAK_BUILTIN_PLUGIN
> -c ../../src/plugins/FilePlugin/FilePlugin.c -o builddbg/FilePlugin/
> FilePlugin.o
> clang-3.9: warning: argument unused during compilation: '-mdll'
> sed '/^$/d' <deps/FilePlugin.Td | sed '/^.*:$/d' | sed 's/ [^ ]*:/:/' |
> sed 's/^build[^/]*/$(BUILD)/' > deps/FilePlugin.d; rm deps/FilePlugin.Td;
> touch -r ../../src/plugins/FilePlugin/FilePlugin.c deps/FilePlugin.d
> x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/sqWin32FilePrims.o
> -MMD -MP -MF deps/sqWin32FilePrims.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll
> -mno-rtd -mms-bitfields -O0 -fno-omit-frame-pointer -D_MT
> -fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf -Wall
> -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label
> -Wno-unused-function -I. -I../../spur64src/vm -I../../platforms/win32/vm
> -I../../platforms/Cross/vm -I../../src/plugins/FilePlugin
> -I../../platforms/win32/plugins/FilePlugin -I../../platforms/Cross/plugins/FilePlugin
> -D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT
> -DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\"
> -DSQUEAK_BUILTIN_PLUGIN -c ../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c
> -o builddbg/FilePlugin/sqWin32FilePrims.o
>
> $ grep -r COGDEFS ../common
> ../common/Makefile: LIBNAME=$(*F) COGDEFS="$(COGDEFS)"
> XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
> ../common/Makefile: COGDEFS="$(COGDEFS)" LIBNAME=$(*F)
> $(OBJDIR)/$(*F).dll
> ../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=1
> -DDEBUGVM=$(DEBUGVM)
> ../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=0
> -DDEBUGVM=$(DEBUGVM)
> ../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
>
> COGDEFS is used in DEFS, but DEFS is overriden in ../common/Makefile.plugin
>
> $ grep -r '\<DEFS\>' ../common
> ../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES)
> $(DEFS) -c $(WIN32DIR)/version.c
> ../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES)
> $(DEFS) -c $(WIN32DIR)/version.c
> ../common/Makefile.plugin:DEFS:= $(WINVER) -DWIN64=1
> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
> ../common/Makefile.rules:ALLFLAGS = $(DEPFLAGS) $(CFLAGS) $(INCLUDES)
> $(DEFS)
> ../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
> -DWIN32_FILE_SUPPORT -DNO_ISNAN \
>
> After a diff with build.win32x86, it appears that the WIN32 version
> directly append $(COGDEFS) to the CFLAGS, so I will commit a fix and retry
> ASAP
>
>
>>> 2017-06-02 17:15 GMT+02:00 Nicolas Cellier <
>>> nicolas.cellier.aka.nice(a)gmail.com>:
>>>
>>>> Hi Henrik,
>>>> good catch!
>>>>
>>>> platforms/Cross/plugins/FilePlugin/FilePlugin.h says:
>>>>
>>>> sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char
>>>> *nameString, sqInt nameStringLength,
>>>> /* outputs: */
>>>> char *name, sqInt *nameLength, sqInt *creationDate, sqInt
>>>> *modificationDate,
>>>> sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt
>>>> *posixPermissions, sqInt *isSymlink);
>>>>
>>>> platforms/win32/vm/sqWin32Directory.c says
>>>>
>>>> int dir_EntryLookup(char *pathString, int pathLength, char* nameString,
>>>> int nameStringLength,
>>>> /* outputs: */ char *name, int *nameLength, int *creationDate, int
>>>> *modificationDate,
>>>> int *isDirectory, squeakFileOffsetType *sizeIfFile,
>>>> sqInt *posixPermissions, sqInt *isSymlink)
>>>>
>>>>
>>>> int* and sqInt* are not going to be a good match on 64 bits...
>>>> But I don't know how the WIN64 Squeak VM could possibly work, because
>>>> prototypes are equally wrong (just with two parameters less).
>>>> And the two paramters added by Pharo are correct!!!
>>>>
>>>> Maybe there is another bug, I will modify the easy part and commit ASAP.
>>>>
>>>> In the long term, we shall include the .h containing declarations into
>>>> the .c implementing the functions and use more agressive -C99 flags forcing
>>>> the prototypes to be defined.
>>>>
>>>>
>>>> 2017-06-02 14:48 GMT+02:00 Henrik Sperre Johansen <
>>>> henrik.s.johansen(a)veloxit.no>:
>>>>
>>>>> The Windows 64 Pharo VM crashes when loading images*.
>>>>> The Windows 64 Squeak VM runs Pharo images just fine, but lacks some
>>>>> plugins
>>>>> (FT2 from Pharo build works, and can be copied over, SqueakSSL is MiA).
>>>>> Great work!
>>>>>
>>>>> Cheers,
>>>>> Henry
>>>>>
>>>>> *Crash occurs when loading sources;
>>>>> Stack backtrace:
>>>>> [0000000000495063] dir_EntryLookup + 0x83 in Pharo.exe
>>>>>
>>>>> Smalltalk stack dump:
>>>>> 0xb4f568 I WindowsStore(DiskStore)>basicEntryAt: 0x9a711c0:
>>>>> a(n)
>>>>> WindowsStore
>>>>> 0xb4f5b8 I WindowsStore(DiskStore)>nodeAt
>>>>> :ifPresent:ifAbsent:
>>>>> 0x9a711c0: a(n) WindowsStore
>>>>> 0xb4f610 I WindowsStore(FileSystemStore)>exists: 0x9a711c0:
>>>>> a(n)
>>>>> WindowsStore
>>>>> 0xb4f658 I FileSystem>exists: 0x9a711d8: a(n) FileSystem
>>>>> 0xb4f6a0 I FileReference>exists 0x9a77400: a(n) FileReference
>>>>> 0xb4f6e0 I FileLocator(AbstractFileReference)>exists
>>>>> 0x9a76678:
>>>>> a(n) FileLocator
>>>>> 0xb4f730 M [] in PharoFilesOpener>openSources:forImage:
>>>>> 0xaca7168:
>>>>> a(n) PharoFilesOpener
>>>>>
>>>>> so I assume it's related to additional functionality in
>>>>> <primitive: 'primitiveDirectoryEntry' module: 'FilePlugin'> in the
>>>>> Pharo
>>>>> build.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context: http://forum.world.st/please-t
>>>>> est-download-for-Pharo-6-0-tp4948720p4948965.html
>>>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>>>> Nabble.com.
>>>>>
>>>>>
>>>>
>>>
>>
>
June 2, 2017
Re: [Pharo-dev] please test download for Pharo 6.0
by Nicolas Cellier
2017-06-02 22:35 GMT+02:00 Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com>:
>
>
> 2017-06-02 22:21 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com>:
>
>> Follow up: it's not enough...
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x000000000051cfc8 in dir_EntryLookup (pathString=0xce7edb0
>> "X:\\Smalltalk\\opensmalltalk-vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm",
>> pathLength=71,
>> nameString=0xce81868 "PharoV60.sources", nameStringLength=16,
>> name=0xfe5aa0 "", nameLength=0xfe5a98, creationDate=0xfe5ba8,
>> modificationDate=0xfe5a88,
>> isDirectory=0xfe5ba0, sizeIfFile=0xfe5a90, posixPermissions=0x0,
>> isSymlink=0x0) at ../../platforms/win32/vm/sqWin32Directory.c:397
>> 397 *posixPermissions = 0;
>>
>> I'll have to understand why those PharoVM last 2 args are zero...
>>
>
> It looks like FilePlugin did not have the -DPharoVM because the backtrace
> point at the wrong #ifdef branch:
>
> (gdb) bt
> #0 dir_EntryLookup (pathString=0xc27edb0 "X:\\Smalltalk\\opensmalltalk-
> vm\\build.win64x64\\pharo.cog.spur\\builddbg\\vm", pathLength=71,
> nameString=0xc281868 "PharoV60.sources", nameStringLength=16,
> name=0xfe5aa0 "ryEntry", nameLength=0xfe5a98, creationDate=0xfe5ba8,
> modificationDate=0xfe5a88, isDirectory=0xfe5ba0, sizeIfFile=0xfe5a90,
> posixPermissions=0x0, isSymlink=0x0)
> at ../../platforms/win32/vm/sqWin32Directory.c:379
> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
> ../../src/plugins/FilePlugin/FilePlugin.c:654
> #2 0x0000000000442d5e in primitiveExternalCall () at
> ../../spur64src/vm/gcc3x-cointerp.c:76521
> #3 0x000000000040d8ba in interpret () at ../../spur64src/vm/gcc3x-
> cointerp.c:6373
> #4 0x0000000000429046 in enterSmalltalkExecutiveImplementation () at
> ../../spur64src/vm/gcc3x-cointerp.c:18181
> #5 0x00000000004018a8 in interpret () at ../../spur64src/vm/gcc3x-
> cointerp.c:2678
> #6 0x00000000005279a8 in sqMain (argc=1, argv=0x11850f0) at
> ../../platforms/win32/vm/sqWin32Main.c:1572
> #7 0x0000000000527e95 in WinMain (hInst=0x400000, hPrevInstance=0x0,
> lpCmdLine=0x11f3f32 "", nCmdShow=10) at ../../platforms/win32/vm/
> sqWin32Main.c:1678
> #8 0x00000000004013ed in __tmainCRTStartup () at
> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:334
> #9 0x00000000004014fb in WinMainCRTStartup () at
> /usr/src/debug/mingw64-x86_64-runtime-5.0.2-1/crt/crtexe.c:184
>
> (gdb) up
> #1 0x00000000005835a6 in primitiveDirectoryEntry () at
> ../../src/plugins/FilePlugin/FilePlugin.c:654
> 654 status = dir_EntryLookup(pathNameIndex,
> pathNameSize, reqNameIndex, reqNameSize,
>
> (gdb) list 646,658
> 646
> 647 # if PharoVM
> 648 status = dir_EntryLookup(pathNameIndex,
> pathNameSize, reqNameIndex, reqNameSize,
>
> 649
> entryName,
> &entryNameSize, &createDate,
> 650
>
> &modifiedDate, &dirFlag, &fileSize,
> 651
>
> &posixPermissions, &symlinkFlag);
> 652
> 653 # else /* PharoVM */
> 654 status = dir_EntryLookup(pathNameIndex,
> pathNameSize, reqNameIndex, reqNameSize,
> 655
> entryName,
> &entryNameSize, &createDate,
> 656
> &modifiedDate,
> &dirFlag, &fileSize);
> 657
> 658 # endif /* PharoVM */
>
> The backtrace should never be at 654!!!
>
>
>
The LOGD shows that $COGDEFS was not used in plugin compilation, so
-DPharoVM=1 is missing from the clang command line
rm -f builddbg/vm/FilePlugin.ignore
make -w BUILD=builddbg \
-f
/cygdrive/X/Smalltalk/opensmalltalk-vm/build.win64x64/common/Makefile.plugin
\
CONFIGURATION=debug TOOLPREFIX=x86_64-w64-mingw32- \
THIRDPARTYOUTDIR=/cygdrive/X/Smalltalk/opensmalltalk-vm/.thirdparty-cache/windows/x86_64
\
PLATDIR=../../platforms PLUGINSRCDIR=../../src
VMSRCDIR=../../spur64src/vm \
LIBNAME=FilePlugin COGDEFS="-DPharoVM=1 -DIMMUTABILITY=1
-DCOGMTVM=0 -DDEBUGVM=1" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
builddbg/vm/FilePlugin.lib
make[2] : on entre dans le répertoire
« /cygdrive/X/Smalltalk/opensmalltalk-vm/build.win64x64/pharo.cog.spur »
x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/FilePlugin.o -MMD -MP
-MF deps/FilePlugin.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll -mno-rtd
-mms-bitfields -O0 -fno-omit-frame-pointer -D_MT -fno-builtin-printf
-fno-builtin-putchar -fno-builtin-fprintf -Wall -Wno-unused-variable
-Wno-unknown-pragmas -Wno-unused-label -Wno-unused-function -I.
-I../../spur64src/vm -I../../platforms/win32/vm -I../../platforms/Cross/vm
-I../../src/plugins/FilePlugin -I../../platforms/win32/plugins/FilePlugin
-I../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501
-DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE
-DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\" -DSQUEAK_BUILTIN_PLUGIN
-c ../../src/plugins/FilePlugin/FilePlugin.c -o
builddbg/FilePlugin/FilePlugin.o
clang-3.9: warning: argument unused during compilation: '-mdll'
sed '/^$/d' <deps/FilePlugin.Td | sed '/^.*:$/d' | sed 's/ [^ ]*:/:/' | sed
's/^build[^/]*/$(BUILD)/' > deps/FilePlugin.d; rm deps/FilePlugin.Td; touch
-r ../../src/plugins/FilePlugin/FilePlugin.c deps/FilePlugin.d
x86_64-w64-mingw32-clang -x c -MT builddbg/FilePlugin/sqWin32FilePrims.o
-MMD -MP -MF deps/sqWin32FilePrims.Td -fdeclspec -msse2 -ggdb2 -m64 -mdll
-mno-rtd -mms-bitfields -O0 -fno-omit-frame-pointer -D_MT
-fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf -Wall
-Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label
-Wno-unused-function -I. -I../../spur64src/vm -I../../platforms/win32/vm
-I../../platforms/Cross/vm -I../../src/plugins/FilePlugin
-I../../platforms/win32/plugins/FilePlugin
-I../../platforms/Cross/plugins/FilePlugin -D_WIN32_WINNT=0x0501
-DWINVER=0x0501 -DWIN64=1 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE
-DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=\"\" -DSQUEAK_BUILTIN_PLUGIN
-c ../../platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c -o
builddbg/FilePlugin/sqWin32FilePrims.o
$ grep -r COGDEFS ../common
../common/Makefile: LIBNAME=$(*F) COGDEFS="$(COGDEFS)"
XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
../common/Makefile: COGDEFS="$(COGDEFS)" LIBNAME=$(*F)
$(OBJDIR)/$(*F).dll
../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=1
-DDEBUGVM=$(DEBUGVM)
../common/Makefile.tools:COGDEFS:= $(COGDEFS) -DCOGMTVM=0
-DDEBUGVM=$(DEBUGVM)
../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
-DWIN32_FILE_SUPPORT -DNO_ISNAN \
COGDEFS is used in DEFS, but DEFS is overriden in ../common/Makefile.plugin
$ grep -r '\<DEFS\>' ../common
../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES)
$(DEFS) -c $(WIN32DIR)/version.c
../common/Makefile: $(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES)
$(DEFS) -c $(WIN32DIR)/version.c
../common/Makefile.plugin:DEFS:= $(WINVER) -DWIN64=1
-DWIN32_FILE_SUPPORT -DNO_ISNAN \
../common/Makefile.rules:ALLFLAGS = $(DEPFLAGS) $(CFLAGS) $(INCLUDES)
$(DEFS)
../common/Makefile.tools:DEFS:= $(COGDEFS) $(WINVER) -DWIN64=1
-DWIN32_FILE_SUPPORT -DNO_ISNAN \
After a diff with build.win32x86, it appears that the WIN32 version
directly append $(COGDEFS) to the CFLAGS, so I will commit a fix and retry
ASAP
>> 2017-06-02 17:15 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmai
>> l.com>:
>>
>>> Hi Henrik,
>>> good catch!
>>>
>>> platforms/Cross/plugins/FilePlugin/FilePlugin.h says:
>>>
>>> sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char
>>> *nameString, sqInt nameStringLength,
>>> /* outputs: */
>>> char *name, sqInt *nameLength, sqInt *creationDate, sqInt
>>> *modificationDate,
>>> sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt
>>> *posixPermissions, sqInt *isSymlink);
>>>
>>> platforms/win32/vm/sqWin32Directory.c says
>>>
>>> int dir_EntryLookup(char *pathString, int pathLength, char* nameString,
>>> int nameStringLength,
>>> /* outputs: */ char *name, int *nameLength, int *creationDate, int
>>> *modificationDate,
>>> int *isDirectory, squeakFileOffsetType *sizeIfFile,
>>> sqInt *posixPermissions, sqInt *isSymlink)
>>>
>>>
>>> int* and sqInt* are not going to be a good match on 64 bits...
>>> But I don't know how the WIN64 Squeak VM could possibly work, because
>>> prototypes are equally wrong (just with two parameters less).
>>> And the two paramters added by Pharo are correct!!!
>>>
>>> Maybe there is another bug, I will modify the easy part and commit ASAP.
>>>
>>> In the long term, we shall include the .h containing declarations into
>>> the .c implementing the functions and use more agressive -C99 flags forcing
>>> the prototypes to be defined.
>>>
>>>
>>> 2017-06-02 14:48 GMT+02:00 Henrik Sperre Johansen <
>>> henrik.s.johansen(a)veloxit.no>:
>>>
>>>> The Windows 64 Pharo VM crashes when loading images*.
>>>> The Windows 64 Squeak VM runs Pharo images just fine, but lacks some
>>>> plugins
>>>> (FT2 from Pharo build works, and can be copied over, SqueakSSL is MiA).
>>>> Great work!
>>>>
>>>> Cheers,
>>>> Henry
>>>>
>>>> *Crash occurs when loading sources;
>>>> Stack backtrace:
>>>> [0000000000495063] dir_EntryLookup + 0x83 in Pharo.exe
>>>>
>>>> Smalltalk stack dump:
>>>> 0xb4f568 I WindowsStore(DiskStore)>basicEntryAt: 0x9a711c0:
>>>> a(n)
>>>> WindowsStore
>>>> 0xb4f5b8 I WindowsStore(DiskStore)>nodeAt:ifPresent:ifAbsent:
>>>> 0x9a711c0: a(n) WindowsStore
>>>> 0xb4f610 I WindowsStore(FileSystemStore)>exists: 0x9a711c0:
>>>> a(n)
>>>> WindowsStore
>>>> 0xb4f658 I FileSystem>exists: 0x9a711d8: a(n) FileSystem
>>>> 0xb4f6a0 I FileReference>exists 0x9a77400: a(n) FileReference
>>>> 0xb4f6e0 I FileLocator(AbstractFileReference)>exists
>>>> 0x9a76678:
>>>> a(n) FileLocator
>>>> 0xb4f730 M [] in PharoFilesOpener>openSources:forImage:
>>>> 0xaca7168:
>>>> a(n) PharoFilesOpener
>>>>
>>>> so I assume it's related to additional functionality in
>>>> <primitive: 'primitiveDirectoryEntry' module: 'FilePlugin'> in the Pharo
>>>> build.
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context: http://forum.world.st/please-t
>>>> est-download-for-Pharo-6-0-tp4948720p4948965.html
>>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>>> Nabble.com.
>>>>
>>>>
>>>
>>
>
June 2, 2017