On Thu, Mar 24, 2016 at 9:01 AM, Robert Haas <robertmh...@gmail.com> wrote: > On Thu, Mar 24, 2016 at 8:45 AM, Rahila Syed <rahilasye...@gmail.com> wrote: >> Server crash was reported on running vacuum progress checker view on 32-bit >> machine. >> Please find attached a fix for the same. >> >> Crash was because 32 bit machine considers int8 as being passed by reference >> while creating the tuple descriptor. At the time of filling the tuple store, >> the code (heap_fill_tuple) checks this tuple descriptor before inserting the >> value into the tuple store. It finds the attribute type pass by reference >> and hence it treats the value as a pointer when it is not and thus it fails >> at the time of memcpy. >> >> This happens because appropriate conversion function is not employed while >> storing the value of that particular attribute into the values array before >> copying it into tuple store. >> >> - values[i+3] = >> UInt32GetDatum(beentry->st_progress_param[i]); >> + values[i+3] = >> Int64GetDatum(beentry->st_progress_param[i]); >> >> >> Attached patch fixes this. > > Uggh, what a stupid mistake on my part. > > Committed. Thanks for the patch.
Oops. I forgot to credit you in the commit message. Sorry about that. :-( -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers