1. Phix 1.0.5 uploaded
- Posted by petelomax in June
- 1423 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 in June
- 1362 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 in June
- 1320 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 in June
- 1305 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 in June
- 1241 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 in June
- 1191 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 in June
- 1176 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 in June
- 1125 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 in July
- 940 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 in August
- 898 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.
11. Re: Phix 1.0.5 uploaded
- Posted by andreasWagner 3 weeks ago
- 317 views
Hallo,
somehow phix 1.0.5 does not like me Now that the microsoft defender no longer complains about phix1.0.5. I wanted to finally use 1.0.5 as my default phix.
In the course of working on my ardulink project I had ported tinewg to phix and also at least for the basic functions to 64bit.
and now I also wanted to bring a few old euwingui programs into the new 64bit phix world.
Everything worked quite well with phix 1.0.4.(32 and 64bit)
Unfortunately it no longer works with phix 1.0.5 (64bit).
Everything is ok with 32bit and Phix 1.0.5.
But every Program that uses the new tinewg (now tinlib.ew) crashes with phix 1.0.5 64bit
D:\devpool\Phixsetup1.0.5\Phix\builtins\VM\pcfunc.e:1305 assertion failure --> see D:\devpool\projects\demo\jsudoku\ex.err Press Enter...https://github.com/andizk4kx/jsudoku
and I really don't know what the error message is supposed to tell me.
it is not unlikely that the error is in my program. but i don't know where to start looking.
thank you
Andreas
12. Re: Phix 1.0.5 uploaded
- Posted by petelomax 3 weeks ago
- 347 views
Line 97 of repeat.e has a rogue assert, which I've since removed on the dev copy (in my case for mpfr).
Can you try commenting out that line, running p -cp, and see if that helps?
Ta.
That sudoku.exw you linked to seems to work fine here, at least on the dev version.
Mind you, I do get this when it shuts down:
Warning: tinlib.ew:8106 procedure Register_Dialog is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:8038 variable old_style is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7408 variable old_style is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7264 variable hdc is not used. Warning: tinlib.ew:7264 variable oldobjectdest is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7228 variable hdc is not used. Warning: tinlib.ew:7228 variable oldobjectdest is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7107 variable hdc is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:6764 variable pointer is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:6746 variable pointer is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:5955 variable icon_handle is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:5321 variable hdc is not used. Warning: tinlib.ew:5321 variable oldobjectdest is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:5275 variable hdc is not used. Press Enter for next page or 'q' to quit... Warning: F:\misc\jsudoku-main\tinlib.ew:5148 variable pPoint is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:3989 variable rect is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:3095 variable pFINDTEXT is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:2794 variable memdc is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:2794 variable hdc is not used. Warning: tinlib.ew:2583 function ChildWindowFromPoint is not used. Warning: tinlib.ew:2519 variable result is never assigned a value. Warning: tinlib.ew:2507 procedure cbex_AddText is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:2129 procedure FillRect is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:2084 variable IPC_DATADATA is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:938 variable ReSize_Event is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:750 variable IpEdit is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:749 variable Calendar is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:334 variable EWG is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:268 variable th_procname is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:268 variable th_pathname is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:268 variable th_modulname is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:266 variable PID is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:232 variable myCreate is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:229 constant tBYTE is not used. Press Enter for next page or 'q' to quit... Warning: F:\misc\jsudoku-main\tinlib.ew:228 constant tWORD is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:227 constant tUINT is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:219 type byte is not used. F:\misc\jsudoku-main\SUDOKU.EXW:518 if n < 81 or not integer(p) then ^Warning: probable logic error (always true) F:\misc\jsudoku-main\tinlib.ew:7793 pb_SetStep (hwnd) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:7792 pb_SetRange (hwnd) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:7425 Void = Window ("AppWindow") ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:6411 ListSeek (handle,selection-1) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:6120 SetPic(handle,controltype,imagepath) ^Warning: forward call assumed Press Enter for next page or 'q' to quit... F:\misc\jsudoku-main\tinlib.ew:6003 DeleteImage (picture_handle) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:5998 ..c_handle= NewMB (GetImageWidth(picture_handle),GetImageHeight(picture_handl.. ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:5998 pic_handle= NewMB (GetImageWidth(picture_handle),GetImageHeight(p.. ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:3273 SetText(handle,GetText (handle)) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:3273 SetText(handle,GetText (handle)) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:3020 if find(GetControlType(hwnd), {Edit, MultiEdit, RichEdit}) != 0 then ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2823 atom id=ctlGetControlIndex(handle) ^Warning: forward call assumed Press Enter for next page or 'q' to quit... F:\misc\jsudoku-main\tinlib.ew:2822 MoveWindow(handle,winrect[1],winrect[2],xsize+smalborder*2,ysize+smal.. ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2817 sequence clientrect=GetClientRect(handle) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2816 sequence winrect=GetWindowRect(handle) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2781 ..on ( atom hinstance, object string) ^Warning: assumed to be a variable_id, not a type F:\misc\jsudoku-main\tinlib.ew:2532 InfoMsg("dat war nix","cbex_AddText") ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2382 Void = AppendSeparator (menuhandle) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2323 WarnMsg("Menu IDs are only allowed from 1 to 999\nID Exeed Max in "&calle.. ^Warning: forward call assumed Press Enter for next page or 'q' to quit... F:\misc\jsudoku-main\tinlib.ew:2118 target_new=FindWindow (target,tinEWGApp) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2116 Void = SendMessage (target,WM_COPYDATA,WinHwnd,IPC_COPYDATASTRUCT) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2104 IPC_SendString (friend, "ACK" ) ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2054 ..d = SetWindowLong (handle,GWL_EXSTYLE,and_bits(GetWindowLong(handle,GWL_EXS.. ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:2054 Void = SetWindowLong (handle,GWL_EXSTYLE,and_bits(GetWindowLong(handl.. ^Warning: forward call assumed F:\misc\jsudoku-main\tinlib.ew:1878 p_filename=allocate_wstring(WideCharSeq(filename)) ^Warning: forward call assumed Press Enter, or d for diagnostics...
Let me know if you need any help cleaning that lot up - just to prove I could, I got it down to 0 warnings here.
13. Re: Phix 1.0.5 uploaded
- Posted by andreasWagner 3 weeks ago
- 249 views
Line 97 of repeat.e has a rogue assert, which I've since removed on the dev copy (in my case for mpfr).
Can you try commenting out that line, running p -cp, and see if that helps?
Ta.
yes, this works for me thank you
That sudoku.exw you linked to seems to work fine here, at least on the dev version.
Mind you, I do get this when it shuts down:
Warning: tinlib.ew:8106 procedure Register_Dialog is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:8038 variable old_style is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7408 variable old_style is not used. Warning: F:\misc\jsudoku-main\tinlib.ew:7264 variable hdc is not used. [...] Press Enter, or d for diagnostics...
Let me know if you need any help cleaning that lot up - just to prove I could, I got it down to 0 warnings here.
I personally have no problems with letting other people do my work
(However, I am not sure if it is worth the effort, except for me as my private hobby)
14. Re: Phix 1.0.5 uploaded
- Posted by mitgedanken 2 weeks ago
- 116 views
all virus messages have disappeared for about a week now.
I had virus messages for some OpenSource source code. The dangerous file was 'LICENSE'.