{"id":4349,"date":"2022-10-02T08:55:04","date_gmt":"2022-10-02T08:55:04","guid":{"rendered":"https:\/\/nenadnoveljic.com\/blog\/?p=4349"},"modified":"2022-10-02T12:18:52","modified_gmt":"2022-10-02T12:18:52","slug":"ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation","status":"publish","type":"post","link":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/","title":{"rendered":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation"},"content":{"rendered":"<h1>__intel_avx_rep_memcpy()<\/h1>\n<p>The execution of an application query was failing with <i>ORA-07445: exception encountered: core dump [<i><span style=\"color: red;\">__intel_avx_rep_memcpy()<\/span><\/i>+867] [SIGSEGV]<\/i> in Oracle 19.15.<\/p>\n<p>The function <i><span style=\"color: red;\">__intel_avx_rep_memcpy<\/span><\/i> is too generic for narrowing down the problem. Accordingly, there are many unresolved bugs where this function is failing. The <a href=\"https:\/\/github.com\/nenadnoveljic\/blogs\/blob\/master\/ora-07445-__intel_avx_rep_memcpy-rowset\/call_stack.txt\">call stack<\/a>, however, doesn&#8217;t match any known bugs.<\/p>\n<h1>Dynamic Sampling<\/h1>\n<p>The incident file revealed that the error was raised during dynamic sampling (DS):<\/p>\n<pre><code>----- Current SQL Statement for this session (sql_id=9pg2198r7avwv) -----\nSELECT \/* DS_SVC *\/ \/*+ dynamic_sampling(0) no_sql_tune no_monitoring optimizer_features_enable(default) no_parallel  *\/ NVL(SUM(C1),0) FROM (SELECT \/*+ qb_name(\"innerQuery\")  *\/ 1 AS C1 FROM (SELECT DISTINCT TO_CHAR(...<\/code><\/pre>\n<p>We immediately switched off DS with the query hint: \/*+ dynamic_sampling(0) *\/. In this case, this was acceptable, because there wasn&#8217;t a significant difference in performance of the execution plans with and without DS. However, that might not always be the case. Besides that, the same bug could also affect user queries. This uncertainty prompted me to look for alternative workarounds.<\/p>\n<h1>Rowset<\/h1>\n<p>Looking closer at the <a href=\"https:\/\/github.com\/nenadnoveljic\/blogs\/blob\/master\/ora-07445-__intel_avx_rep_memcpy-rowset\/call_stack.txt\">call stack<\/a> is always a good option for getting the context in which the error was raised. The first place to focus on is around the function where the error was thrown, that is <i><span style=\"color: red;\">__intel_avx_rep_mem<\/span><\/i>:<\/p>\n<pre><code>...\n<span style=\"color: red;\">__intel_avx_rep_mem<\/span>  signal   __sighandler()       0000001E8 7FEB2B3B0FFB\ncpy()+867                                          000000001 000000001 ?\n                                                   0179B4D8C ? 006ECE256 ?\nksxb1buf()+715       call     __intel_avx_rep_mem  0000001E8 ? 7FEB2B3B0FFB ?\n                              cpy()                000000001 ? 000000001 ?\n                                                   0179B4D8C ? 006ECE256 ?\nrworupo()+689        call     ksxb1buf()           0000001E8 ? 7FFC7694E4A0\n                                                   0000001E8 ? 000000001 ?\n                                                   0179B4D8C ? 006ECE256 ?\nqerhnWalkMM()+462    call     rworupo()            0000001E8 ? 7FFC7694E4A0 ?\n                                                   0000001E8 ? 000000001 ?\n                                                   0179B4D8C ? 006ECE256 ?\n<span style=\"color: red;\">qerhnProbeRowsetFin<\/span>  call     qerhnWalkMM()        7FFC7694FD10 000007FFE\n<span style=\"color: red;\">ishMMInner()<\/span>+2180                                  7FEB2CB048F0 7FEB2D50FF48\n                                                   7FEB340B3140 006ECE256 ?\nqerhnProbeRowsetInn  call     qerhnProbeRowsetFin  7FFC7694FD10 000007FFE\nerOnekey()+2231               ishMMInner()         000030000 360DB6920\n                                                   7FEB340B3140 ? 7FEB2C329100\nqerstRowP()+737      call     qerhnProbeRowsetInn  7FFC00000006 7FEB2C328D08\n                              erOnekey()           000030000 ? 360DB6920\n                                                   7FEB340B3140 ? 7FFC7694FD10\nqerstRowP()+737      call     qerstRowP()          7FFC00000008 7FEB2C449E50\n                                                   000030000 ? 360DB6A08\n                                                   7FEB340B3140 ? 7FFC7694FD10 ?\nkdstf11001010000100  call     qerstRowP()          7FFC00000008 7FEB2C449CD8\n0km()+9980                                         000030000 ? 360DB6B40\n                                                   7FEB340B3140 ? 7FFC7694FD10 ?\nkdsttgr()+2239       call     kdstf11001010000100  7FEB2C449000 000000000\n                              0km()                00917E4F0 7FFC7694FB30\n                                                   000007FFE 7FFC7694EEA0\nqertbFetch()+1090    call     kdsttgr()            7FEB2C449000 ? 000000000 ?\n                                                   000000000 ? 7FFC7694FB30 ?\n                                                   000007FFE ? 000007FFE\nqerstFetch()+449     call     qertbFetch()         7FEB2C449000 ? 000000000 ?\n                                                   00917E4F0 7FFC7694FB30 ?\n                                                   000007FFE ? 000007FFE ?\n...<\/code><\/pre>\n<p>According the the support note &#8220;ORA-600: [qesrLoopOverSetRowP:rows] From Query In Job That Used To Work In 11g (Doc ID 2596180.1)&#8221;, the function <i><span style=\"color: red;\">qerhnProbeRowsetInnishMMInner<\/span><\/i> participates in rowset handling. The rowset feature passes a set of rows from one operation in the execution plan to another during query execution. Switching off the rowset feature also resolved this issue:<\/p>\n<pre><code>alter session set \"_rowsets_enabled\"=FALSE <\/code><\/pre>\n<p>Without the rowset feature, rows are passed one row at a time, which is less efficient and less tested. Therefore, remember to set the parameter to TRUE again after the query execution to avoid side effects on other queries.<\/p>\n<pre><code>alter session set \"_rowsets_enabled\"=TRUE<\/code><\/pre>\n<h1>Update on October 2nd, 2022<\/h1>\n<p><a href=\"https:\/\/twitter.com\/OracleSK\/status\/1576505417433509888\">Stefan Koehler suggested an even more granular workaround<\/a>: to disable rowset functionality only for full table scan (FTS) (as in this case FTS was affected) &#8211; by setting the event 10055 to 0x00000001.<\/p>\n<p>Also here, the recommendation is to set it temporarily on the session level just for the affected query.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Workarounds provided <a href=\"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[59,5],"tags":[],"class_list":["post-4349","post","type-post","status-publish","format-standard","hentry","category-ora-07445","category-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics<\/title>\n<meta name=\"description\" content=\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics\" \/>\n<meta property=\"og:description\" content=\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/\" \/>\n<meta property=\"og:site_name\" content=\"All-round Database Topics\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-02T08:55:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-02T12:18:52+00:00\" \/>\n<meta name=\"author\" content=\"Nenad Noveljic\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@NenadNoveljic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nenad Noveljic\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/\"},\"author\":{\"name\":\"Nenad Noveljic\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\"},\"headline\":\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation\",\"datePublished\":\"2022-10-02T08:55:04+00:00\",\"dateModified\":\"2022-10-02T12:18:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/\"},\"wordCount\":337,\"commentCount\":0,\"articleSection\":[\"ORA-07445\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/\",\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/\",\"name\":\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#website\"},\"datePublished\":\"2022-10-02T08:55:04+00:00\",\"dateModified\":\"2022-10-02T12:18:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\"},\"description\":\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/\",\"name\":\"All-round Database Topics\",\"description\":\"Nenad Noveljic\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/#\\\/schema\\\/person\\\/51458d9dd86dbbdd19f5add451d44efa\",\"name\":\"Nenad Noveljic\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g\",\"caption\":\"Nenad Noveljic\"},\"sameAs\":[\"nenad-noveljic-9b746a6\",\"https:\\\/\\\/x.com\\\/NenadNoveljic\"],\"url\":\"https:\\\/\\\/nenadnoveljic.com\\\/blog\\\/author\\\/nenad\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics","description":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/","og_locale":"en_US","og_type":"article","og_title":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics","og_description":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation","og_url":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/","og_site_name":"All-round Database Topics","article_published_time":"2022-10-02T08:55:04+00:00","article_modified_time":"2022-10-02T12:18:52+00:00","author":"Nenad Noveljic","twitter_card":"summary_large_image","twitter_creator":"@NenadNoveljic","twitter_misc":{"Written by":"Nenad Noveljic","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/#article","isPartOf":{"@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/"},"author":{"name":"Nenad Noveljic","@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa"},"headline":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation","datePublished":"2022-10-02T08:55:04+00:00","dateModified":"2022-10-02T12:18:52+00:00","mainEntityOfPage":{"@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/"},"wordCount":337,"commentCount":0,"articleSection":["ORA-07445","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/","url":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/","name":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation - All-round Database Topics","isPartOf":{"@id":"https:\/\/nenadnoveljic.com\/blog\/#website"},"datePublished":"2022-10-02T08:55:04+00:00","dateModified":"2022-10-02T12:18:52+00:00","author":{"@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa"},"description":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation","breadcrumb":{"@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nenadnoveljic.com\/blog\/ora-07445-__intel_avx_rep_memcpy-during-a-rowset-operation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nenadnoveljic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ORA-07445 [__intel_avx_rep_memcpy()] During a Rowset Operation"}]},{"@type":"WebSite","@id":"https:\/\/nenadnoveljic.com\/blog\/#website","url":"https:\/\/nenadnoveljic.com\/blog\/","name":"All-round Database Topics","description":"Nenad Noveljic","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nenadnoveljic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/nenadnoveljic.com\/blog\/#\/schema\/person\/51458d9dd86dbbdd19f5add451d44efa","name":"Nenad Noveljic","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a97b796613ea48ec8a7b79c8ffe1c685dcffc920c68121f6238d5caab5070670?s=96&d=mm&r=g","caption":"Nenad Noveljic"},"sameAs":["nenad-noveljic-9b746a6","https:\/\/x.com\/NenadNoveljic"],"url":"https:\/\/nenadnoveljic.com\/blog\/author\/nenad\/"}]}},"_links":{"self":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/comments?post=4349"}],"version-history":[{"count":1,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4349\/revisions"}],"predecessor-version":[{"id":4364,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/posts\/4349\/revisions\/4364"}],"wp:attachment":[{"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/media?parent=4349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/categories?post=4349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nenadnoveljic.com\/blog\/wp-json\/wp\/v2\/tags?post=4349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}