Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 15:13, Alex Peshkoff wrote: > How can implementation replace interface? > Replace current implementation? Replace current interface. It was a part of new experimental plugin API. -- WBR, SD. -- Find and

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 03:45 PM, Dimitry Sibiryakov wrote: > 13.04.2016 14:36, Alex Peshkoff wrote: >> Do you use that class in IStatus implementation? > No, this object was supposed to replace current IStatus completely. > How can implementation replace interface? Replace current implementation? ---

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 14:36, Alex Peshkoff wrote: > Do you use that class in IStatus implementation? No, this object was supposed to replace current IStatus completely. -- WBR, SD. -- Find and fix application performance iss

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 01:01 PM, Dimitry Sibiryakov wrote: > 13.04.2016 11:48, Alex Peshkoff wrote: >> First - why do we show >> last error happened? Typically showing first error is better choice. And >> we use exactly this logic when for example enumerate providers in yvalve >> - first not last error show

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 01:12 PM, Dimitry Sibiryakov wrote: > 13.04.2016 11:48, Alex Peshkoff wrote: >>Performance issues >> when processing an error are not critical - compared with resources >> needed for exception throwing and catching 1 or 2 additional allocations >> of (sooner of all) small blocks a

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 11:48, Alex Peshkoff wrote: > Performance issues > when processing an error are not critical - compared with resources > needed for exception throwing and catching 1 or 2 additional allocations > of (sooner of all) small blocks are not a problem. I had a prototype that was supposed

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 11:48, Alex Peshkoff wrote: > First - why do we show > last error happened? Typically showing first error is better choice. And > we use exactly this logic when for example enumerate providers in yvalve > - first not last error shown. Next, no space state in first directory in > the list

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/12/2016 08:00 PM, Dmitry Yemanov wrote: > 12.04.2016 15:31, Dimitry Sibiryakov wrote: > >> On the other hand we can restore logic described in declaration of >> system_error and >> eliminate using of dynamic strings inside of this class. In this case >> StaticStatusVector >> should be fine.

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dmitry Yemanov
12.04.2016 15:31, Dimitry Sibiryakov wrote: > On the other hand we can restore logic described in declaration of > system_error and > eliminate using of dynamic strings inside of this class. In this case > StaticStatusVector > should be fine. I will commit a different solution. Testing it now.

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dimitry Sibiryakov
On the other hand we can restore logic described in declaration of system_error and eliminate using of dynamic strings inside of this class. In this case StaticStatusVector should be fine. -- WBR, SD. -- Find a

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dimitry Sibiryakov
12.04.2016 13:56, Dmitry Yemanov wrote: > Alex, can you suggest anything better than DynamicStatusVector in that > place? May be status_exception can have move constructor that will transfer ownership of dynamic strings to "more global" object letting them survive destruction of temporary o

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dmitry Yemanov
12.04.2016 11:01, Dimitry Sibiryakov wrote: >> I believe some other kind of status holder should be used there. >> DynamicStatusVector maybe? > > Probably. I don't know status hierarchy well. DynamicStatusVector seems to be > obvious > candidate, but I don't like its overhead. Alex, can you sugg

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dimitry Sibiryakov
12.04.2016 7:30, Dmitry Yemanov wrote: > Do you know other places where this bug exists too? I glanced through StaticStatusVector instances and it seems that this is the only affected place. -- WBR, SD. -- Find

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-12 Thread Dimitry Sibiryakov
12.04.2016 7:30, Dmitry Yemanov wrote: > I believe some other kind of status holder should be used there. > DynamicStatusVector maybe? Probably. I don't know status hierarchy well. DynamicStatusVector seems to be obvious candidate, but I don't like its overhead. > Do you know other places wh

Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-11 Thread Dmitry Yemanov
11.04.2016 22:49, Dimitry Sibiryakov wrote: > Let me show that on example from TempSpace::setupFile(): > >> Firebird::StaticStatusVector status_vector; > . >> try >> { > . >> catch (const Firebird::system_error& ex) >> { >>

[Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-11 Thread Dimitry Sibiryakov
Let me show that on example from TempSpace::setupFile(): > Firebird::StaticStatusVector status_vector; . > try > { . > catch (const Firebird::system_error& ex) > { > ex.stuffException(status_vector);