[oe-commits] [Bug 5397] New: opkg segfaults during generation of a beagleboard-demo-image

bugzilla-daemon at git.openembedded.org bugzilla-daemon at git.openembedded.org
Fri Feb 5 15:25:39 UTC 2010


http://bugs.openembedded.org/show_bug.cgi?id=5397

           Summary: opkg segfaults during generation of a
                    beagleboard-demo-image
           Product: Openembedded
           Version: org.openembedded.dev
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: unspecified
        AssignedTo: openembedded-commits at lists.openembedded.org
        ReportedBy: mickael.chazaux at gmail.com


I am trying to generate an beagleboard-demo-image for the Beagleboard, using
the branch org.openembedded.dev. 
opkg segfauts during the installation of the packages in the rootfs.            

This line in classes/image.bbclass declenches the segfault.

cat /tmp/pending-locale-packages | xargs ${OPKG} -nodeps install

I managed to get a core dump, here are the informations I got : 

gdb -c core projet/OE/angstrom-dev/staging/i686-linux/usr/bin/opkg-cl

Backtrace : 

(gdb) bt
#0  0x0017a28c in pkg_formatted_field (fp=0x9f73408, pkg=0x87dad60,
field=0x18efd9 "Provides") at pkg.c:758
#1  0x0017ad66 in pkg_print_status (pkg=0x87dad60, file=0x9f73408) at pkg.c:926 
#2  0x00176ab2 in opkg_conf_write_status_files (conf=0xbfdb18b4) at
opkg_conf.c:717                        
#3  0x00171682 in write_status_files_if_changed (conf=0xbfdb18b4) at
opkg_cmd.c:122                        
#4  0x00171a92 in opkg_install_cmd (conf=0xbfdb18b4, argc=1, argv=0xbfdb1b40)
at opkg_cmd.c:556            
#5  0x0016fef1 in opkg_cmd_exec (cmd=0x193578, conf=0xbfdb18b4, argc=1,
argv=0xbfdb1b40, userdata=0x0) at opkg_cmd.c:151
#6  0x0016dda4 in opkg_op (argc=8, argv=0xbfdb1b24) at libopkg.c:98             
#7  0x080485cb in main (argc=8, argv=0xbfdb1b24) at opkg-frontend.c:27          

Some local variables : 

(gdb) pkg->name
Undefined command: "pkg->name".  Try "help".
(gdb) output pkg->name                      
0x8ad2d98 "iptables"(gdb)                   
0x8ad2d98 "iptables"(gdb) output pkg->provides[0]->name
0x8a421f0 "iptables"(gdb) output pkg->provides[1]->name
Cannot access memory at address 0x0                    
(gdb) output pkg->provides[1]                          
(abstroutput pkg->provides_count                       
2(gdb)output i                                         
1(gdb)                                                 


It seems that opkg tries to access pkg->provides[1], which is a null pointer.
The provides_count value = 2 seems quite weird to me, as the iptables control
file shows only one Provides entry.

Here is the control file from package iptables : 
--- begin file ----                              
Package: iptables                                
Version: 1.4.6-r6.0.5                            
Description: iptables network filtering tools    
Section: console/utils                           
Priority: optional                               
Maintainer: Angstrom Developers <angstrom-distro-devel at linuxtogo.org>
License: GPL                                                         
Architecture: armv7a                                                 
OE: iptables                                                         
Homepage: http://www.netfilter.org/                                  
Depends: libc6 (>= 2.9), libgcc1 (>= 4.3.3)                          
Recommends: kernel-module-ip-tables, kernel-module-iptable-nat,
kernel-module-iptable-filter, kernel-module-ipt-masquerade
Provides: iptables-utils                                                        
Source: http://netfilter.org/projects/iptables/files/iptables-1.4.6.tar.bz2
file://netfilter_remove_ipt_DSCP.patch;patch=1
--- end file ----                                                               

What is more bizzare is that using this command line outside the bitbake
environement does not make a segfault.

Command line :

(gdb) frame 7
#7  0x080485cb in main (argc=8, argv=0xbfdb1b24) at opkg-frontend.c:27
27      opkg-frontend.c: Aucun fichier ou dossier de ce type.
        in opkg-frontend.c
(gdb) output argv
(char **) 0xbfdb1b24(gdb) output argv[0]
0xbfdb3b6c "opkg-cl"(gdb) output argv[1]
0xbfdb3b74 "-f"(gdb) output argv[2]
0xbfdb3b77
"/home/mchazaux/projet/OE/angstrom-dev/staging/i686-linux/etc/opkg.conf"(gdb)
output argv[3]
0xbfdb3bbe "-o"(gdb) output argv[4]
0xbfdb3bc1
"/home/mchazaux/projet/OE/angstrom-dev/rootfs/beagleboard-demo-image"(gdb)
output argv[5]
0xbfdb3c05 "-nodeps"(gdb) output argv[6]
0xbfdb3c0d "install"(gdb) output argv[7]
0xbfdb3c15 "aspell-locale-de"(gdb) output argv[8]
0x0(gdb)

-- 
Configure bugmail: http://bugs.openembedded.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.




More information about the Openembedded-commits mailing list