LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1500|回复: 4

slapt-get segment fualt

[复制链接]
发表于 2006-10-10 23:35:39 | 显示全部楼层 |阅读模式
root@localhost:~# slapt-get --search cac
段错误

slapt-get-0.9.11e
怎么解决呢
此贴在slackware11下发的,内核2.6.18 + nvidia 驱动 8774
所有软件都是最新的,gdb跟踪好像错在memcpy

(gdb) run --search cac
Starting program: /root/slapt-get-0.9.11e/slapt-get --search cac

Program received signal SIGSEGV, Segmentation fault.
0xb7d19abf in memcpy () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb7d19abf in memcpy () from /lib/tls/libc.so.6
#1  0xb7d43769 in build_wcs_upper_buffer () from /lib/tls/libc.so.6
#2  0xb7d4f673 in re_string_reconstruct () from /lib/tls/libc.so.6
#3  0xb7d4a869 in re_search_internal () from /lib/tls/libc.so.6
#4  0xb7d4988d in regexec@@GLIBC_2.3.4 () from /lib/tls/libc.so.6
#5  0x08049b83 in slapt_execute_regex (regex_t=0x81548a0,
    string=0x810e1e0 "aspell-pa: aspell-pa\naspell-pa:\naspell-pa: GNU Aspell 0.60 Punjabi (啜┌啜\234啜距ì喋\200) Dictionary Package.\naspell-pa:\n") at src/common.c:70
#6  0x0804e3af in slapt_search_pkg_list (list=0x8080300, pattern=0xbffb4660 "cac")
    at src/package.c:1346
#7  0x08057079 in slapt_pkg_action_search (pattern=0xbffb4660 "cac") at src/action.c:337
#8  0x08058a0e in main (argc=3, argv=0xbffb3464) at src/main.c:322

虽然自己调试最后肯定可以找出错误,不过我还是想看看有没有人先解决了
 楼主| 发表于 2006-10-10 23:59:06 | 显示全部楼层
似乎和locale有关
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-11 00:07:30 | 显示全部楼层
果然
#export LC_ALL=en_US
#export LANG=en_US
# slapt-get --search sendmail
procmail-3.22-i486-2 [inst=yes]: procmail (mail processing and local delivery program)
sendmail-8.13.8-i486-4 [inst=yes]: sendmail (mail transfer agent)
sendmail-cf-8.13.8-noarch-4 [inst=yes]: sendmail-cf (configuration files for sendmail)

问题解决啦:cool: :cool: :cool: :2cool
回复 支持 反对

使用道具 举报

发表于 2006-10-11 19:20:45 | 显示全部楼层
老兄,找到病根跟作者联系一下.那个家伙挺活跃,人也不错.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-16 11:59:01 | 显示全部楼层
这是作者的回信:
Odd,

If you remove the following line from /var/slapt-get/package_data the problem goes away:

aspell-pa: GNU Aspell 0.60 Punjabi (ਪੰ~\ਾਬ~@) Dictionary Package.

It looks like the regexec() call in GLIBC is barfing on that line:

#0  0x4027e55f in memcpy () from /lib/tls/libc.so.6
#1  0x402aa97d in build_wcs_upper_buffer () from /lib/tls/libc.so.6
#2  0x402aacf7 in re_string_reconstruct () from /lib/tls/libc.so.6
#3  0x402bf2c3 in re_search_internal () from /lib/tls/libc.so.6
#4  0x402c0df0 in regexec@@GLIBC_2.3.4 () from /lib/tls/libc.so.6
#5  0x08049bd3 in slapt_execute_regex (regex_t=0x808fa60,
    string=0x810c7e8 "aspell-pa: aspell-pa\naspell-pa:\naspell-pa: GNU Aspell 0.60 Punjabi
(ਪੰ��\234ਾਬ��\200) Dictionary Package.\naspell-pa:\n") at src/common.c:70
#6  0x0804e527 in slapt_search_pkg_list (list=0x807e9c0, pattern=0x7f7e29da "cli") at
src/package.c:1398
#7  0x080573fd in slapt_pkg_action_search (pattern=0x7f7e29da "cli") at src/action.c:337
#8  0x08058d92 in main (argc=3, argv=0x7f7e1474) at src/main.c:323


I'll take a look and see what I can do.


thanks!
jason
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表