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