1. Phix 1.0.5 uploaded
- Posted by petelomax 3 months ago
- 995 views
Added a c_name() function to get the name of whatever c_proc/func() is calling. Made the legacy get() and value() cope with backtick strings and (eg) 100'd'. get_field_details(id,"") now returns a list of the field names in a C struct. demo/xpGUI/gButton.exw: aside: this code will hopefully be gone by 2024 (tee hee) changed to: aside: this code will hopefully be gone by 2025 Bugfix: couple of sprint() in pDiagN.e still passing maxlen to asChar. Added %r and %R to printf()/scanf() to print/parse roman numerals, why not. 64-bit Linux executable now built properly, so eg PI is much more accurate. Bugfix: psym.e/hideNested() was not setting [S_Nlink] to -2, which meant nested functions never got a proper name and diags were garbage. added builtins/closures.e, a new autoinclude that implements define_lambda(), set_lambda(), and call_lambda(), see docs. deep_copy() now throws an error if passed anything with an active delete_routine(), since cloning such is an almost sure-fire way to be left with a reference to reclaimed memory or a reclaimed slot in some table or other. Took the opportunity to remove the depth and bIfNeeded experimentals. Replaced several offending deep_copy() in bigatom.e wth better code. still_has_delete_routine() now ignores the dummy 1 planted by pEmit2.e Bugfix: delete_routine(<int>) had never worked, typically returning #40000000, ie %opDelRtn did raw ref from [res] rather than the contents of [arg]. Enhancement: [s]printf(%c) now outputs the integers #80..#10FFFF as UTF-8, previously it was and_bits(ch,#FF) which was less than helpful. No improvement to the Windows console, though docs now say why. Added %O as %o with leading "0o", to match Go, as I was there. Meh: Windows consoles now get the chcp 65001 for marginally better unicode display - but be warned it is far from being a staggering improvement. (unicode display still works 1,000,000* better on Linux & in a browser) Bugfix: reverted reverse() to a single-parameter function. from_to has gone and there are no equivalents for Euphoria's pFrom and (0-based) pTo: replace "s = reverse(s,{i,j})" with "s[i..j] = reverse(s[i..j])". (my attempts to avoid a pointless deep_copy had left 0s everywhere) Bugfix: adjust_timedate() now accepts and normalises nonsensical months such as the 13th or -3rd month, which vastly simplifies many (sane) uses. Bugfix: ppf() completely ignored/overrid a previous ppOpt({pp_Nest,10}). It still otherwise pretends, by default, there was a {pp_Nest,-1}. Bugfix: is_integer() and to_integer() treating ':' as '3'. Bugfix (partial) 29/4/24: nested routines were messing something up royally (ie not resetting something in the main parser) unless declared at the very start of their containing routine, so as a quick fix I simply made that mandatory (see nestedok in pmain.e). I may need to return to that, or I may just leave it like that forever. Note added to docs. It is also fairly likely to be trivial to remove that restriction in 2.0+. valid_index() now a standard builtin, as per Euphoria except that it permits negative indices and prohibits fractional indices. Also replaced the "type check failure, ???(symtab[1586][S_name]=0) is 1.3333333333" error with "type check failure, subscript is 1.3333333333", admittedly by assuming anything triggering that abomination must be an anonymous idx expression. Added a note re fractional idx becoming prohibited in 2.x. Bugfix: adjust_timedate() now copes properly with timedates with a length < 7. In particular, if you don't provide milliseconds(/day of week), you don't get an error and you don't get that field or owt later back. Made broadcast a system-wide WM_SETTINGCHANGE message a separate entry on the dropdown in pdemo.exw, to force a reload of the updated path, etc. Suppressed the "function does not return a value" error immediately after an abort(), and made crash() equivalent in that respect to abort(). [rather helpful when seting up the empty templates for exercism] Bugfix: (major) assert(fn(),a&b&c) failed while assert(fn(),a&b) worked ok. 4/5/24 opConcat was invoking saveFunctionResultVars(opsidx,INTSTOO) whereas opConcatN was calling saveFunctionResultVars(opsidx,NOTINTS), which meant that assert ended up with some garbage eax from opConcatN... They both now use INTSTOO. Trivial fix, once spotted, but that bug has been there since the year dot & could manifest itself *anywhere*. Enhancement: added an optional bRaw parameter to command_line(), in this specific case so that test_summary() could suppress any desire to pause when run under "-batch". Erm, make that "-nopause", which in fact itself does almost nothing, but can now be checked for. Enh: added an extra "nowait" bit setting (#10) to system_exec() to forego the 0.4s #08 gets. NB very limited testing, especially since in the end I went the other way, and decided to /wait/ for a result... Added optional "specifically" parameter to still_has_delete_routine() Relaxed plausibility tests for exercism: should a function (in particular) be just crash("please implement xxx") then the return type will be 0. Checking such a 0 for argtype plausibility now just lets it pass. (By "it" there, I mean the compiler's main front-end parser.) Enh: permit s.field[idx] = expr in structs/classes. Needed store_field_element() to be added to structs.e, like store_field() but with an index parameter. Note that having a setter method on a private field effectively prohibits this, ie it forces updates to be all-or-nothing. NB single idx only. Enhancement: added new_dicts(n) and allowed destroy_dict() to accept a sequence, specifically here to lessen the locking needed when working with threads. Enh: extract() can now be forced to return a dword-sequence by specifying (eg) 2 in the invert parameter (but must be even to avoid inversion). Bugfix: wrong era on e56rocow from pReps.e resulting in a line number of -1. TIP: set with debug/withjs=1 in pHeap.e to debug/OllyDbg a -c'd executable. Minor: vslice() now returns "" or {} for those empty sources, ie string vs sequence. Whole bunch of piecemeal changes also made to builtins\unit_tests.e for exercism. (there being absolutely no point creating an exercism track pre-1.0.5)
Usual place: http://phix.x10.mx/download.php (1.0.4 notes: https://openeuphoria.org/forum/138101.wc )
2. Re: Phix 1.0.5 uploaded
- Posted by andreasWagner 3 months ago
- 919 views
Hallo,
Thank you for your continuous work on phix.
For your information: Just after downloading Phix1.0.5, the zip files. Something strange happened. Microsoft defender has all 32bit copies of phix.exe (i.e. p.exe, pw.exe and in my case pw32.exe). Moved to quarantine as a potential threat. The 64bit versions are not affected. The versions on my computer are Phix 1.0.3, 1.04, 1.05. All exe files (except those of Phix1.0.5) were created here on the computer.
I copied the original .exe's from the zip files back. Then I was able to ignore the warnings for 1.0.3 and 1.0.4 and then to rebuild both 32bit and 64bit and use them without warnings from Microsoft Defender.
For 1.0.5 32bit exe now work but i can't build the 64bit exe. Defender stops the process and put pnew2.exe in quarantine. pnew.exe (64bit) seems to work i can ignore the warning. But not pnew2.exe(64bit).
I have reported this to Microsoft as a false positive. https://www.microsoft.com/en-us/wdsi/filesubmission/ Process is still pending.
Another Day. Phix1.0.5 is completely back in Quarantine and no way to ignore it. Virustotal gives a 10/73 for pw.exe from 1.0.5 ec3a3e7ef059b25b470d3fb621219780e428859aff5ddd97b0b772a8cf68358a
Warnings for 1.0.3 and 1.0.4 are also back. But i can ignore them.But i stopped ignoring them. So at least for me Phix is unusable at the moment.
Andreas
Trojan:Win32/Wacatac.B!ml
Gave it another try today. Still nothing really changed. I am sure that everything is false positive. Hopefully it will work again at some point.
(the text probably seems a bit confusing. unfortunately i couldn't post anything in the forum for a few days. and then i kept expanding the text and copying it together.)
3. Re: Phix 1.0.5 uploaded
- Posted by petelomax 3 months ago
- 895 views
Oh dear, trouble't mill.
I've been suffering a few BSOD of the DPC WATCHDOG VIOLATON variety, which I'd put down to trying to install Docker,
but uninstalling that didn't help so I cannot rule out having picked up something nasty here. One thing I did do is to
intall some Windows 10 update preview, maybe that's why (touch wood) Windows Defender isn't yet giving me any jip.
Much like you, all I can really do is hope enough BSOD info is getting to Microsoft and they roll out a magic fix, soon.
However, there's also trouble at VirusTotal itself:
I uploaded my pw.exe and just like you said, not happy (and apparently 21/95 didn't run).
I re-scanned one of Saturday's submissions and that jumped from 1/95 to 2/95 here.
So I uploaded my pw.exe in a zip file, and that locked on 4/67 (so 28/95 didn't run)...
So I re-uploaded my local copy of Saturday's submision, same SHA-256 so it cannot be "more infected", and that locked on 6/66... (""29/95) here
Without any doubt, there must have been at least two binary identical pw.exe's in that mix. So there's clearly something amiss their end.
I'll keep my eyes peeled.
4. Re: Phix 1.0.5 uploaded
- Posted by RobertS 3 months ago
- 882 views
Thank you from me, too! On my Win 10 machine (no additional security software installed) I didn't have a problem, using phix.1.0.5.setup.exe - Windows asked me if I really wanted to install such a potentially dangerous software, but when I said yes, I could install the 32 bit version, could build the 64 bit version, and can still use it, without any further troubles, warnings, error messages, or quarantaining.
One unrelated little thing I wanted to mention is that on the "Installation" page - phix.x10.mx/docs/html/installation.htm - you say "On a fresh (win7) machine I normally ..." and "Phix hybrid interpreter/compiler. Version 0.6.4 Copyright Pete Lomax 2006..2014" - this may irritate potential users who are new to Phix, but of course it's not much of an issue.
Best wishes, Robert
5. Re: Phix 1.0.5 uploaded
- Posted by petelomax 3 months ago
- 812 views
One unrelated little thing
Thanks, updated ready for the next release.
Fingers crossed and touch wood, it seems my BSOD woes were caused by a dying USB port, now it's fully died and I've plugged my keyboard into a different port it seems instantly much happier.
6. Re: Phix 1.0.5 uploaded
- Posted by petelomax 2 months ago
- 758 views
Update/Alarm/Query:
I opened GitHub Desktop yesterday and was rather alarmed to see 572 files had changed since 1.0.5 was shipped two weeks ago.
Most of them were exe/dll, which immediately triggered the thought "Oh dear, something has run round infecting them".... but:
a) that's not the behaviour of a "stealth" virus or something that 90%+ of antivirus checkers would miss,
b) on closer inspection they were never being stored in the repository... I think, and which makes some sense.
There was a new version of GitHub Desktop on the 5th that has already downloaded itself here, and has to be a prime suspect.
Does anyone have a local copy of the Phix repository they cloned, ideally 1..5 years ago? Linux perhaps slightly better than Windows.
If so, a) does it have any exe/dll files?, and b) have I mangled the .gitignore file (esp first 50 lines) somehow?
Windows Defender is still giving everything the green light here, not a squeak, and everything else seems fine.
7. Re: Phix 1.0.5 uploaded
- Posted by mitgedanken 2 months ago
- 746 views
I found SHA.DLL in \demo\rosetta.
Apart from that neither .exe nor .dll.
8. Re: Phix 1.0.5 uploaded
- Posted by petelomax 2 months ago
- 687 views
I found SHA.DLL in \demo\rosetta.
Apart from that neither .exe nor .dll.
Thanks, so it was a GitHub Desktop Version 3.4.1 change. I've just pushed 130+ binaries then, since that's what they apparently want, and maybe they'll scan them too...
9. Re: Phix 1.0.5 uploaded
- Posted by andreasWagner 1 month ago
- 495 views
Hallo,
Thank you for your continuous work on phix.
For your information: Just after downloading Phix1.0.5, the zip files. Something strange happened. Microsoft defender has all 32bit copies of phix.exe (i.e. p.exe, pw.exe and in my case pw32.exe). Moved to quarantine as a potential threat. The 64bit versions are not affected. The versions on my computer are Phix 1.0.3, 1.04, 1.05. All exe files (except those of Phix1.0.5) were created here on the computer.
I copied the original .exe's from the zip files back. Then I was able to ignore the warnings for 1.0.3 and 1.0.4 and then to rebuild both 32bit and 64bit and use them without warnings from Microsoft Defender.
For 1.0.5 32bit exe now work but i can't build the 64bit exe. Defender stops the process and put pnew2.exe in quarantine. pnew.exe (64bit) seems to work i can ignore the warning. But not pnew2.exe(64bit).
I have reported this to Microsoft as a false positive. https://www.microsoft.com/en-us/wdsi/filesubmission/ Process is still pending.
Another Day. Phix1.0.5 is completely back in Quarantine and no way to ignore it. Virustotal gives a 10/73 for pw.exe from 1.0.5 ec3a3e7ef059b25b470d3fb621219780e428859aff5ddd97b0b772a8cf68358a
Warnings for 1.0.3 and 1.0.4 are also back. But i can ignore them.But i stopped ignoring them. So at least for me Phix is unusable at the moment.
Andreas
Trojan:Win32/Wacatac.B!ml
Gave it another try today. Still nothing really changed. I am sure that everything is false positive. Hopefully it will work again at some point.
(the text probably seems a bit confusing. unfortunately i couldn't post anything in the forum for a few days. and then i kept expanding the text and copying it together.)
Just for information: okay, I'm on vacation now. But I would like to inform you that all virus messages have disappeared for about a week now. After I had tested Phix 1.0.5 on my LapTop with Windows 11. I installed Phix 1.0.5 on my 'normal' desktop with Windows 10. What can I say? Everything is okay no virus messages! I did not get any feedback from Microsoft because of false detection. Furthermore I bought a ssd at aliexpress 5.50euro 120Gbytes . the thing works now with slackware 15 (multilib eg. 32 and 64bit) in my standard desktop. also with phix unfortunately without iup but with wine. Edita also works
Andreas
10. Re: Phix 1.0.5 uploaded
- Posted by petelomax 1 month ago
- 462 views
all virus messages have disappeared for about a week now.
Good, thanks for letting us know.
Pretty good bargain for an SSD, me just pur-chased a pro-per Crucial 1TB jobbie for 60UKP, tho 500MB for 50 wd've been more than plenty.