From: Steve V. <vi...@ie...> - 2007-11-27 15:10:22
|
Hi, I've got a few yapp questions. I'm relatively new to all this so please be gentle. :-) 1. I believe have my yapp properly configured as per the instructions. I do the mnesia:create_schema([node()]) thing. I run yaws, visit the /yapp URL, and using that menu, add my yapp. It starts and runs correctly, but occasionally I visit one of its URLs and it returns 404, but if I just refresh the browser all is well. Any ideas why? 2. I then want to extend or modify my yapp, or more specifically, an appmod underneath it. I modify and recompile the code, but it doesn't get automatically reloaded. Going into the shell under yaws and running application:stop and start doesn't seem to help, nor does code:load_file or anything like that. How can I get the newly compiled code to load without stopping yaws? 3. Because of issue 2 above, I have to init:stop() and then restart yaws. But when I do that, my yapp no longer works, nor does yapp itself. I have to stop yaws, delete the mnesia schema, recreate it, and then go back into yaws, visit the /yapp URL again, and add my yapp through that menu. It also seems that I have to start from scratch like this anytime the code hits an error. What am I missing? thanks, --steve |
From: Mikael K. <mik...@cr...> - 2007-11-27 22:35:49
|
Hi Steve, Concerning points 1 (and probably 3); I suspect that the yapp handler might be a bit "rusty", there have been a couple of changes concerning virtual hosts in Yaws itself which had impact on yapp, but I haven't followed up the very latest updates so I will have a look at it. For point 2, if you run Yaws in interactive mode (yaws -i), which can be handy when developing apps, then I beleive you just can do "l(module)" from the shell after you compiled your module. You need have your applications ebin directory in the load path, but I guess that you have that as it works in the first place. If that works I hope point 3 will not bother you - let me know. Best Regards Mikael Tuesday 27 November 2007 16:10:19 Steve Vinoski wrote: > Hi, I've got a few yapp questions. I'm relatively new to all this so > please be gentle. :-) > > 1. I believe have my yapp properly configured as per the instructions. > I do the mnesia:create_schema([node()]) thing. I run yaws, visit the > /yapp URL, and using that menu, add my yapp. It starts and runs > correctly, but occasionally I visit one of its URLs and it returns > 404, but if I just refresh the browser all is well. Any ideas why? > > 2. I then want to extend or modify my yapp, or more specifically, an > appmod underneath it. I modify and recompile the code, but it doesn't > get automatically reloaded. Going into the shell under yaws and > running application:stop and start doesn't seem to help, nor does > code:load_file or anything like that. How can I get the newly compiled > code to load without stopping yaws? > > 3. Because of issue 2 above, I have to init:stop() and then restart > yaws. But when I do that, my yapp no longer works, nor does yapp > itself. I have to stop yaws, delete the mnesia schema, recreate it, > and then go back into yaws, visit the /yapp URL again, and add my yapp > through that menu. It also seems that I have to start from scratch > like this anytime the code hits an error. What am I missing? > > thanks, > --steve > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list |
From: Steve V. <vi...@ie...> - 2007-11-27 23:51:49
|
On 11/27/07, Mikael Karlsson <mik...@cr...> wrote: > Hi Steve, > > Concerning points 1 (and probably 3); I suspect that the yapp handler might be > a bit "rusty", there have been a couple of changes concerning virtual hosts > in Yaws itself which had impact on yapp, but I haven't followed up the very > latest updates so I will have a look at it. I neglected to mention I'm running yaws 1.73, if that makes any difference. If there's anything you want me to try or trace to help figure out these 404 errors, just let me know. Always happy to pitch in. > For point 2, if you run Yaws in interactive mode (yaws -i), which can be handy > when developing apps, then I beleive you just can do "l(module)" from the > shell after you compiled your module. You need have your applications ebin > directory in the load path, but I guess that you have that as it works in the > first place. If that works I hope point 3 will not bother you - let me know. Yes, l(module) seems to work -- thanks! --steve |
From: Steve V. <vi...@ie...> - 2007-11-28 06:51:17
|
On 11/27/07, Steve Vinoski <vi...@ie...> wrote: > On 11/27/07, Mikael Karlsson <mik...@cr...> wrote: > > For point 2, if you run Yaws in interactive mode (yaws -i), which can be handy > > when developing apps, then I beleive you just can do "l(module)" from the > > shell after you compiled your module. You need have your applications ebin > > directory in the load path, but I guess that you have that as it works in the > > first place. If that works I hope point 3 will not bother you - let me know. > > Yes, l(module) seems to work -- thanks! Hi Mikael, I reported in my original message that if I stopped yaws and then restarted it, yapp itself would stop working -- it appeared to hang -- and my own yapp would of course not work either. Hitting the /yapp URL under these conditions always returned an error. As I explained before, to fix this I would have to quit yaws, redo mnesia, reinstall my yapp, and start yaws again. Turns out that my yapp had yapp listed as an app that needed to start first in its app resource file, so I removed that, and the problem went away. Newbie error, I assume. My guess is that because I had already listed yapp as a bootstrap app in yaws.conf, the system was trying to load yapp twice? Does that make sense? thanks, --steve |
From: Mikael K. <mik...@cr...> - 2007-11-28 07:12:42
|
Hi Steve, Thanks for testing the yapp handler :-) I think your conclusion is close to right, but it should work nevertheless, if you list the yapp application as one of those that needs to be started before your own is the OTP application handler should check if the app is already started and should not to try and start yapp again if it is. Anyway it is good to know that you got it working, but I will mark it as a point of investigation. Thanks Mikael Den Wednesday 28 November 2007 07:51:14 skrev Steve Vinoski: > On 11/27/07, Steve Vinoski <vi...@ie...> wrote: > > On 11/27/07, Mikael Karlsson <mik...@cr...> wrote: > > > For point 2, if you run Yaws in interactive mode (yaws -i), which can > > > be handy when developing apps, then I beleive you just can do > > > "l(module)" from the shell after you compiled your module. You need > > > have your applications ebin directory in the load path, but I guess > > > that you have that as it works in the first place. If that works I hope > > > point 3 will not bother you - let me know. > > > > Yes, l(module) seems to work -- thanks! > > Hi Mikael, I reported in my original message that if I stopped yaws > and then restarted it, yapp itself would stop working -- it appeared > to hang -- and my own yapp would of course not work either. Hitting > the /yapp URL under these conditions always returned an error. As I > explained before, to fix this I would have to quit yaws, redo mnesia, > reinstall my yapp, and start yaws again. > > Turns out that my yapp had yapp listed as an app that needed to start > first in its app resource file, so I removed that, and the problem > went away. Newbie error, I assume. My guess is that because I had > already listed yapp as a bootstrap app in yaws.conf, the system was > trying to load yapp twice? Does that make sense? > > thanks, > --steve |
From: Mikael K. <mik...@cr...> - 2007-11-28 22:15:45
|
Turns out there is a deadlock situation, when the yapp application starts it investigates the yapp registry for applications and tries to start them, if the starting application includes yapp as a required app it will hang since the yapp server has not returned from its init function yet - and it never will since it is waiting for all the registered apps to start. I will rewrite the start sequence for the yapp_server and delay starting of registered apps after return of the init function - so that it is completely up and running. Thanks for reporting. Mikael > > Hi Mikael, I reported in my original message that if I stopped yaws > > and then restarted it, yapp itself would stop working -- it appeared > > to hang -- and my own yapp would of course not work either. Hitting > > the /yapp URL under these conditions always returned an error. As I > > explained before, to fix this I would have to quit yaws, redo mnesia, > > reinstall my yapp, and start yaws again. > > > > Turns out that my yapp had yapp listed as an app that needed to start > > first in its app resource file, so I removed that, and the problem > > went away. Newbie error, I assume. My guess is that because I had > > already listed yapp as a bootstrap app in yaws.conf, the system was > > trying to load yapp twice? Does that make sense? > > > > thanks, > > --steve > |
From: Mikael K. <mik...@cr...> - 2007-12-03 17:10:37
|
Hi Steve, I am not able to repeat this error, so I probably need some more info here. Does this happen for a specific URL in your application (and not for all)? Do you use (yapp_)appmods or any redirects, using the function yapp:prepath/1? It seems that the documentation for private appmods are a bit out of date, and that you should not use a leading "/" in the path for tha appmod in the .app file. Do you see any "strange" look in your browsers URL like "//" or something? If you have any idea why this happens please let me know. Thanks Mikael Tuesday 27 November 2007 16:10:19 Steve Vinoski wrote: > Hi, I've got a few yapp questions. I'm relatively new to all this so > please be gentle. :-) > > 1. I believe have my yapp properly configured as per the instructions. > I do the mnesia:create_schema([node()]) thing. I run yaws, visit the > /yapp URL, and using that menu, add my yapp. It starts and runs > correctly, but occasionally I visit one of its URLs and it returns > 404, but if I just refresh the browser all is well. Any ideas why? |
From: Steve V. <vi...@ie...> - 2007-12-03 22:30:11
|
Hi Mikael, This problem seems to be another side-effect of the mnesia problem. If mnesia gets screwed up for whatever reason, then you get weird problems like the 404 issue. Once I took yapp out of my yapp's application dependencies, lots of problems disappeared. I do use yapp appmods, but they seem to be working fine for the moment. I haven't noticed any oddities with URLs, and I figured out the documentation "/" yapp appmod issue through trial and error. Last night I noticed that if I put my Macbook Pro to sleep with yaws still running, I wake it up to find many "Mnesia is overloaded" warnings. If I try to run yaws with my yapp and appmods after that, I then sometimes see the strange 404 problems, and generally things just don't work. The only way I've found to eliminate those problems is to delete and recreate the mnesia tables, and then add my yapp again via the "yapp" web page. Fortunately, all I have to do to avoid that is to remember to stop yaws before sleeping the laptop. thanks, --steve On 12/3/07, Mikael Karlsson <mik...@cr...> wrote: > Hi Steve, > I am not able to repeat this error, so I probably need some more info here. > > Does this happen for a specific URL in your application (and not for all)? Do > you use (yapp_)appmods or any redirects, using the function yapp:prepath/1? > It seems that the documentation for private appmods are a bit out of date, and > that you should not use a leading "/" in the path for tha appmod in the .app > file. > Do you see any "strange" look in your browsers URL like "//" or something? > If you have any idea why this happens please let me know. > > Thanks > Mikael > > > Tuesday 27 November 2007 16:10:19 Steve Vinoski wrote: > > Hi, I've got a few yapp questions. I'm relatively new to all this so > > please be gentle. :-) > > > > 1. I believe have my yapp properly configured as per the instructions. > > I do the mnesia:create_schema([node()]) thing. I run yaws, visit the > > /yapp URL, and using that menu, add my yapp. It starts and runs > > correctly, but occasionally I visit one of its URLs and it returns > > 404, but if I just refresh the browser all is well. Any ideas why? > > > |
From: Mikael K. <mik...@cr...> - 2007-12-12 18:39:21
|
OK, well putting a live database to sleep may be a somewhat exceptional use case. Nevertheless I don't think it should corrupt your database. The "Mnesia is overloaded" warning is just a warning telling that Mnesia has much to do for the moment, but if the load goes down it will be back on track. Yapp is actually not accessing the dabase, unless you do updates to the configuration, at start time and when Yaws is "hupped", but maybe there are other applications that you have that interact with Mnesia too. One way to introspect Mnesa (and Erlang applications) is to use the toolbar application. Unless you don't already use it, just start it from the Erlang shell were you started Yaws interactively; toolbar:start(). The widget in the leftmost position is the table visulizer, and selecting "mnesia tables" in one of the option menus gives you the possibility to introspect and change table contents. The yapp registry is in the y_registry table. I will commit fixes to documentation and to the start up problems soon.... Best Regards Mikael Monday 03 December 2007 23:30:06 Steve Vinoski wrote: > Hi Mikael, > > This problem seems to be another side-effect of the mnesia problem. If > mnesia gets screwed up for whatever reason, then you get weird > problems like the 404 issue. Once I took yapp out of my yapp's > application dependencies, lots of problems disappeared. > > I do use yapp appmods, but they seem to be working fine for the > moment. I haven't noticed any oddities with URLs, and I figured out > the documentation "/" yapp appmod issue through trial and error. > > Last night I noticed that if I put my Macbook Pro to sleep with yaws > still running, I wake it up to find many "Mnesia is overloaded" > warnings. If I try to run yaws with my yapp and appmods after that, I > then sometimes see the strange 404 problems, and generally things just > don't work. The only way I've found to eliminate those problems is to > delete and recreate the mnesia tables, and then add my yapp again via > the "yapp" web page. Fortunately, all I have to do to avoid that is to > remember to stop yaws before sleeping the laptop. > > thanks, > --steve |
From: Steve V. <vi...@ie...> - 2007-12-12 18:03:35
|
Thanks for all the help. Everything has been working very well, I haven't seen any corruption or other such issues at all lately. --steve On 12/12/07, Mikael Karlsson <mik...@cr...> wrote: > OK, > well putting a live database to sleep may be a somewhat exceptional use case. > Nevertheless I don't think it should corrupt your database. The "Mnesia is > overloaded" warning is just a warning telling that Mnesia has much to do for > the moment, but if the load goes down it will be back on track. > Yapp is actually not accessing the dabase, unless you do updates to the > configuration, at start time and when Yaws is "hupped", but maybe there are > other applications that you have that interact with Mnesia too. > One way to introspect Mnesa (and Erlang applications) is to use the toolbar > application. Unless you don't already use it, just start it from the Erlang > shell were you started Yaws interactively; toolbar:start(). > The widget in the leftmost position is the table visulizer, and > selecting "mnesia tables" in one of the option menus gives you the > possibility to introspect and change table contents. The yapp registry is in > the y_registry table. > > I will commit fixes to documentation and to the start up problems soon.... > > Best Regards > Mikael > > > Monday 03 December 2007 23:30:06 Steve Vinoski wrote: > > Hi Mikael, > > > > This problem seems to be another side-effect of the mnesia problem. If > > mnesia gets screwed up for whatever reason, then you get weird > > problems like the 404 issue. Once I took yapp out of my yapp's > > application dependencies, lots of problems disappeared. > > > > I do use yapp appmods, but they seem to be working fine for the > > moment. I haven't noticed any oddities with URLs, and I figured out > > the documentation "/" yapp appmod issue through trial and error. > > > > Last night I noticed that if I put my Macbook Pro to sleep with yaws > > still running, I wake it up to find many "Mnesia is overloaded" > > warnings. If I try to run yaws with my yapp and appmods after that, I > > then sometimes see the strange 404 problems, and generally things just > > don't work. The only way I've found to eliminate those problems is to > > delete and recreate the mnesia tables, and then add my yapp again via > > the "yapp" web page. Fortunately, all I have to do to avoid that is to > > remember to stop yaws before sleeping the laptop. > > > > thanks, > > --steve > > > > |