r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3]

Gregg
8-Apr-2011
[7799]
I'm all for anything that moves us forward, but solutions like cURL 
and CALL via an extension means I know I'm going to have to change 
things later, or live with more pieces.
BrianH
8-Apr-2011
[7800]
And it can't be called alpha or beta.
 ?
Andreas
8-Apr-2011
[7801]
CALL via extension should ideally not require any changing later 
on.
Gregg
8-Apr-2011
[7802]
I guess I assume Carl has a prioritized list already. :-\
BrianH
8-Apr-2011
[7803]
We can fix CALL - it's in the host code.
Gregg
8-Apr-2011
[7804]
Ideally, yes. :-)
GrahamC
8-Apr-2011
[7805x3]
Carl's priorities may not match those of us in the real world
I'm assuming his main priority is for people to use R3
If it's not,everything else breaks down
BrianH
8-Apr-2011
[7808]
We need a prioritized list of stuff that we need Carl to fix. The 
rest (mezzanine and host) we can do ourselves.
Gregg
8-Apr-2011
[7809x2]
Brian, for deployment purposes. Running production services on something 
listed as Beta doesn't fly. If anything goes wrong, labeling matters.
It doesn't matter if Google gets away with it. :-)
BrianH
8-Apr-2011
[7811x2]
Do we need the alpha/beta label removed for just the r3lib changes? 
It might be worth labeling as a separate product, so we can work 
on the host/extension stuff ourselves.
I narrowed down 1825/1865 to the minimal code. I'll comment them 
accordingly.
Andreas
8-Apr-2011
[7813x2]
Tried on Linux or OSX as well?
(Just privmsg me and I can try it quickly.)
BrianH
8-Apr-2011
[7815]
I rewrote http://issue.cc/r3/1865to match the real cause. Here's 
the code:

    resolve/extend/only context [] context [a1: a2: a3: a4: a5: a6: none] 
    [a]

If you all would try it on other platforms than Windows, that would 
help. On Windows you need 6 or more words in the source context to 
cause the bug. If that number is different for other platforms, it 
would be helpful to know.
Andreas
8-Apr-2011
[7816]
Crashes on Linux and OSX as well.
BrianH
8-Apr-2011
[7817]
The names of the words don't matter, nor does whether the word in 
the /only block is one of them or not. There needs to be at least 
one word in the /only block to crash.
Andreas
8-Apr-2011
[7818x4]
But it's not "6 or more", it's precisely 6.
Maybe even multiples of 6.
Nah, appears to be basically random.
Well, thanks for reducing it.
BrianH
8-Apr-2011
[7822]
Please note this in a ticket comment. It might be related to the 
sequence. In a fresh console on Windows, 6 will work every time.
Andreas
8-Apr-2011
[7823x2]
6 works on Linux and OSX on a fresh console every time as well.
7 crashes both after the third call.
Maxim
8-Apr-2011
[7825]
so its probably heap corruption.
BrianH
8-Apr-2011
[7826]
Updated the description related to the number.
Andreas
8-Apr-2011
[7827x2]
Certainly looks like a memory corruption issue from the outside, 
yes.
Will be much easier to pin down from the inside.
BrianH
8-Apr-2011
[7829x2]
The heap corruption might be the cause of #1207 as well.
Sorry, I meant #1806.
GrahamC
9-Apr-2011
[7831x2]
Where exactly is one supposed to store user specific data for scripts 
eg. userid and passwords
for esmtp etc
Kaj
9-Apr-2011
[7833]
We've talked about it before. It isn't defined yet
GrahamC
9-Apr-2011
[7834]
Is this something we can define then?  Reach a concensus?
Kaj
9-Apr-2011
[7835]
Probably
GrahamC
9-Apr-2011
[7836x2]
Anyone with a suitable suggestion?
I'm suggesting a couple of wrapper functions to return userid and 
password etc so that these can be changed if the store system changes
Kaj
9-Apr-2011
[7838]
That's a good principle
BrianH
9-Apr-2011
[7839x2]
The only consensus we reached was that %user.r would be a good place 
to store preferences, and that it should only store data. Executable 
code would be prohibited in %user.r, and screened for. But we never 
started the discussion of how the preference data would be formatted 
or managed.
The no-executable-code thing is a security issue. R2's treatment 
of %rebol.r and %user.r is a big hole.
GrahamC
9-Apr-2011
[7841x2]
So, do we have a plan .. ??
Andreas is collecting blocks ..
BrianH
9-Apr-2011
[7843x6]
These settings shouldn't go into system/user in R3, they should go 
in system/options/user. The system object will be task-specific, 
but the options are probably going to be global. And system/options/user 
might best be a map!, with categorized options in sub- maps, blocks 
or objects, depending on the situation. Or better yet just sub-maps, 
with the serialized preferences in blocks of name-value pairs so 
they can be parsed, and converted to maps at runtime.
system/options/user: make map! [
    category1 #[map! [
        option1 "value1"
        ...
    ]
    ...
]
Two-level category-options, and then the values could be any type 
you want. Screen thoroughly for evil values.
The %user.r serialization of this data should be human-writeable 
and loaded with LOAD, not DO.
The advantage to serializing directly in SAVE/all form is speed. 
The disadvantages are:

- The preferences file would be uglier to write by hand than block 
form.

- You would have to screen with ASSERT/type in FOREACH instead of 
PARSE.
But the slowness of validating would be offset by the speed of loading 
and saving, so it might be worth it.