Repository 32bit  Forum
Repository 64bit  Wiki

KDE kio slave sysinfo di SUSE su slackware-current

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

KDE kio slave sysinfo di SUSE su slackware-current

Messaggioda gianco » mer giu 06, 2007 0:33

Come da topic, nuovo articolo in wikislacky, sezione scritti misti.

Ciao a tutti.
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda dapuzz » lun ago 27, 2007 22:19

Uppete!
Sto provando la versione kio-sysinfo 1.8.2 con hwinfo 13.41 opportunamente patchato.
Configurazione e compilazione vanno a buon fine, ma il kio crasha inesorabilmente con messaggio
Codice: Seleziona tutto
kio_file: *** Starting kio_sysinfo
kio_sysinfo: (/org/freedesktop/Hal/devices/volume_uuid_257e9c8a_9f10_47d4_8529_e48878d74ec1,sda3,38G Media,,true,/dev/sda3,,reiserfs,false,,media/hdd_unmounted,,---,/org/freedesktop/Hal/devices/volume_uuid_6C1095B7109588AA,sda2,37G Media,,true,/dev/sda2,/win-xp,ntfs,true,,media/hdd_mounted,,---,/org/freedesktop/Hal/devices/volume_uuid_A03C986E3C9840E8,sda1,84G Media,,true,/dev/sda1,/win-vista,ntfs,true,,media/hdd_mounted,,---)
process 1150: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 254.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace
kioslave: ####### CRASH ###### protocol = kio_sysinfo pid = 1150 signal = 6


Qualcuno ha altre esperienze?
Avatar utente
dapuzz
Linux 3.x
Linux 3.x
 
Messaggi: 1136
Iscritto il: mar mag 16, 2006 10:09

Messaggioda gianco » ven set 07, 2007 10:25

Hai per caso un floppy smontato nel tuo sistema ? Credo di aver trovato la soluzione, fammi sapere...
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda dapuzz » ven set 07, 2007 10:36

no, non ho floppy. :(
Ho provato anche a debuggare un po', ma non ci sono venuto a capo. Il crash avviene nella funzione fillMediaDevices, ma non riesco a capire quando neanche mettendo milioni di kdebug :D In più utilizzando qdbusviewver ho capito il funzionamento dello script e tutto fila liscio se lo faccio a mano.
Altre idee?
Avatar utente
dapuzz
Linux 3.x
Linux 3.x
 
Messaggi: 1136
Iscritto il: mar mag 16, 2006 10:09

Messaggioda gianco » ven set 07, 2007 10:46

Mi posti l'output di "dcop kded mediamanager fullList" ?

Prova a ricompilare sostituendo nella fill media manager

Codice: Seleziona tutto
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/" ) )


con
Codice: Seleziona tutto
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )


E' un abbozzo di soluzione, ovviamente, ma se ti funziona trovo conferma delle mie supposizioni e posso postare anche il perchè del crash.
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda dapuzz » ven set 07, 2007 11:02

Dunque, appena ti ho risposto mi sono rimesso a ridebuggare.
In pratica l'errore avviene quando riempie m_info, subito dopo il ciclo dei devices. linee 810 più o meno.

Lì mi sa che avviene un qualche errore che, senza una chiamata a dbus_error_init(&error), viene ripassato alla funzone di dopo, che quindi va in crash. Oppure in altre parole. Se metto dbus_error_init(&error) tra ogni m_info[qualcosa] = libhal_device_... allora non crasha più.

In più non riesco a trovare come prendere quelle informazioni (smbios.system.product) da qdbusviewer, cosa che mi lascia più che perplesso e mi fa sperare che il tutto possa risolversi da qui!!
Avatar utente
dapuzz
Linux 3.x
Linux 3.x
 
Messaggi: 1136
Iscritto il: mar mag 16, 2006 10:09

Messaggioda gianco » ven set 07, 2007 11:11

A me funziona. Praticamente se faccio
Codice: Seleziona tutto
dcop kded mediamanager fullList

mi viene fuori
Codice: Seleziona tutto
/org/freedesktop/Hal/devices/volume_uuid_c614b883_acac_498f_8ab2_30975e9a45b2
sda3
Dispositivo 155G

true
/dev/sda3
/home
ext3
true

media/hdd_mounted

---
/org/freedesktop/Hal/devices/volume_uuid_ea59dbde_b2f0_4435_b740_a2232c8d6e3d
sda2
Dispositivo 81G

true
/dev/sda2

ext3
false

media/hdd_unmounted

---
/org/freedesktop/Hal/devices/volume_uuid_342811C128118352
sda1
Dispositivo 81G

true
/dev/sda1
/mnt/winxp
ntfs
true

media/hdd_mounted

---
/org/freedesktop/Hal/devices/platform_floppy_0_storage
0


true
/dev/floppy/0


false

media/floppy_unmounted

Come vedi, il floppy è smontato, Ma nella FillMediaManager
Codice: Seleziona tutto
di.mounted = ( *++it == "true" ); // bool


Quando HAL prova a leggere i dati del floppy (ma credo in generale di un device smontato, ma che nel programma ha mounted="true") allora c'è il crash.
[EDIT]
Questa affermazione è, purtroppo per me, sbagliata. ( *++it == "true" ) assegna vero (booleano) se il campo *++it (stringa) è uguale a true e falso (booleano) altrimenti. Andando di fretta e di copia/incolla non avevo visto che gli uguali erano due, sorry.
[/EDIT]
Io ho bypassato il check del floppy da parte di HAL modificando il test di entrata nel ciclo, in modo da escluderlo. E' un tapullo temporaneo, devo vedere bene cosa succede con altri device...così becca sicuro gli HD e non so che altro.
Purtroppo trogliere l'assegnazione a true a di.mounted non funziona, ho già provato, non viene rilevato nessun disco. Ti faccio sapere, ora però vado a lavorare, non posso rimettermici prima di stasera.
Ultima modifica di gianco il ven set 07, 2007 14:00, modificato 2 volte in totale.
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda gianco » ven set 07, 2007 12:44

Provata la tua soluzione qui al lavoro :badgrin: :badgrin: :shock: , e devo dire che funziona anche la tua (non avevo dubbi).

Resta da vedere (ma indagherò per conto mio :D ) perchè la mia funziona (cioè bypassare il check del floppy), la tua è sicuramente più valida, perchè non altera il comportamento dell'originale.

Resta inoltre da sotituire la stringa "lsb-release" con "slackware-version" (sed fa al caso nostro) e cambiare leggermente il codice
Codice: Seleziona tutto
           m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" );
       m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );

per assegnare i valori giusti alle stringhe, poi dovremmo esserci. Inoltre non funziona il network status, (ma mi sembra che non funzioni a nessuno, negli screenshot su kde-apps non lo vedo). A me
Codice: Seleziona tutto
dcop kded networkstatus status www.google.com

restituisce sempre 1 che nel sorgente è pari a "Network Unreachable", cosa ovviamente non vera, ma potrebbe trattarsi del fatto che non ho ip pubblico.
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda dapuzz » ven set 07, 2007 15:14

gianco ha scritto:Resta inoltre da sotituire la stringa "lsb-release" con "slackware-version" (sed fa al caso nostro) e cambiare leggermente il codice
Codice: Seleziona tutto
           m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" );
       m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );

per assegnare i valori giusti alle stringhe, poi dovremmo esserci.

per quello io ho forzato in questo modo un po' penosino
Codice: Seleziona tutto
if((fp =fopen ("/etc/slackware-version", "r"))==NULL)
        m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" );
   else
  {      fclose(fp);
           m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" );
       m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " );
  }
Avatar utente
dapuzz
Linux 3.x
Linux 3.x
 
Messaggi: 1136
Iscritto il: mar mag 16, 2006 10:09

Messaggioda gianco » ven set 07, 2007 16:39

dapuzz ha scritto:per quello io ho forzato in questo modo un po' penosino
Codice: Seleziona tutto
if((fp =fopen ("/etc/slackware-version", "r"))==NULL)
        m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" );
   else
  {      fclose(fp);
           m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" );
       m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " );
  }


Io ho messo
Codice: Seleziona tutto
if((fp =fopen ("/etc/lsb-release", "r"))==NULL)
        m_info[ OS_SYSTEM ] = readFromFile( "/etc/slackware-version" );
   else
  {     
...
  }


Comunque mi sa che ci troviamo di fronte a due errori diversi: sul mio portatile dove NON ho il floppy la tua patch funge, ma in effetti non vedo poi la sezione relativa alla scheda madre, immagino che questo voglia dire che le chiamate HAL per la scheda madre sul portatile falliscono e la reinizializzazione dell'errore tampona.

A casa, dove invece ho il floppy, funziona la mia patch e vedo la sezione relativa alla scheda madre, quindi la reinizializzazione dell'errore "dovrebbe" essere superflua, ma non mi spiego perchè togliendo il floppy dal ciclo mi va tutto . Stasera provo a mettere la tua patch insieme alla mia e ti faccio sapere...
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda gianco » ven set 07, 2007 19:11

Allora: solo la tua patch sul mio desktop non funziona, c'è bisogno anche della mia ti posto il pezzo della fillMediaDevice() modificato e che sul mio desktop funziona:
Codice: Seleziona tutto
        if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )
        {
            dbus_error_init(&error);
            di.total = libhal_device_get_property_uint64(m_halContext, di.id.latin1(), "volume.size", &error);
            if (dbus_error_is_set(&error))
                di.total = 0;
            }

            di.model = libhal_device_get_property_string(  m_halContext, di.id.latin1(  ), "block.storage_device", &error );
            di.model = libhal_device_get_property_string( m_halContext, di.model.latin1( ), "storage.model", &error );

            ++it; // skip separator

            m_devices.append( di );
    }

    m_info[PRODUCT ] = libhal_device_get_property_string(  m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.product", &error );
    dbus_error_init(&error);
    m_info[MANUFACTURER ] = libhal_device_get_property_string(  m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.manufacturer", &error );
    dbus_error_init(&error);
    m_info[TYPE] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.chassis.type", &error );
    dbus_error_init(&error);
    m_info[BIOSVENDOR] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.vendor", &error );
    dbus_error_init(&error);
    m_info[BIOSVERSION] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.version", &error );
    dbus_error_init(&error);

    libhal_ctx_free(m_halContext);

    return true;


provalo magari anche sul tuo...
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda dapuzz » sab set 08, 2007 1:10

si potrebbe avvisare l'autrice per far fare una nuova versione revisionata e corretta... ho provato a contattarla, ma non so se non abbia scritto lei il kio, o se se ne sia completamente scordata!
Avatar utente
dapuzz
Linux 3.x
Linux 3.x
 
Messaggi: 1136
Iscritto il: mar mag 16, 2006 10:09

Messaggioda gianco » sab set 08, 2007 10:07

dapuzz ha scritto:si potrebbe avvisare l'autrice per far fare una nuova versione revisionata e corretta... ho provato a contattarla, ma non so se non abbia scritto lei il kio, o se se ne sia completamente scordata!


Penso che per il momento si potrebbe fare un pacchetto e farlo testare ad altri utenti, dal momento che i "fix" sembrano essere molto dipendenti dai PC su cui sono stati scritti, oppure al max fare una patch che faccia andare il tutto su slackware.

Ma l'autore è una donna? Su kde-apps è Alberto Jerrad (forse ti riferisci a quello originale di SUSE?).
Avatar utente
gianco
Linux 2.0
Linux 2.0
 
Messaggi: 172
Iscritto il: mar ott 31, 2006 8:01
Località: Pavia
Nome Cognome: Giancarlo
Slackware: current
Kernel: 2.6.33.4-smp
Desktop: kde 4.4.5

Messaggioda LocoMojo » sab ott 27, 2007 16:01

Ciao tutti,

Perdonilo, ma non parlo italiano e sto usando Babelfish per tradurrmi questo messaggio per. Spero che questo alberino sia tradotto bene, prego non prenda alcun'offesa se non è.

Chiunque qui infine è riuscito a convincere kio-sysinfo-1.8.2 per funzionare senza arrestarsi su Slackware-12 ancora? Infine lo ho convinto per compilare ieri, ma non appena lo apro si arresta e non posso calcolare fuori perchè. Sapete di un pacchetto di Slackware per kio-sysinfo-1.8.2 dovunque?

Abbia un buon giorno!

LocoMojo
LocoMojo
Linux 1.0
Linux 1.0
 
Messaggi: 1
Iscritto il: sab ott 27, 2007 15:51

Messaggioda wesbluemarine » mer dic 05, 2007 7:42

beh ho visto che ci sono alcuni pacchetti propri di suse nel repo di slacky....perchè non tenere aggiornato il sysinfo? :)
Avatar utente
wesbluemarine
Linux 1.0
Linux 1.0
 
Messaggi: 95
Iscritto il: mer set 12, 2007 7:57
Località: Lucca

Prossimo

Torna a Wikislacky

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

cron