| Summary: | crash after try to configure eth0 interface. | ||
|---|---|---|---|
| Product: | [Unmaintained] knetworkconf | Reporter: | Ricardson Williams <ricardsonwilliams> |
| Component: | general | Assignee: | Juan Luis Baptiste <juan.baptiste> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | linkstat, philipp.sternberg |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Slackware | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Ricardson Williams
2006-02-02 16:22:00 UTC
Which values are you using for IP address and netmask? This error I get before I put the ip address just when I click on Configure Interface bottun. Can you please post the output of running: /usr/share/apps/knetworkconf/backends/network-conf --get Thanks. <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!DOCTYPE network []>
<network>
<dialinstalled>1</dialinstalled>
<hostmatch>1</hostmatch>
<hostname>morpheus</hostname>
<smbinstalled>1</smbinstalled>
<smbuse>0</smbuse>
<nameserver>211.162.96.1</nameserver>
<nameserver>211.95.193.97</nameserver>
<order>hosts</order>
<order>bind</order>
<searchdomain>domain</searchdomain>
<statichost>
<ip>127.0.0.1</ip>
<alias>localhost</alias>
<alias>morpheus.matrix.net</alias>
<alias>morpheus</alias>
</statichost>
<interface type='modem'>
<dev>ppp0</dev>
<enabled>0</enabled>
</interface>
<interface type='loopback'>
<alias>morpheus</alias>
</statichost>
<interface type='modem'>
<dev>ppp0</dev>
<enabled>0</enabled>
</interface>
<interface type='loopback'>
<dev>lo</dev>
<enabled>1</enabled>
</interface>
<interface type='wireless'>
<dev>wlan0</dev>
<enabled>1</enabled>
<hwaddr>00:12:17:0F:0C:C0</hwaddr>
</interface>
<interface type='ethernet'>
<dev>eth0</dev>
<enabled>0</enabled>
<hwaddr>00:02:3F:05:49:6A</hwaddr>
</interface>
<profiledb>
</profiledb>
</network>
<!-- GST: end of request -->
Hi, experienced the same problem when trying to click setup on an interface (eth2) which actually is a FireWire device. As described above knetworkconf simply crashes. The backtrace looks slightly different. (see below...) The worst thing about that is that knetworkconf modifies /etc/network/interfaces by adding the line iface eth2 inet, which makes the file unreadable for ifup/ifdown scripts.
Backtrace looks like this:
(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1232812352 (LWP 3078)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#5 0xb7d86402 in inet_pton () from /lib/tls/libc.so.6
#6 0xb646875e in KAddressValidator::calculateBroadcast ()
from /usr/lib/kde3/kcm_knetworkconfmodule.so
#7 0xb64843a2 in KNetworkConf::configureDeviceSlot ()
from /usr/lib/kde3/kcm_knetworkconfmodule.so
#8 0xb6465b5b in KNetworkConfDlg::qt_invoke ()
from /usr/lib/kde3/kcm_knetworkconfmodule.so
#9 0xb648dba3 in KNetworkConf::qt_invoke ()
from /usr/lib/kde3/kcm_knetworkconfmodule.so
#10 0xb6dedc5f in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0xb6dee743 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#12 0xb71865ae in QButton::clicked () from /usr/lib/libqt-mt.so.3
#13 0xb6e8b7b7 in QButton::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#14 0xb6e28fb6 in QWidget::event () from /usr/lib/libqt-mt.so.3
#15 0xb6d83778 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#16 0xb6d83d4b in QApplication::notify () from /usr/lib/libqt-mt.so.3
#17 0xb7527fde in KApplication::notify () from /usr/lib/libkdecore.so.4
#18 0xb6d136d3 in QApplication::sendSpontaneousEvent ()
from /usr/lib/libqt-mt.so.3
#19 0xb6d0eb64 in QETWidget::translateMouseEvent ()
from /usr/lib/libqt-mt.so.3
#20 0xb6d0ce3e in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#21 0xb6d2695c in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#22 0xb6d9bea2 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#23 0xb6d82335 in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3
#24 0xb6fa2fb6 in QDialog::exec () from /usr/lib/libqt-mt.so.3
#25 0xb7ef3092 in kdemain () from /usr/lib/libkdeinit_kcmshell.so
#26 0xb7cbbed0 in __libc_start_main () from /lib/tls/libc.so.6
#27 0x080483d1 in ?? ()
---------------------------------------------------------------------------------------------
Output of /usr/share/apps/knetworkconf/backends/network-conf --get looks like this:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!DOCTYPE network []>
<network>
<dialinstalled>0</dialinstalled>
<gateway>192.168.1.1</gateway>
<gatewaydev>eth1</gatewaydev>
<hostmatch>0</hostmatch>
<hostname>phnb</hostname>
<smartdhcpcd>0</smartdhcpcd>
<smbinstalled>1</smbinstalled>
<smbuse>0</smbuse>
<winsuse>0</winsuse>
<nameserver>194.168.8.100</nameserver>
<nameserver>194.168.4.100</nameserver>
<statichost>
<ip>ff00::0</ip>
<alias>ip6-mcastprefix</alias>
</statichost>
<statichost>
<ip>127.0.0.1</ip>
<alias>localhost.localdomain</alias>
<alias>localhost</alias>
<alias>phnb</alias>
</statichost>
<statichost>
<ip>fe00::0</ip>
<alias>ip6-localnet</alias>
</statichost>
<statichost>
<ip>ff02::2</ip>
<alias>ip6-allrouters</alias>
</statichost>
<statichost>
<ip>ff02::1</ip>
<alias>ip6-allnodes</alias>
</statichost>
<statichost>
<ip>ff02::3</ip>
<alias>ip6-allhosts</alias>
</statichost>
<interface type='modem'>
<dev>ppp0</dev>
<enabled>0</enabled>
</interface>
<interface type='ethernet'>
<configuration>
<auto>0</auto>
<bootproto>none</bootproto>
<file>eth2</file>
</configuration>
<dev>eth2</dev>
<enabled>0</enabled>
<hwaddr>00-E0-18-00-03-1E-E1-F5-00-00-00-00-00-00-00-00</hwaddr>
</interface>
<interface type='loopback'>
<configuration>
<address>127.0.0.1</address>
<auto>1</auto>
<bootproto>none</bootproto>
<broadcast>127.255.255.255</broadcast>
<file>lo</file>
<netmask>255.0.0.0</netmask>
<network>127.0.0.0</network>
</configuration>
<dev>lo</dev>
<enabled>1</enabled>
</interface>
<interface type='wireless'>
<configuration>
<auto>0</auto>
<bootproto>dhcp</bootproto>
<essid>Network</essid>
<file>eth1</file>
<key>0123456789ABCDEFEDCBA98765</key>
<key_type>hexadecimal</key_type>
</configuration>
<dev>eth1</dev>
<enabled>1</enabled>
<hwaddr>00:0E:35:53:30:D1</hwaddr>
</interface>
<interface type='ethernet'>
<configuration>
<auto>0</auto>
<bootproto>dhcp</bootproto>
<file>eth0</file>
</configuration>
<dev>eth0</dev>
<enabled>1</enabled>
<hwaddr>00:11:2F:7A:0B:FC</hwaddr>
</interface>
<profiledb>
</profiledb>
</network>
<!-- GST: end of request -->
--------------------------------------------------------------------------------------------------
Regards
Philipp
*** This bug has been confirmed by popular vote. *** I had the same problem with kcontrol crashing when trying to configure interface eth0. My solution is: $ su $ ifconfig eth0 192.168.0.1 192.168.0.1 is first IP-address which I could think of; you can put whatever you want. After that you can go to kcontol and play with configuration as much as you want. I don't know if it will work for you but it did for me. *** Bug 125936 has been marked as a duplicate of this bug. *** I had same problem with package compiled on debian base machine.
After trace in gdb, it seems that the problem was cause by interface which does not configured with an address. The XML return from the system-tools-backends script thus will not have a <address> node and call to addr.latin1() in kaddressvalidator.cpp return a NULL. Simply return NULL as bad address seems fix the problem.
Regards
Henry
diff -u kdeadmin-3.5.2.orig/knetworkconf/knetworkconf/kaddressvalidator.cpp kdeadmin-3.5.2/knetworkconf/knetworkconf/kaddressvalidator.cpp
--- kdeadmin-3.5.2.orig/knetworkconf/knetworkconf/kaddressvalidator.cpp 2005-09-10 16:14:31.000000000 +0800
+++ kdeadmin-3.5.2/knetworkconf/knetworkconf/kaddressvalidator.cpp 2006-04-24 14:40:27.000000000 +0800
@@ -188,11 +188,11 @@
struct in_addr _addr, _netmask, _network;
int prefix = 0;
QString s;
- if (!inet_pton(AF_INET,addr.latin1(),&_addr))
+ if (!addr.latin1() || !inet_pton(AF_INET,addr.latin1(),&_addr))
return NULL; //bad address
else
{
- if (!inet_pton(AF_INET,netmask.latin1(),&_netmask))
+ if (!netmask.latin1() || !inet_pton(AF_INET,netmask.latin1(),&_netmask))
return NULL; //bad address
else
{
@@ -214,11 +214,11 @@
struct in_addr _addr, _netmask, _network;
int prefix = 0;
QString s;
- if (!inet_pton(AF_INET,addr.latin1(),&_addr))
+ if (!addr.latin1() || !inet_pton(AF_INET,addr.latin1(),&_addr))
return NULL; //bad address
else
{
- if (!inet_pton(AF_INET,netmask.latin1(),&_netmask))
+ if (!netmask.latin1() || !inet_pton(AF_INET,netmask.latin1(),&_netmask))
return NULL; //bad address
else
{
It was fixed for 3.5.3 by Kubuntu people, sorry for the delay here. |