Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. Summary: Segfault occurs when using Perl-Tk on FC6 https://bugzilla.redhat.com/show_bug.cgi?id=235666 ------- Additional Comments From michal@xxxxxxxxxxxx 2008-01-04 17:05 EST ------- With perl-Tk-debuginfo loaded I managed to get a core and a backtrace. It looks like follows for perl-Tk-804.028-1: Core was generated by `perl testask'. Program terminated with signal 11, Segmentation fault. #0 0x00002aaaaeff0ba6 in Tk_GetOptionValue (interp=0xb57b40, recordPtr=0xb0f820 " W�", optionTable=<value optimized out>, namePtr=<value optimized out>, tkwin=0xb35720) at tkConfig.c:2280 2280 if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) { (gdb) where #0 0x00002aaaaeff0ba6 in Tk_GetOptionValue (interp=0xb57b40, recordPtr=0xb0f820 " W�", optionTable=<value optimized out>, namePtr=<value optimized out>, tkwin=0xb35720) at tkConfig.c:2280 #1 0x00002aaaaefa9f69 in FrameWidgetObjCmd (clientData=0xb0f820, interp=0xb57b40, objc=3, objv=0x7c5638) at tkFrame.c:772 #2 0x00002aaaaef8119b in Call_Tk (info=<value optimized out>, items=3, args=0x7c5638) at tkGlue.c:2283 #3 0x00002aaaaef826c0 in XStoWidget (my_perl=0x604010, cv=<value optimized out>) at tkGlue.c:2664 #4 0x0000003dd6490826 in Perl_pp_entersub () from /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so #5 0x0000003dd648a0ee in Perl_runops_standard () from /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so #6 0x0000003dd6437d9c in perl_run () from /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so #7 0x00000000004017bc in main () In frame 0 optionPtr->specPtr comes as (const Tk_OptionSpec *) 0x0 so it is not that surprising that an attempt to derefernce it segfaults. The whole *optionPtr looks like this: {specPtr = 0x0, dbNameUID = 0x31 <Address 0x31 out of bounds>, dbClassUID = 0xffffffffffff3fff <Address 0xffffffffffff3fff out of bounds>, defaultPtr = 0x3fffffffffff, extra = {monoColorPtr = 0x0, synonymPtr = 0x0, custom = 0x0}, flags = 0} Is this value legitimate or this is a symptom of a "generic trouble" in a perl mulithreading support? Replacing on line 2277 'if (optionPtr == NULL)' with 'if (optionPtr == NULL || optionPtr->specPtr == NULL )' should prevent that segfault but I have no idea if this just papers over symptomps and/or has other nasty side-effects. -- Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl Fedora-perl-devel-list mailing list Fedora-perl-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-perl-devel-list