Hi Cristi,
That's a rather minor thing, but instead of having all the callers of
openTestFile (and openOutputFile) call klee_error or assert, I would
just call klee_error directly in openOutputFile. Let me know if you see
any problems in the attached patch.
Thanks,
Cristian
On 25/07/10 21:09, Cristian Zamfir wrote:
> Thanks for noticing. I updated it.
>
> Cristi
On Jul 25, 2010, at 9:48 PM, heechul Yun wrote:
> > I think there is a mistake.
> > Please see the red lines of your patch.
> >
> > if (WriteTestInfo) {
> > double elapsed_time = util::getWallTime() - start_time;
> > std::ostream *f = openTestFile("info", id);
> > if(f) {
> > *f << "Time to generate test case: "
> > << elapsed_time << "s\n";
> > delete f;
> > }
> > } else {
> > klee_error("unable to open output test case .info file");
> > }
> > }
> > }
> >
> > I think the correct code should be the following
> >
> > if (WriteTestInfo) {
> > double elapsed_time = util::getWallTime() - start_time;
> > std::ostream *f = openTestFile("info", id);
> > if(f) {
> > *f << "Time to generate test case: "
> > << elapsed_time << "s\n";
> > delete f;
> > } else {
> > klee_error("unable to open output test case .info file");
> > }
> > }
> >
> >
> > Best
> >
> > Heechul
> >
> >
> > On Sun, Jul 25, 2010 at 2:41 PM, Cristian Zamfir
<cristian.zamfir at epfl.ch> wrote:
> >
> > Hi Cristi,
> >
> > You are right, I doubt that the reasons for running out of fds are
transient, so it is better to stop. I modified the patch.
> >
> >
> >
> > Cristi
> >
> >
> > On Jul 16, 2010, at 8:19 PM, Cristian Cadar wrote:
> >
>> > >
>> > > Hi Cristi,
>> > >
>> > > That's a good patch. I'm just wondering if there's really any
benefit of continuing execution once KLEE runs out of file descriptors.
That is, we could instead just call klee_error instead of klee_warning
in openOutputFile.
>> > >
>> > > Best,
>> > > Cristian
>> > >
>> > > On 16/07/10 17:04, Cristian Zamfir wrote:
>>> > >> This happens when Klee runs out of file descriptors. You can
avoid it by increasing the number of file descriptors using ulimit.
>>> > >>
>>> > >> The crash happens because callers of openTestFile do not check
if the return is NULL.
>>> > >> We encountered this problem before. The attached patch should
fix it, in the sense that it avoids crashing and prints a warning
instead. If it is ok, I can commit it.
>>> > >>
>>> > >> Cristi
>>> > >>
> >
> >
> >
> >
> >
> > --
> >
> > Heechul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openOutputFile.patch
Type: text/x-diff
Size: 594 bytes
Desc: not available
Url :
http://keeda.Stanford.EDU/pipermail/klee-dev/attachments/20100805/f9e32b3b/attachment.bin