Skip Menu |

This queue is for tickets about the Cache-FastMmap CPAN distribution.

Report information
The Basics
Id: 70972
Status: resolved
Priority: 0/
Queue: Cache-FastMmap

People
Owner: Nobody in particular
Requestors: colink [...] perlDreamer.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.39
Fixed in: (no value)



Subject: Getting segmentation faults from Cache::FastMmap
Using perl 5.10.0 We use Cache::FastMmap inside of CHI for WebGUI, and on one site we keep getting seg faults when trying to update the cache. I'll paste in stack traces from gdb and the perl debugger. #0 0x005398ec in memcpy () from /lib/libc.so.6 #1 0x0030ffd8 in mmc_do_expunge () from /data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/auto/Cache/FastMmap/FastMmap.so #2 0x0030e2d5 in XS_Cache__FastMmap_fc_expunge () from /data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/auto/Cache/FastMmap/FastMmap.so #3 0x080a0be3 in Perl_pp_entersub () #4 0x0809f4ce in Perl_runops_standard () #5 0x0809ba9c in perl_run () #6 0x0805e265 in main () Signal SEGV at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/Cache/FastMmap.pm line 762 Cache::FastMmap::set('Cache::FastMmap=HASH(0xb605528)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', '\x{f}\x{1a}qN\x{f}(rN\x{8f}krN\x{1}\x{1}\x{4}\x{7}\x{4}1234\x{4}\x{4}\x{4}\x{8}\x{3}.\x{0}\x{0}\x{0}\x{5}\x{e}\x{0}\x{0}\x{0}lastExportedAs\x{a}\x{1}3\x{9}\x{0}\x{0}\x{0}creat...') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver/FastMmap.pm line 71 CHI::Driver::FastMmap::store('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', '\x{f}\x{1a}qN\x{f}(rN\x{8f}krN\x{1}\x{1}\x{4}\x{7}\x{4}1234\x{4}\x{4}\x{4}\x{8}\x{3}.\x{0}\x{0}\x{0}\x{5}\x{e}\x{0}\x{0}\x{0}lastExportedAs\x{a}\x{1}3\x{9}\x{0}\x{0}\x{0}creat...') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver.pm line 355 eval {...} called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver.pm line 355 CHI::Driver::set_object('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'CHI::CacheObject=ARRAY(0xbcd7838)') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver/Role/IsSizeAware.pm line 67 Class::MOP::Class:::around('CODE(0xb423598)', 'Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'CHI::CacheObject=ARRAY(0xbcd7838)') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/Class/MOP/Method/Wrapped.pm line 159 Class::MOP::Method::Wrapped::__ANON__[/data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/Class/MOP/Method/Wrapped.pm:159]('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'CHI::CacheObject=ARRAY(0xbcd7838)') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/i686-linux/Class/MOP/Method/Wrapped.pm line 89 Class::MOP::Class::__ANON__::SERIAL::1::set_object('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'CHI::CacheObject=ARRAY(0xbcd7838)') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver.pm line 334 CHI::Driver::set_with_options('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'HASH(0xbc89ee8)', 'HASH(0xbc70600)') called at /data/wre/prereqs/lib/perl5/site_perl/5.10.0/CHI/Driver.pm line 305 CHI::Driver::set('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xb3b65b8)', 'wE401EXjGiFZwb-riCuiEg/2qFG85kSNxxPYg4tj-M+jQ/bCC0zkuiKPT2jrv...', 'HASH(0xbc89ee8)', 86400) called at /data/WebGUI/sbin/../lib/WebGUI/Cache/CHI.pm line 134 WebGUI::Cache::CHI::set('WebGUI::Cache::CHI=HASH(0xbbe0320)', 'HASH(0xbc89ee8)', 86400) called at /data/WebGUI/sbin/../lib/WebGUI/Asset.pm line 1936 WebGUI::Asset::new('WebGUI::Asset', 'WebGUI::Session=HASH(0xac04448)', 'PBtmpl0000000000000031', 'WebGUI::Asset::Template', 1287010049) called at /data/WebGUI/sbin/../lib/WebGUI/Asset.pm line 2103 WebGUI::Asset::newPending('WebGUI::Asset', 'WebGUI::Session=HASH(0xac04448)', 'PBtmpl0000000000000031') called at findBrokenAssets.pl line 81 eval {...} called at findBrokenAssets.pl line 81
Subject: Re: Getting segmentation faults from Cache::FastMmap
Few comments here... I was able to minimize the test case to one store that wrote a key of 68 bytes and a value of 4642 bytes. Not just any data of that size, but one exact piece of information we were trying to cache was triggering this. This would reliably SEGV. But... It looks like we erroneous thought the .dat file was being cleared out between runs (we have a command line tool for doing various things, including this). The minimal test case depended on that particular .dat file. I couldn't reproduce this otherwise. Manually removing that .dat file made the crash go away. The .dat file, if this is the case, would have been created by a previous version of Cache::FastMmap. Given that, I'm not sure how much value this bug report holds. Thanks, -scott
I'll just close this ancient ticket for now, since it seems related to a specific corruption in one file.