[Chicken-users] Re: sqlite3 egg still failing in experimental branch
On Sat, Jan 15, 2011 at 03:51:45PM +0100, Thomas Chust wrote: 2011/1/15 Alan Post alanp...@sunflowerriver.org: 2011/1/14 .alyn.post. alyn.p...@lodockikumazvati.org: [...] The sqlite3 is still failing to compile in the experimental branch: [...] [...] I believe the attached patch should do it. I withdraw the original miliseconds deprecation patch (but retain the noop/void patch) and replace it with this one. [...] Hello Alan, although there was no patch attached to the message, I have now checked in modifications to the trunk version of the SQLite3 egg that should largely be equivalent to your suggested changes. I even said: ok self, make sure you attach the patch to the e-mail. I notice that you removed code adding |current-milliseconds| (presumably now |current-seconds|) to the timeout. This was intentional? I also notice that several division and multiplication operations in thread-sleep! weren't modified for fixnum--I though they could be; you understand the code better than I do. All tests still run fine under CHICKEN 4.6.3, but I still haven't tested with the experimental branch of CHICKEN. I would be grateful if you could try it under CHICKEN 4.6.4 and tell me if everything is in order, then I would tag a new version of the SQLite3 egg. There is one test failure I'm seeing: -- testing statement management -- basic lifecycle .. [ERROR] Error: (finalize!) unable to close due to unfinalised statements: #sqlite3:data base (with-database (db :memory:) (let-values (((stmt tail) (prepare db SELECT 42; -- tail))) (dynamic-wind noop (lambda () (let* ((s0 (step! stmt)) (s1 (step! stmt))) (list tail s0 s1))) (lambda () (and-let* ((s stmt)) (set! stmt #f) (finalize! s)) I don't properly recall whether this was working earlier or not. It doesn't appear to be working currently, however. For my use of the sqlite3 egg, I don't believe I'm seeing a problem related to this test failure, it at least isn't a show stopper for me. I hope my sluggish reaction didn't cause you too much trouble :-) I am very excited that Christian set up a salmonella report for the experimental branch, it raised my own urgency on getting the sqlite3 egg working. Thank you so much for taking the time to make these fixes--it came just as I made some changes that cause my own test cases to fail, so I'm now causing myself too much trouble. ;-) -Alan PS: Thank you! Thank you! -- .i ko djuno fi le do sevzi ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Re: sqlite3 egg still failing in experimental branch
2011/1/16 Alan Post alanp...@sunflowerriver.org: [...] I notice that you removed code adding |current-milliseconds| (presumably now |current-seconds|) to the timeout. This was intentional? [...] Hello Alan, yes, this was intentional: The way I understand it, thread-sleep! can either be passed a number, which is interpreted as a delay, or a time record, which is interpreted as an absolute point in time. But adding the current time to the delay would of course be wrong. [...] I also notice that several division and multiplication operations in thread-sleep! weren't modified for fixnum--I though they could be; you understand the code better than I do. [...] You're right, these can be fixnum arithmetic, too, if we assume that the values that will be passed to the created timeout procedure as the second argument are always going to be fixnums as well, which should be true. I have checked in the additional changes to the egg's trunk version. [...] There is one test failure I'm seeing: -- testing statement management -- basic lifecycle .. [ERROR] Error: (finalize!) unable to close due to unfinalised statements: #sqlite3:data base (with-database (db :memory:) (let-values (((stmt tail) (prepare db SELECT 42; -- tail))) (dynamic-wind noop (lambda () (let* ((s0 (step! stmt)) (s1 (step! stmt))) (list tail s0 s1))) (lambda () (and-let* ((s stmt)) (set! stmt #f) (finalize! s)) [...] Hmm, I can't reproduce that test failure under CHICKEN 4.6.3. It's also pretty strange since the statement obviously *is* finalized explicitly by that code. [...] PS: Thank you! Thank you! [...] And thank you, too, for coming up with the patches in the first place :-) Ciao, Thomas -- When C++ is your hammer, every problem looks like your thumb. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Re: sqlite3 egg still failing in experimental branch
2011/1/15 Alan Post alanp...@sunflowerriver.org: 2011/1/14 .alyn.post. alyn.p...@lodockikumazvati.org: [...] The sqlite3 is still failing to compile in the experimental branch: [...] [...] I believe the attached patch should do it. I withdraw the original miliseconds deprecation patch (but retain the noop/void patch) and replace it with this one. [...] Hello Alan, although there was no patch attached to the message, I have now checked in modifications to the trunk version of the SQLite3 egg that should largely be equivalent to your suggested changes. All tests still run fine under CHICKEN 4.6.3, but I still haven't tested with the experimental branch of CHICKEN. I would be grateful if you could try it under CHICKEN 4.6.4 and tell me if everything is in order, then I would tag a new version of the SQLite3 egg. I hope my sluggish reaction didn't cause you too much trouble :-) Ciao, Thomas -- When C++ is your hammer, every problem looks like your thumb. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Re: sqlite3 egg still failing in experimental branch
2011/1/14 .alyn.post. alyn.p...@lodockikumazvati.org: [...] The sqlite3 is still failing to compile in the experimental branch: [...] Will you apply the patches I sent you to the sqlite3 egg? [...] Hello, yes, I know. I will apply the patch eventually but I have to / want to disable the fixnum arithmetic declaration at the same time and insert calls to fixnum specific procedures where appropriate. Now, if I make these modifications I want to do it carefully, especially changing all the arithmetic calls. But I simply haven't gotten around to installing the experimental CHICKEN branch (usually I only update to snapshot releases and I very much dislike git ...) and to updating the SQLite3 egg. [...] I was able to modify genturfa'i to use those procedures rather than declaring fixnum. Would you like a new patch that uses this same approach in sqlite3? Disabling the fixnum declare but replacing you maths operations with fixnum versions? [...] If you took the time to do that, I would be glad to accept an improved patch :-) [...] What do you need to get the sqlite3 egg updated to compile against the experimental branch? [...] Hmm, maybe a reduction of Earth rotation speed to prolonge my spare time hours would be good? Or maybe some genetic modification to reduce the necessary amount of sleep? Ciao, Thomas -- When C++ is your hammer, every problem looks like your thumb. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Re: sqlite3 egg still failing in experimental branch
On Fri, Jan 14, 2011 at 05:21:06PM +0100, Thomas Chust wrote: 2011/1/14 .alyn.post. alyn.p...@lodockikumazvati.org: [...] The sqlite3 is still failing to compile in the experimental branch: [...] Will you apply the patches I sent you to the sqlite3 egg? [...] Hello, yes, I know. I will apply the patch eventually but I have to / want to disable the fixnum arithmetic declaration at the same time and insert calls to fixnum specific procedures where appropriate. Now, if I make these modifications I want to do it carefully, especially changing all the arithmetic calls. But I simply haven't gotten around to installing the experimental CHICKEN branch (usually I only update to snapshot releases and I very much dislike git ...) and to updating the SQLite3 egg. [...] I was able to modify genturfa'i to use those procedures rather than declaring fixnum. Would you like a new patch that uses this same approach in sqlite3? Disabling the fixnum declare but replacing you maths operations with fixnum versions? [...] If you took the time to do that, I would be glad to accept an improved patch :-) I believe the attached patch should do it. I withdraw the original miliseconds deprecation patch (but retain the noop/void patch) and replace it with this one. All arithmetic operations are fixnum except the delay call, which is done with floating point arithmetic. [...] What do you need to get the sqlite3 egg updated to compile against the experimental branch? [...] Hmm, maybe a reduction of Earth rotation speed to prolonge my spare time hours would be good? Or maybe some genetic modification to reduce the necessary amount of sleep? I'd like to pose a question to the list about this issue, because it results from the way development is done in Chicken Scheme and perhaps someone has insight into the issue. I'm suffering from priority inversion on this issue: jbogenturfa'i requires the experimental branch to run[1][2], while one of it's dependencies, sqlite3, won't run on the experimental branch.[3] The fix to sqlite3 is easy, and I've provided patches. There isn't any reason Thomas' priorities should be mine, however, and in this case they aren't. My options seem to be to convince Thomas that he should be running at a higher priorty or ask Mario for a sqlite3-experimental egg in the repository and fork sqlite3. I don't consider a fork a good idea, but if I had to fix this issue today, I can't think of a better one either. It is easier to accomplish that either of Thomas' above requests. :-) How has this situation been handled in the past? Can someone sugest a solution that doesn't require Thomas to raise his scheduling priority but allows me to have a sqlite3 that compiles in experimental? I'm fortunate to be in a position where this issue isn't urgent--I'm the only one running jbogenturfa'i and I can keep my patches in my local repository. I may not always be in such a fortunate position. Thoughts? -Alan 1: http://tests.call-cc.org/2011/01/14/salmonella-report/tests/jbogenturfahi.html 2: https://bugs.call-cc.org/ticket/441 4: http://pestilenz.org/~ckeen/salmonella-report/2011-01-14/sqlite3.html Ciao, Thomas -- When C++ is your hammer, every problem looks like your thumb. -- .i ko djuno fi le do sevzi ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: sqlite3 egg still failing in experimental branch
On Fri, Jan 14, 2011 at 04:32:07PM -0700, Alan Post wrote: I'm suffering from priority inversion on this issue: jbogenturfa'i requires the experimental branch to run[1][2], while one of it's dependencies, sqlite3, won't run on the experimental branch.[3] The fact your egg requires experimental means most people won't be able to run it. Those who will probably won't object to (temporarily) applying a patch; they're already running an unstable version of Chicken. Just provide instructions in the egg's documentation. How has this situation been handled in the past? To my recollection this exact situation hasn't occurred before. Anyway, I wouldn't consider it too big an issue since most regular users are using release versions, or at best snapshot development versions. People interested in the bleeding edge are expecting possible breakage already, so I don't think it's that big a deal, really. If you are desperate and Thomas really can't cope with your pace of development you might perhaps want to negotiate (co-)maintainership of the egg with him, if he's open to that. Cheers, Peter -- http://sjamaan.ath.cx -- The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music. -- Donald Knuth ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users