World: r4wp
[!REBOL3] General discussion about REBOL 3
older newer | first last |
BrianH 3-Mar-2013 [1384] | You can throw more words at the problem to try to make things less ambiguous, but that doesn't always work and tends to make your speech patterns a little off-putting or overbearing. Some people don't take well to overly-precise English. You have to balance things. |
Ladislav 3-Mar-2013 [1385x2] | I am not writing a ticket for it, then, since it looks like not needing an improvement. |
(or at least not requiring one) | |
BrianH 3-Mar-2013 [1387] | Your other doc string changes were more necessary. |
GrahamC 3-Mar-2013 [1388x2] | @Bo .. no idea on why the binary attachments are different. |
can you capture the attachment before sending and dump them to see if the problem is in building the attachment or sending it ... | |
Bo 3-Mar-2013 [1390x2] | @GrahamC: Yes. I am going to try to find the source of the problem. This used to be my job at RT. ;-) |
(One of my jobs) | |
GrahamC 3-Mar-2013 [1392] | Great .. saves me from debugging this. not my favourite task |
Bo 3-Mar-2013 [1393] | So far, I've gotten all the way to where the message is being written to the smtp port without finding any problems. It looks perfect up until that point. Unfortunately, this means I'll probably have to go into prot-smtp.r to track the problem further. |
GrahamC 3-Mar-2013 [1394x3] | That's not good then .. |
So, I take it the issue is with files greater than 32Kb? | |
I managed to send pdfs and mp3 larger than that with no errors ... and I think zip files so that it would test integrity but never did any checksum testing | |
Bo 3-Mar-2013 [1397x4] | So it seems. |
It could be specific to R3 on Arm. I'll try it on Windows before tracing any further. | |
So R3 on Windows works fine. It seems to be a problem related to R3 Arm. | |
This part of the output seems to indicate that the messages get split on 32K boundaries: C: sending 32K === Client event: wrote C: sending 17834 bytes of 17834 === Client event: wrote | |
GrahamC 3-Mar-2013 [1401] | Yes, I create a 32Kb buffer to send files in parts |
Bo 3-Mar-2013 [1402] | That's my best guess as to where the problem is happening, but I haven't gotten to that point yet. |
GrahamC 3-Mar-2013 [1403x2] | buffer size here https://github.com/gchiu/Rebol3/blob/master/protocols/prot-smtp.r#L66 |
and sending here https://github.com/gchiu/Rebol3/blob/master/protocols/prot-smtp.r#L284 | |
Bo 3-Mar-2013 [1405x2] | Thx! |
I'm running out of time for this evening. I may have to hold off until Tuesday morning (Monday mornings are crazy for me). | |
GrahamC 3-Mar-2013 [1407x4] | so it waits for the 'wrote event and then once that happens it writes again |
which is here and thereafter https://github.com/gchiu/Rebol3/blob/master/protocols/prot-smtp.r#L312 | |
wonder if reducing the buffer size in r3/droid might help? | |
or arm as it may be | |
Bo 3-Mar-2013 [1411] | Reducing the buffer size causes breaks at each boundary. Increasing it seems to fix the problem for my attachments less than 64k, |
GrahamC 3-Mar-2013 [1412] | so if it fits inside the buffer size it's ok? |
Bo 4-Mar-2013 [1413] | Yes. If it fits inside the buffer size, it works perfectly. Tested and verified. It may be fixed in the latest build, but I don't have the latest ARM Linux build, and won't have time to build it until tomorrow at the earliest. |
GrahamC 4-Mar-2013 [1414x3] | How about writing to a file and sending to the port and seeing if there's a difference ... |
so both semi concurrently | |
I don't have an ARM machine available to test | |
Bo 4-Mar-2013 [1417] | If I make the buffer 64KB, then there are no problems. |
GrahamC 4-Mar-2013 [1418] | stil need to sort out whether the issue is in the rebol port or userland |
Sunanda 5-Mar-2013 [1419] | Has this been discussed as an R2/R3 change? in R2 the variable used in a FOR is hard to mess with: for nn 1 5 1 [prin nn nn: 3] 12345 for nn 1 5 1 [prin nn unset 'nn] 12345 But in R3: for nn 1 5 1 [prin nn nn: 3] 144444444444444444444444444444444444444 <esc> for nn 1 5 1 [prin nn unset 'nn] 1** Script error: unset! type is not allowed here |
Ladislav 5-Mar-2013 [1420] | FOR has too many bugs in R2 for me to even want to list them all. Is this property something you mind about? |
Sunanda 5-Mar-2013 [1421] | No views on this at all.....Just noticed it as a difference and wondered if it was a principle or an accident. |
Ladislav 5-Mar-2013 [1422x2] | looks like intended (to me) |
notice that the value is type-checked | |
AdrianS 6-Mar-2013 [1424] | @Robert - do you think Saphirion could put up a newer source download if publishing to a repo is not going to happen in the near future? |
Ladislav 6-Mar-2013 [1425] | Yes, sure, that is on the way |
AdrianS 6-Mar-2013 [1426] | a newer download or the public repo? |
Ladislav 6-Mar-2013 [1427x2] | newer source download |
(in the form of a new public repo) | |
Sunanda 6-Mar-2013 [1429] | Thanks Ladislav -- looks like someone has put some thought into protecting the datatype (though not the range) of the word used in an R3 FOR loop. |
Ladislav 6-Mar-2013 [1430x4] | (actually, it was me who explained Carl why the typecheck was absolutely necessary) |
Regarding the question whether it is better to protect the value of the cycle variable - I tend to think that it does not make sense to "overprotect" the programmer. That might just make the dycle less convenient in some cases. | |
You should not understand it so that we discussed the FOR loop behaviour - I demonstrated the typecheck necessity on a different example, which Carl noted and used in the FOR case as well. | |
Also, in my opinion REPEAT is a special case of FOR and note that in R3 REPEAT and FOR are compatible, which is not the case in R2. | |
older newer | first last |