Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Skylark reaching "beta" status, first 6 chapters of tutorial available..
Re: Skylark reaching "beta" status, first 6 chapters of tutorial available.. [message #36813 is a reply to message #36800] Sun, 08 July 2012 15:50 Go to previous messageGo to previous message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi Mirek,

Great work, the tutorials almost made me want to write a web-app Smile

However, I found a little problem... Out of curiosity, I tried to run ab (Apache Benchmark) on Skylark based application, namely tutorial/Skylark04. It works great, but only sometimes. After a (variable) number of requests, the application fails with assert:
Log:

****************** ASSERT FAILED: Assertion failed in /home/h/upp-production/uppsrc/Core/String.cpp, line 38
rc->refcount > 0


LastErrorMessage: No such file or directory


Backtrace:

Upp::AssertFailed (file=0x83fdb2f "/home/h/upp-production/uppsrc/Core/String.cpp", line=38, cond=0x84016ea "rc->refcount > 0") at /home/h/upp-production/uppsrc/Core/Util.cpp:110
Upp::String0::LFree (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.cpp:38
Upp::String0::Free (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.h:226
Upp::String0::~String0 (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.h:303
Upp::AString<Upp::String0>::~AString (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.h:34
Upp::Moveable<Upp::String, Upp::AString<Upp::String0> >::~Moveable (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/Topt.h:195
Upp::String::~String (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.h:306
Upp::String::~String (this=0xb426bf18) at /home/h/upp-production/uppsrc/Core/String.h:306
Upp::RawHtmlText::~RawHtmlText (this=0xb426bf18) at /home/h/upp-production/uppsrc/Skylark/Witz.h:14
Upp::RawHtmlText::~RawHtmlText (this=0xb426bf18) at /home/h/upp-production/uppsrc/Skylark/Witz.h:14
Upp::RawValueRep<Upp::RawHtmlText>::~RawValueRep (this=0xb426bf10) at /home/h/upp-production/uppsrc/Core/Value.hpp:70
Upp::RawValueRep<Upp::RawHtmlText>::~RawValueRep (this=0xb426bf10) at /home/h/upp-production/uppsrc/Core/Value.hpp:70
Upp::RawValueRep<Upp::RawHtmlText>::~RawValueRep (this=0xb426bf10) at /home/h/upp-production/uppsrc/Core/Value.hpp:70
Upp::Value::Void::Release (this=0xb426bf10) at /home/h/upp-production/uppsrc/Core/Value.h:85
Upp::Value::RefRelease (this=0xb626fa68) at /home/h/upp-production/uppsrc/Core/Value.cpp:25
Upp::Value::~Value (this=0xb626fa68) at /home/h/upp-production/uppsrc/Core/Value.h:239
Upp::Value::~Value (this=0xb626fa68) at /home/h/upp-production/uppsrc/Core/Value.h:239
Upp::Compiler::ExeBlock::Eval (this=0xb41a4ef0, x=...) at /home/h/upp-production/uppsrc/Skylark/Exe.cpp:386
Upp::Render (exe=..., r=0xb62706a0, var=...) at /home/h/upp-production/uppsrc/Skylark/Exe.cpp:395
Upp::Http::RenderResult (this=0xb62706a0, template_name=0x83fbfaa "Skylark04/index") at /home/h/upp-production/uppsrc/Skylark/Http.cpp:290
HomePage (http=...) at /home/h/upp-production/tutorial/Skylark04/main.cpp:7
Upp::Http::Dispatch (this=0xb62706a0, socket=...) at /home/h/upp-production/uppsrc/Skylark/Dispatch.cpp:327
Upp::SkylarkApp::RunThread (this=0xbffff3d8) at /home/h/upp-production/uppsrc/Skylark/App.cpp:67
Upp::SkylarkApp::WorkThread (this=0xbffff3d8) at /home/h/upp-production/uppsrc/Skylark/App.cpp:32
Upp::SkylarkApp::ThreadRun (this=0xbffff3d8) at /home/h/upp-production/uppsrc/Skylark/App.cpp:37
Upp::CallbackMethodAction<Upp::SkylarkApp, void (Upp::SkylarkApp::*)()>::Execute (this=0xb7fda7a0) at /home/h/upp-production/uppsrc/Core/Callback0.h:24
Upp::Callback::Execute (this=0xb7fd81b0) at /home/h/upp-production/uppsrc/Core/Callback.cpp:7
Upp::Callback::operator() (this=0xb7fd81b0) at /home/h/upp-production/uppsrc/Core/Cbgen.h:32
Upp::sThreadRoutine (arg=0xb7fd81b0) at /home/h/upp-production/uppsrc/Core/Mt.cpp:75
start_thread () from /lib/libpthread.so.0
clone () from /lib/libc.so.6


I guess there is some concurrency issue... To reproduce, you can run
ab -n 1000 -c 20 http://127.0.0.1:8001/myapp
.

And BTW: there is a lot of DLOGs and DDUMPs scattered in the skylark code, so it is not directly compilable in release mode Wink

Best regards,
Honza
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Is U++ compatible with VC++ Express 2012?
Next Topic: Another problem with MT (damn it... :()
Goto Forum:
  


Current Time: Mon Apr 29 13:39:46 CEST 2024

Total time taken to generate the page: 0.03455 seconds