On 6-4-2015 11:08, Alex Peshkoff wrote:
> There were changes. But must say that the symptom you get are quire
> strange - events block is 'const UCHAR*' parameter and does not seem to
> be modified wherever in client code. On the other hand certainly
> something bad may happen - code was really modified rather much. How can
> I try to reproduce that bug?

I am currently working on getting a stable reproduction and removing as 
much of the Jaybird specific code. I have already seen that part of the 
problem is in my own code.

The problem that seems to happen is something like:

1) create two different event blocks (1 for TEST_EVENT_A and 1 for 
TEST_EVENT_B).
2) isc_que_event for TEST_EVENT_A
3) isc_que_event for TEST_EVENT_B
4) Small pause
5) isc_event_counts + isc_que_event for TEST_EVENT_A
6) isc_event_counts + isc_que_event for TEST_EVENT_B

After step 2 (during step 3), the callback for TEST_EVENT_A is called 
with the expected length.

After step 3, the callback for TEST_EVENT_B is called with length 0 
(zero) and a null eventsList (the third argument for the callback)! As 
the length is zero, my code doesn't copy, but afterwards the event 
buffer is zeroed out by the call to isc_event_counts which I do 
unconditionally. This means step 6 fails as the event block is now invalid.

If I reverse step 2 and 3, then the problem happens with TEST_EVENT_A, 
and step 5 will fail.

The error itself is my own fault (I shouldn't have called 
isc_event_counts which zeroed out the event buffer as the result buffer 
was still empty), but I don't understand that I get an event callback 
with length zero after step 3.

As a sidenote: I don't understand why I get the callback at all at this 
point: the event hasn't been triggered on the database yet at this point.

Mark
-- 
Mark Rotteveel

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to