{"record":{"id":"0265119c105d2bf7","repo":"pola-rs/polars","slug":"polars-memory-prefetch-madvise-populate-read-is-no","errorCode":null,"errorMessage":"POLARS_MEMORY_PREFETCH=madvise_populate_read is not supported by this system","messagePattern":"POLARS_MEMORY_PREFETCH=madvise_populate_read is not supported by this system","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/polars-utils/src/mem.rs","lineNumber":149,"sourceCode":"                #[cfg(target_family = \"unix\")]\n                {\n                    madvise_willneed\n                }\n                #[cfg(not(target_family = \"unix\"))]\n                {\n                    panic!(\n                        \"POLARS_MEMORY_PREFETCH=madvise_willneed is not supported by this system\"\n                    );\n                }\n            },\n            Some(\"madvise_populate_read\") => {\n                #[cfg(target_os = \"linux\")]\n                {\n                    madvise_populate_read\n                }\n                #[cfg(not(target_os = \"linux\"))]\n                {\n                    panic!(\n                        \"POLARS_MEMORY_PREFETCH=madvise_populate_read is not supported by this system\"\n                    );\n                }\n            },\n            Some(\"force_populate_read\") => force_populate_read,\n            Some(v) => panic!(\"invalid value for POLARS_MEMORY_PREFETCH: {v}\"),\n        };\n\n        if verbose {\n            let func_name = match memory_prefetch_func as usize {\n                v if v == no_prefetch as *const () as usize => \"no_prefetch\",\n                v if v == prefetch_l2 as *const () as usize => \"prefetch_l2\",\n                v if v == madvise_sequential as *const () as usize => \"madvise_sequential\",\n                v if v == madvise_willneed as *const () as usize => \"madvise_willneed\",\n                v if v == madvise_populate_read as *const () as usize => \"madvise_populate_read\",\n                v if v == force_populate_read as *const () as usize => \"force_populate_read\",\n                _ => unreachable!(),\n            };","sourceCodeStart":131,"sourceCodeEnd":167,"githubUrl":"https://github.com/pola-rs/polars/blob/9b5d73fd00236295624374b075d16b1fe6ec6df9/crates/polars-utils/src/mem.rs#L131-L167","documentation":"Panic while parsing POLARS_MEMORY_PREFETCH: the value 'madvise_populate_read' was requested, but MADV_POPULATE_READ is Linux-only and this system is not Linux, so the requested prefetch strategy has no implementation and initialization panics.","triggerScenarios":"POLARS_MEMORY_PREFETCH=madvise_populate_read on an unsupported platform.","commonSituations":"See trigger scenarios.","solutions":["madvise_populate_read is unsupported on this OS; unset POLARS_MEMORY_PREFETCH or choose another mode."],"exampleFix":"unset POLARS_MEMORY_PREFETCH","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b5d73fd00236295624374b075d16b1fe6ec6df9","analyzedAt":"2026-08-19T12:15:06.350Z","contentChangedAt":"2026-08-19T12:15:06.350Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}