Re: SerializeParamList vs machines with strict alignment - Mailing list pgsql-hackers
From | Amit Kapila |
---|---|
Subject | Re: SerializeParamList vs machines with strict alignment |
Date | |
Msg-id | CAA4eK1L6kDzCcvxLoUYm+1VUXZkHfP8fGO5gVEhntNLvfjhwyg@mail.gmail.com Whole thread Raw |
In response to | Re: SerializeParamList vs machines with strict alignment (Amit Kapila <amit.kapila16@gmail.com>) |
Responses |
Re: SerializeParamList vs machines with strict alignment
|
List | pgsql-hackers |
On Tue, Oct 2, 2018 at 11:21 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Tue, Oct 2, 2018 at 10:07 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > > > Amit Kapila <amit.kapila16@gmail.com> writes: > > > On Tue, Oct 2, 2018 at 9:38 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > >> (But it might be worth choosing slightly less > > >> generic object names, to avoid a conflict against other sub-tests > > >> later in that script.) > > > > > The function name and statement name seems okay to me. How about > > > changing the table name to fooarr or arrtest? > > > > Up to you. > > > > Okay, I have pushed the test case patch on HEAD. Attached is the > code-fix patch, let's wait for a day so that we have all the results > which can help us to discuss the merits of this patch. > By now, the added test has failed on gharial [1] with below log on the server: 2018-10-02 00:46:57.019 MDT [5bb31455.2066:193] LOG: statement: CREATE TABLE fooarr(f1 text, f2 int[], f3 text); 2018-10-02 00:46:57.147 MDT [5bb31455.2066:194] LOG: statement: INSERT INTO fooarr VALUES('1', ARRAY[1,2], 'one'); 2018-10-02 00:46:57.149 MDT [5bb31455.2066:195] LOG: statement: PREPARE pstmt(text, int[]) AS SELECT * FROM fooarr WHERE f1 = $1 AND f2 = $2; 2018-10-02 00:46:57.153 MDT [5bb31455.2066:196] LOG: statement: EXPLAIN (COSTS OFF) EXECUTE pstmt('1', make_some_array(1,2)); 2018-10-02 00:46:57.157 MDT [5bb31455.2066:197] LOG: statement: EXECUTE pstmt('1', make_some_array(1,2)); 2018-10-02 00:46:57.157 MDT [5bb31455.2066:198] DETAIL: prepare: PREPARE pstmt(text, int[]) AS SELECT * FROM fooarr WHERE f1 = $1 AND f2 = $2; 2018-10-02 00:46:57.784 MDT [5bb313c8.1da5:4] LOG: server process (PID 8294) was terminated by signal 10 2018-10-02 00:46:57.784 MDT [5bb313c8.1da5:5] DETAIL: Failed process was running: EXECUTE pstmt('1', make_some_array(1,2)); 2018-10-02 00:46:57.784 MDT [5bb313c8.1da5:6] LOG: terminating any other active server processes AFAICS, the machine details are as follows: uname -m = ia64 uname -r = B.11.31 uname -s = HP-UX uname -v = U This seems to indicate that this hardware is alignment-sensitive. I haven't done a detailed study of this architecture, but if anybody is familiar with this architecture, then feel free to share your thoughts. On a quick look at one of on this architecture, there doesn't seem to be any recommendation on aligning the memory access to 8-byte boundary. See 3.2.2 section (Addressable Units and Alignment) in doc [2]. This test doesn't seem to be executed on the chipmunk, so will wait for its results. I will further look into it tomorrow morning. [1] - https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=gharial&dt=2018-10-02%2006%3A30%3A47 [2] - https://www.csee.umbc.edu/portal/help/architecture/aig.pdf -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
pgsql-hackers by date: