We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


vertica 9.2 SIGFPE — Vertica Forum

vertica 9.2 SIGFPE

Hi,
I have in vertica.log :
Received fatal signal SIGFPE

Then, the server started making the db consistent , didn't manage and crashed.
Any idea, what does SIGFPE mean ?

Thank you,
Veronica

Comments

  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    The SIGFPE signal is sent to a process when it executes an erroneous arithmetic operation, such as division by zero (the name "FPE", standing for floating-point exception, is a misnomer as the signal covers integer-arithmetic errors as well).

    Anyway, can you please open a support case on this issue?

  • Thank you.
    I would like to find the log, also.

  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    The Vertica log is located in the catalog directory on each node.

    dbadmin=> SELECT node_name, catalog_path FROM nodes;
         node_name      |                       catalog_path
    --------------------+----------------------------------------------------------
     v_test_db_node0001 | /home/dbadmin/test_db/v_test_db_node0001_catalog/Catalog
     v_test_db_node0002 | /home/dbadmin/test_db/v_test_db_node0002_catalog/Catalog
     v_test_db_node0003 | /home/dbadmin/test_db/v_test_db_node0003_catalog/Catalog
    (3 rows)
    

    See:
    https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/AdministratorsGuide/Monitoring/Vertica/MonitoringLogFiles.htm

  • I am using a Community Edition version. May I open a support case ?

  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    No, but I can. Can you send me your Vertica log files?

    james.knicely@microfocus.com

    Please send the logs at the time the SIGFPE signal occurred.

  • query:

    EXPORT TO PARQUET ( directory = '/D/period_view' , size = 1024, fileSizeMB =0) over () AS
    (
    SELECT dp.zone_dst, dp.prev_time_dst, dp.time_dst
    FROM period dp
    WHERE (dp.prev_time_dst < dp.time_dst)
    UNION ALL
    SELECT t.zone_dst, t.prev_time_dst, t.time_dst
    FROM period dp,
    ( SELECT dp.zone_dst, max(dp.time_dst) AS prev_time_dst, zone_dst('utc'::varchar(3), statement_timestamp() ) AS time_dst
    FROM period dp
    WHERE (dp.prev_time_dst < dp.time_dst)
    GROUP BY dp.zone_dst
    HAVING (max(dp.time_dst) < zone_dst('utc'::varchar(3), statement_timestamp() ))
    ) t
    WHERE (dp.zone_dst = t.zone_dst) AND (dp.time_dst = t.prev_time_dst)
    ORDER BY 1, 2
    )

    CREATE TABLE period
    (
    zone_dst varchar(100),
    prev_time_dst timestamp,
    time_dst timestamp
    );

    2019-03-28 13:39:05.747 Init Session:7f99bf78f700-a0000000000816 [Session] [PQuery] TX:a0000000000816(v_db_node0001-474837:0x27) query...
    2019-03-28 13:39:05.811 Init Session:7f99bf78f700-a0000000000816 [Session] [Query] TX:a0000000000816(v_db_node0001-474837:0x27) query...
    2019-03-28 13:39:05.813 Init Session:7f99bf78f700-a0000000000816 @v_db_node0001: 01000/4320: Parameter size was not registered by the function and cannot be coerced to a definite data type
    2019-03-28 13:39:05.814 Init Session:7f99bf78f700-a0000000000816 @v_db_node0001: 01000/4320: Parameter size was not registered by the function and cannot be coerced to a definite data type
    2019-03-28 13:39:05.869 EEcmdq:7f998ffff700 [Main] Handling signal: 8
    2019-03-28 13:39:05.904 EEcmdq:7f998ffff700 [Main] Received fatal signal SIGFPE.
    2019-03-28 13:39:05.904 EEcmdq:7f998ffff700 [Main] Info: si_code: 1, si_pid: -936588715, si_uid: 32665, si_addr: 0x7f99c82cca55

    2019-03-28 13:41:02.519 INFO New log
    2019-03-28 13:41:02.519 nameless:7f7ad7ae1240 [Init] Log /D/vertica/catalog/db/v_db_node0001_catalog/vertica.log opened; #1
    2019-03-28 13:41:02.519 nameless:7f7ad7ae1240 [Init] Processing command line: /opt/vertica/bin/vertica -D /D/vertica/catalog/db/v_db_node0001_catalog -C db -n v_db_node0001 -h -p 5433 -P 4803 -Y ipv4 -c
    2019-03-28 13:41:02.519 nameless:7f7ad7ae1240 [Init] Starting up Vertica Analytic Database v9.2.0-0

  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    Thanks. What is the zone_dst function? Is this a User Defined SQL function?

  • zone_dst varchar(100) - is a field in the 'period' table.

  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    Hi,

    This part of your SQL has a function reference named ZONE_DST:

    HAVING (max(dp.time_dst) < zone_dst('utc'::varchar(3), statement_timestamp() ))

  • sorry, my fault.
    is "timezone"('utc'::varchar(3),statement_timestamp() )

    select "timezone"('utc'::varchar(3),statement_timestamp() );
    2019-04-08 15:57:24

  • My workaround was to create a view for the query and to export data using it. It worked.

  • Thank you for your help.

  • Jim_KnicelyJim_Knicely - Select Field - Administrator
    edited April 2019

    Thanks for reporting this. This is a known issue with SQL containing a UNION or UNION ALL clause.

    A fix is coming very soon in 9.2.1!

    Example of the bug:

    dbadmin=> EXPORT TO PARQUET ( directory = '/home/dbadmin/D/period_view' , fileSizeMB =0) over () AS
    dbadmin-> (
    dbadmin(> SELECT 1 a
    dbadmin(> UNION
    dbadmin(> SELECT 1 a
    dbadmin(> );
    server closed the connection unexpectedly
            This probably means the server terminated abnormally
            before or while processing the request.
    The connection to the server was lost. Attempting reset: Failed.
    
  • Jim_KnicelyJim_Knicely - Select Field - Administrator

    @vcarusi -

    Vertis 9.2.0-7 contains a "fix" for the DB crashing issue when the EXPORT TO PARQUET sql contains a UNION or UNION ALL.

    See:
    https://www.vertica.com/docs/ReleaseNotes/9.2.x/Vertica_9.2.x_Release_Notes.htm#9.2.0-7

    Example:

    dbadmin=> SELECT version();
                  version
    ------------------------------------
     Vertica Analytic Database v9.2.0-7
    (1 row)
    
    dbadmin=> EXPORT TO PARQUET ( directory = '/home/dbadmin/D/period_view' , fileSizeMB =0) over () AS
    
    dbadmin-> (SELECT 1 c UNION ALL SELECT 1 c);
    ERROR 0:  Only a single outer SELECT statement is supported
    HINT:  Please use a subquery for multiple outer SELECT statements
    
    dbadmin=> EXPORT TO PARQUET ( directory = '/home/dbadmin/D/period_view' , fileSizeMB =0) over () AS
    dbadmin-> SELECT c FROM (SELECT 1 c UNION ALL SELECT 1 c) foo;
     Rows Exported
    ---------------
                 2
    (1 row)
    
  • Thank you, @Jim_Knicely

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file