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

World: r3wp

[RAMBO] The REBOL bug and enhancement database

Cal found a fun little bug with Select/Skip when using it on a string. 
 Here's the shortest code snippet that we've come up with to reproduce 
the problem.  Only copy and paste this into a console session that 
you don't mind killing cause it is going to lock up...  Tested on 
Win2K with the latest stable release, Command and recent betas...

select/skip {"<a><mm></mmmmf>"} "foo" 2
We have been playing with changing the length of the string, the 
characters in the string, etc and haven't really been able to find 
any reason to this rhyme, perhaps some of you bug hunters could help 
us track down the actual cause of the lock up?  In the mean time, 
we'll keep playing with it as our schedules permit...
hangs here. first guess is, /skip steps behing the array, and that 
is not checkt. the it starts looking through hole memory. length 
of string is odd, step 2. maybe rebol tests "index = length" instead 
of "index <=  length".
I think it is related to a bug in FIND:
find/skip "abcdefghij" "azzzz" 5 ; locks up
find/skip "abcdefghij" "abczz" 5 ; locks up
find/skip "abcdefghij" "abcde" 5 ; == "abcdefghij"  OK
find/skip "abcdefghijkl" "zzzzz" 5 ; == none  OK
There are a couple of /skip bugs in RAMBO already... Search for "find/skip".
For norman new submition bug about error (unrecognised symbol ) when 
loading libraries .so files I have maybe the solution or explanation 
to this problem.... When you look to the error message on loading 
libraries submitted by norman in his post we can see that the problem 
is related to external needed library for example libSDL, libncurse, 
libogg  do not need other libs But  GTK and gthread need previous 
load of glib, libgdk, libpango, libgmodule, libpng, libint, libgtrhread 
and the list is long ;)...
So before to start to will load htose things you need to know what 
is the library dependencies. On linux you can see the MAKEFILE file 
related to one of the tutorial program integred to the GTK  package 
for example and see the -l*.a entries to have a complete idea of 
the library needed and the order of library dependencies
I'm agree with the idea that loading complicated heavy splitted and 
many dependent library libs GTK  popup up that we have to seek a 
better library loading system. Dependencies of libraries is a very 
weak point. Think of it ... First you have to load the librariries 
in the dependence chain in the right order and make a rebol script 
file to be able to treat in rebol script code the calls of function 
of those libraries (for example GTK sofware unsed commonly lots of 
function that are builded into many different librairies in the dependencie 
chain (like g_malloc() instead of malloc(), gint type instead  int 
type, gchar type intead of char, g_thread**() instead of  thread**() 
I make a discussion group on this world called DLL.SO to collect 
all the ideas and organise a working group around the loading library 
the point is that making bridge  betwen rebol script and librari 
in the way it is actually done is good for tiny simple library but 
very a tremendous work when it touch to heavy complicated library 
that intent to abstract from the os consept and give the same way 
to code on any OS/material. Mostly Opengl and GTK for example. Both 
libraries are heavy (lot of libs lot of struct lot of types lot of 
dependencies that needs a bridge too). For OPENGL you have two way 
to work or you make a OS based I/O and windowing system example gdi32.dll 
user32.dll for windows or xlib.so for Linux and  then exploite gl* 
function that are stored in the openGL.so/dll  or you use the related 
to opengl portable set of libraries to handle window drawing and 
Mouse/Keyboard events glut.dll/so. The fact that a librarie portable 
must be a library the abstract from the OS dependencies make them 
very complicated to handle. AS we don't have the same coding effort 
on library bridge coding than other language because many reasons 
in witch the fact that library loading is a Pro functionnality and 
maybe too because the system is not enought developped. It's easier 
to make a library bridge for a language when this language allows 
type creation and have based type in this language that feets with 
the one in C/C++
making library bridges is a very complicated thing for rebol coders...
If this fonctionnality remains payant we at most need to rethink 
internally the way to work or build an intermediate library loading 
system script that allows people to load the library without the 
needs of wrtiting by their howns the bridge or a tools that take 
a makefile of a sample program and the include file and generate 
a rebol script bridge for any library that must be loaded to use 
the wanted libraries thos bridges script files must then be supplyed 
as the libraries and the program script in rebol that exploit those 
A sutch tool will makes easier the verson change in library handling
Max was working on a generic Library loader..
But the project appears to be abandoned.
Last known URL is 404ing: www.rebol.it/~steel/libraries/
I found a very critical bug in the old and the new rebols
write/append does not give back an error when writing to a disk without 
enough space

just do this

insert/dup mem-st: make string! 100'000 "1" 100'000
counter: 0
forever [
    write/append %/A/mem-tst mem-st
    probe counter: counter + 1

then you will see that it runs without writing
sqlab: please add to rambo
also, please add the find/skip bug to rambo as critical. thanks.
I did add the write/append problem.

This just caused me some big problems, as I had 
some Rebol programs running     
since Sept. 24 2004 without interruption 
on a Win2000 server .(
I am not sure it is the reponsibility of write to check if there 
is available space, but it maybe nice to have it. This usually falls 
on the domain of the OS.
But OSes often signal the program of such an error after they detect 
it. Do the REBOL internals react to such a signal?
IOS messenger used to happily write 0 byte length messages when it 
ran out of disk space, which crashed messenger when it tried to read 
BrianH: Yes, I do not expect write to check for available disk space. 
But I expect an error, if an action is not successful. And this I 
do check and react according to the outcome.
Graham: That's similar to what happend to me.

The receiving process did not write data anymore, but informed some 
consecutive processes, that new data had arrived. And as he did not 
notice about the failures, he went on signalling, that he will accept 
new data.
These data were lost.(
For rambo viewing I have one killer model ;) named Flyspray it's 
the best visual I ever see :) It could be fun to adapt Rambo to clone 
this visual ;)
shadwolf. The bug tracker / "shared development tracker" plugin for 
Altme is pretty good.
Assuming you remember it from ealier betas, or have access to worlds 
where it is used.
I liked that bug tracker, why was it removed?
From what I can determine the bug where select/skip on a string locks 
up the interpreter is related to bug #3327  My guess is that because 
/skip isn't skipping properly then it sometimes finds itself in a 
forever loop trying skip at the same point repeatedly.  Shall I submit 
this as a new bug references the expected relationship between these 
two or do we want to extend the description of #3327 to include this 
information as well?
#3755 : not a bug - it's just a syntax problem: "file: read %//server/share/file" 
doesn't work but "file: read %/server/share/file" does. {to-local-file 
%/server/share} and {to-rebol-file "\\server\share"} gives the expected 
Ammon: i'd say submit a new one, and write that it may be related 
to 3327.
Kewl, will do.
Allen no I don't see any thing like that in ALTME ..
I think it was only with the View altme server
1.2.119 (on Win2k) still always connects and starts desktop - settings 
done in desktop/user aren't saved. And the option to don't install 
and start rebol still yields an "please reinstall" message.
Vincent's description same for me on XP - I'll add that I get a "Problem 
uninstalling..." message when I try to uninstall. The rebol directory 
in docs and settings gets deleted but the registry key remains.
there are wrong links in this document: http://www.rebol.net/notes/rv13-changes.html
(Core 1.2.118 -- 4-June-2005)
Will 'create-link be included in final 1.3? If yes, there's a number 
of issues:

- create-link %/c/foo.txt "d:\bar.lnk" will create a link to "current-path\c\foo.txt"
- create-link %/c/foo.txt %/d/bar.lnk don't work
and the big security hole:
    secure [file ask]

    create-link %anything.dat "c:\my-file-to-overwrite.exe" ; bypass 
#3757 fixed in 1.2.122 but only first part, not the second one - 
"There's one more problem - after changing name in user preferences, 
it's not changed in main desktop window - it still shows old one."
#3768 - finally I've worked out how to uninstall and repeat the problem
Install but do not select .r association option, then uninstall - 

To fix this situation, rename currentuser/software/rebol/view key 
to viewold - this allows reinstall which you should do this time 
with .r association then uninstal works ok.
To whom it may concern, on ticket -304 (currently) I misunderstood 
the purpose of the Fix field and filled it with prose with no line 
breaks. Could somebody fix this, perhaps by moving the prose to the 
Description section? The Fix section doesn't wordwrap, my entry messes 
up the layout of the Rambo web site.
done (will need approval)
Hey Gabriele, the install bug I mentioned (now 3775) is one that 
I would consider major enough to need fixing before the final 1.3, 
seeing as it would affect production installations.
I mention this because I just noticed that 1.2.125 is considered 
a final beta, short of major bugs. This is one of those.
As the file handling has been fixed, someone can write an external 
installer that can do the trick if necessary, but at least moving 
the appropriate registry key would help a great deal.
Hi Brian, I saw your posting.
This is a complex request - because all earlier versions of REBOL 
were installed the same way, as well as many other apps.