silvioprog / brookframework

Microframework which helps to develop web Pascal applications.
https://github.com/risoflora/brookframework
GNU Lesser General Public License v3.0
170 stars 37 forks source link

Embedded server project dies after first visit #59

Closed Gys closed 10 years ago

Gys commented 11 years ago

Hi

I just downloaded brookframework latest master from git and installed it (by using brookex.lpk) in Lazarus 1.0.10 / Windows 8.1 preview.

1) After install it was unclear which package I had to install. Please add that to readme. Also: what are the other packages for ?

2) I created a new brookframework project using the wizard and choose for 'embedded server'. Without making any modification I saved and compiled the project. If I run this, I get an exception soon after the first page request: 'Missing http protocol version in request' Is the embedded server no good ?!

leledumbo commented 11 years ago

1) database backend support 2) use fpc trunk, there are A LOT of fixes to fcl-web since 2.6.2

silvioprog commented 11 years ago

Embedded server is good and stable, and I'll test the embedded server in a latest stable Free Pascal. We can't "force" the programers to use unstable versions of the compiler, this may compromise developers who want to use Brook in production.

silvioprog commented 11 years ago

You can send a patch to we update the readme file. See descriptions below:

You need to install only the EX package. RT is only if you don't want to install wizards in your IDE. RT packets don't requires installation.

Please, send a patch to update readme file. :+1:

silvioprog commented 11 years ago

Working fine. My environment:

Lazarus 1.0.10 r41613 FPC 2.6.2 i386-win32-win32/win64 (Windows 8 - 64 bits)

Please see:

http://imagebin.org/269132

Gys commented 11 years ago

@Silvio:

Ok, the environment is the same if you use the default (part of the Lazarus 1.0.10 download) FPC / fcl-web. This is my setup: http://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%201.0.10/

Please can you verify: Start the project1.exe and then open a browser to http://localhost/ Wait until the page comes up ('here your content'), then wait a few seconds Then refresh the that page A few seconds (10-15) after the second request, my project1.exe dies

I also transferred the same project1.exe to an older machine with XP pro SP3. On that machine the app dies as well - even before the first page loads.

My conclusion: to me it seems the default setup of Lazarus 1.0.10 with latest Brook framework is not stable :-(

The instability seems regardless of the OS. So there is a difference between your Lazarus setup and mine. OR: both my Win 8.1 preview and XP SP3 machines are actually virtual machines. It is possible that makes a difference ?

Can you please also run your project1.exe on other machines ?

leledumbo commented 11 years ago

@silvio: I think we both know 2.6.2 contains bugs in embedded server and which have been fixed in trunk. We can't force them to use trunk but we can't fix either since the problem is in fcl-web. I take a fixed version of fcl-web for use with my stable fpc at office

silvioprog commented 11 years ago

@Gys, I'll do some testing in a virtual machine with Windows XP.

@leledumbo, yes and you're right. I remembered these fixes. Please, can you do a test with Windows in a virtual machine?

I will return with the results of my tests ...

silvioprog commented 11 years ago

@Gys, you are using port 80?

silvioprog commented 11 years ago

The problem occurs for me too. Please see:

http://silvioprog.com.br/video/es.html

I'll try to fix it in FCL ...

silvioprog commented 11 years ago

Reported too:

http://bugs.freepascal.org/view.php?id=24923

Gys commented 11 years ago

@Silvio: yes I use port 80 - that is the default port and I did not change anything in this minimal project

I tried to solve the problem by getting the latest source for fcl-web. However, that did not work :-(

Maybe I did something wrong with the 'upgrade' ? I am not very familiar with Lazarus / fpc.

These are my steps:

Checkout the fcl-web latest trunk: 'svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/fcl-web fcl-web' Replaced the 'C:\lazarus\fpc\2.6.2\source\packages\fcl-web' folder with the new 'fcl-web' folder Build the Lazarus IDE with profile 'normal IDE'

Like I said, this does not solve the original problem ?

I just now realize it might be necessary to build the fpc from sources ?! Oh....

Please comment.

uaply commented 11 years ago

Probably in your case Lazarus/FPC uses precompiled units stored elsewhere. Try to put files from fcl-web trunk to your test project directory. When compiler sees pascal files in current directory, it tries to recompile them from the source. Start with custhttpapp.pp file and when compiler complies it can't find other files add them too.

Gys commented 11 years ago

I added the fcl-web base src files to the project: saved in a sub-dir and added the sub-dir to the projects 'other unit files'. That seems to work because I get file not found if I add only on file. So far so good. However, then the compiler complaints about the Brook framework files... It cannot find some of these files (ie brook.inc and BrookUtils unit). Even if I add the path to these files to 'other unit files' as well ?!

uaply commented 11 years ago

Brook framework also should be compiled with new fcl-web files, so the same trick should be applied to BrookRT.lpk project. Try to add 'sub-dir' to 'other unit files' also there.

Gys commented 11 years ago

That results in errors for fcl-web files again....

Sorry, I give up. Time is running out and deadlines are nearing. Maybe in the future for some other project.

silvioprog commented 11 years ago

@Gys, the bug is in FCL-Web, please see my issue here: http://bugs.freepascal.org/view.php?id=24923

Seems that Michael will fix it.

silvio commented 11 years ago

Sorry hackers, can you please use @silvioprog and not @silvio? I'm not involved in your project :-P TIA Silvio

silvioprog commented 10 years ago

It will fixed by Free Pascal team. Thank you! :+1:

tudor2012 commented 10 years ago

Hi silvioprog, Do you think the bug at freepascal could be reopened (i did not reopen or post bugs with FPC)? As per my testing with Lazarus 1.2 and FPC 2.6.4 on Windows XP 32 the issue does not occur on Internet Explore but occurs with Opera.

Please advise. Thank you

michaelvanham commented 10 years ago

Hello,

By default Lazarus 1.2 is built with FPC 2.6.2 and will use 2.6.2 when compiling programs. Please double check that your program is being compiled with FPC 2.6.4.

I use FPC 2.6.4 and brookframework-2.6.4 with the embedded server and do not experience this issue in Firefox, Chrome, IE, or Opera on a Windows 8 and Windows XP system.