PostgreSQL - unrecognized win32 error code: 38
Hi All I encountered one problem. It repeats again and again. Please help. "ComputeComputer" is one stored procedure. The version of PostgreSQL I am using is 12. 2019-10-26 07:36:58.880 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.880 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.889 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.889 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.889 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.890 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.890 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.890 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.900 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.900 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.900 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.900 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.900 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.900 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.910 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.910 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.910 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.911 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.911 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.911 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.919 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.919 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.919 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.920 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.920 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.920 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.933 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.933 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.933 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.934 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.934 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.934 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.943 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.943 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.943 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.944 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.944 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.944 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.953 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.953 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.953 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.954 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.954 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.954 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.963 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.963 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.963 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.964 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.964 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.964 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.973 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.973 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.973 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.974 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.974 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.974 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.983 HKT [5376] LOG: unrecognized win32 error code: 38 2019-10-26 07:36:58.983 HKT [5376] CONTEXT: SQL function "ComputeComputer" statement 1 2019-10-26 07:36:58.983 HKT [5376] STATEMENT: CALL "dbo"."ComputeComputer"(1) 2019-10-26 07:36:58.984 HKT [5376] LOG: unrecognized win32 error code
Re: PostgreSQL - unrecognized win32 error code: 38
The following is the SQL statement of that function. DROP TABLE IF EXISTS "GenericReadList" ; CREATE TEMP TABLE "GenericReadList"( "ComputerProfileId" int NOT NULL, "Trustee" uuid NOT NULL, "AccessControlType" smallint NULL, "AceOrder" int NULL ); INSERT INTO "GenericReadList" SELECT t1."ComputerProfileId", t1."Trustee", t1."AccessControlType", t1."AceOrder" FROM ( SELECT a."ComputerProfileId", s."ADUser" "Trustee", a."AccessControlType", a."AceOrder" FROM "TmpResult" r INNER JOIN "TmpTrusteeSid" s ON s."ADUser" = r."Trustee" INNER JOIN "AccessRights" a ON a."TrusteeSid" = s."Sid" AND r."ComputerProfileId" = a."ComputerProfileId" AND a."AccessRight" = 4 ) t1 Thanks Jacky On Sun, Oct 27, 2019 at 7:45 AM Tom Lane wrote: > Michael Paquier writes: > > On Sat, Oct 26, 2019 at 11:02:26AM -0700, Adrian Klaver wrote: > >> Not sure how that can be answered without knowing what ComputeComputer > is > >> doing? > > > Yes, there is nothing of this kind in the PostgreSQL code. > > Sure there is: win32error.c produces exactly that message if its > mapping table has no entry for the Windows error code. > > According to > > > https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-?redirectedfrom=MSDN > > code 38 decimal is ERROR_HANDLE_EOF, "Reached the end of the file.", > which indeed is not in the doserrors[] table. > > But that just deepens the mystery --- if we hit an EOF, why wasn't > that handled through more-normal channels? We still need to know > what that function was trying to do, and whether any non-core > C code was involved. > > regards, tom lane >
Re: PostgreSQL - unrecognized win32 error code: 38
No, it doesn't call any in-core code. The following is the code in that function DROP TABLE IF EXISTS "GenericReadList" ; CREATE TEMP TABLE "GenericReadList"( "ComputerProfileId" int NOT NULL, "Trustee" uuid NOT NULL, "AccessControlType" smallint NULL, "AceOrder" int NULL ); INSERT INTO "GenericReadList" SELECT t1."ComputerProfileId", t1."Trustee", t1."AccessControlType", t1."AceOrder" FROM ( SELECT a."ComputerProfileId", s."ADUser" "Trustee", a."AccessControlType", a."AceOrder" FROM "TmpResult" r INNER JOIN "TmpTrusteeSid" s ON s."ADUser" = r."Trustee" INNER JOIN "AccessRights" a ON a."TrusteeSid" = s."Sid" AND r."ComputerProfileId" = a."ComputerProfileId" AND a."AccessRight" = 4 ) t1 On Mon, Oct 28, 2019 at 5:56 PM Michael Paquier wrote: > On Mon, Oct 28, 2019 at 09:51:07AM -0700, ZhenHua Cai wrote: > > The following is the SQL statement of that function. > > > > DROP TABLE IF EXISTS "GenericReadList" ; > > CREATE TEMP TABLE "GenericReadList"( > > "ComputerProfileId" int NOT NULL, > > "Trustee" uuid NOT NULL, > > "AccessControlType" smallint NULL, > > "AceOrder" int NULL > > ); > > The original complain comes from a function called ComputeComputer. > What does it do and where does it come from? Does it call any in-core > code which would cause the failure. If the function is a SQL > function, could you provide a self-contained test case? > -- > Michael >