Re: fsync and semctl errors with 8.1.5/win32

From: "Thomas H(dot)" <me(at)alternize(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: fsync and semctl errors with 8.1.5/win32
Date: 2006-12-05 03:03:42
Message-ID: 00a601c71819$f98f0fe0$0201a8c0@iwing
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

>> Here's a few seconds of the log output (this has been going on for 10
>> mins as of this e-mail being sent):
>> 2006-11-28 16:16:10 LOG: could not fsync segment 0 of relation
>> 1663/16404/30267: Permission denied
>> 2006-11-28 16:16:10 ERROR: storage sync failed on magnetic disk:
>> Permission denied
>
>> Here's the FileMon output from the same seconds:
>> 4:16:10 PM postgres.exe:3168 OPEN C:\Program
>> Files\PostgreSQL\8.1\data\base\16404\30267 DELETE PEND Options:
>> Open Access: 0012019F
>
> I still don't want to make mdsync() treat EACCES as an ignorable error.
> However, in this situation we've got an infinite loop because the
> checkpoint will never succeed and thus the bgwriter will never reach
> smgrcloseall(), which seems to be what's needed to allow the deleted
> file to die the real death.
>
> Perhaps a suitable workaround would be to make the bgwriter do
> smgrcloseall in its error recovery path? That is
>
> /*
> * Sleep at least 1 second after any error. A write error is likely
> * to be repeated, and we don't want to be filling the error logs as
> * fast as we can.
> */
> pg_usleep(1000000L);
> +
> + /* Drop open files to allow deleted files to really go away */
> + smgrcloseall();
> }
>
> /* We can now handle ereport(ERROR) */
> PG_exception_stack = &local_sigjmp_buf;
>
>
> Perhaps this should be #ifdef WIN32, although there's probably no harm
> in doing it on Unixen too. Can someone test this idea?
>

in 8.2.0 the error messages changed a bit:

2006-12-05 03:47:12 [736] LOG: could not fsync segment 0 of relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:12 [736] ERROR: storage sync failed on magnetic disk:
Permission denied
2006-12-05 03:47:13 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:14 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:15 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:16 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:17 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:18 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:19 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:20 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:21 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:22 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:23 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:24 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:25 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:26 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:27 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:28 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:29 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:30 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:31 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:32 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:47:33 [736] ERROR: could not open relation
1663/16692/2361629: Permission denied
2006-12-05 03:52:34 [736] LOG: could not fsync segment 0 of relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:34 [736] ERROR: storage sync failed on magnetic disk:
Permission denied
2006-12-05 03:52:35 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:36 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:37 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:38 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:39 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:40 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
2006-12-05 03:52:41 [736] ERROR: could not open relation
1663/16692/2361668: Permission denied
... and so on.

- thomas

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2006-12-05 03:09:33 Re: fsync and semctl errors with 8.1.5/win32
Previous Message Bruno Wolff III 2006-12-04 22:11:17 Re: BUG #2802: Feature request: tinyint and unsigned types