Missä linux -jakelussa olisi kunnolla toimiva versio Ekiga:sta ?

Missä linux -jakelussa olisi kunnolla toimiva versio Ekiga:sta ?

Itselläni on kokemusta Fedora 18:n Ekiga -versiosta. Kuuluu sarjaan "joten kuten toimii, jonkun aikaa", sen jälkeen kaatuu virheeseen. Parhaimmillaan sillä voi puhua tunninkin VoIP -puhelun mutta sitten koko ohjelma kaatui virhetilanteeseen.

Jos ohjelman käynnistää komentoriviltä, näkyy tällaista:

$ LANG=POSIX ekiga

(ekiga:1783): libnotify-WARNING **: Failed to connect to proxy
osutils.cxx(2294) PTLib Possible deadlock in read/write mutex 0x7f1188008830 :
thread-id=139713004828416 (0x7f117805f700), readers=0, writers=1
thread-id=139714017330944 (0x7f11b45f8700), readers=1, writers=0

assert.cxx(112) PWLib Assertion fail: Invalid array element, file /usr/include/ptlib/array.h, line 1063, Error=107
Assertion fail: Invalid array element, file /usr/include/ptlib/array.h, line 1063, Error=107

bort, ore dump, gnore? osutils.cxx(2294) PTLib Possible deadlock in read/write mutex 0x7f1188008830 :
thread-id=139712885749504 (0x7f1170ecf700), readers=0, writers=2
thread-id=139714015999744 (0x7f11b44b3700), readers=1, writers=0
thread-id=139714017330944 (0x7f11b45f8700), readers=1, writers=0

a

Aborting.

$

Niin, että... mikä siinä on, onko mutexien oikea käyttö noin vaikeaa ?

No, ehkä se C tai C -kielellä tosiaan on noin vaikeaa.

Vastaavan Windows -ohjelman olisin koodannut Delphillä, ja siinä TCriticalsection -luokka ei ole osaavalle mitenkään vaikea käytettävä.

Critical section siis on muuten kuten Mutex, mutta ei toimi prosessirajan yli. Mutta eri säikeiden välillä toki toimii ok, kunhan ne ovat samassa prosessissa. En näe mitään syytä, miksi VoIP -puheluohjelma pitäisi jakaa useampaan prosessiin, vaan 1 prosessi, useita säikeitä on ihan ok toimintamalli.

Mikähän siinä on, että linuxkoodajille ei Free Pascal kelpaa, vaan pitää väen väkisin koodata C tai C -kielillä, ja seurauksena on yleensä laatuongelmia, kun käytettävä ohjelmointikieli on niin vaikea, että koodaaja keskityy ohjelmointikielen syntaksiin eikä ratkaistavaan ongelmaan.

Onhan tuo Ekiga toki avointa lähdekoodia, vielä kun jostain löytäisi C to Pascal tai C to Objectpascal -transkooderin.

Tosin, sitten riesana olisi lähdekoodi, joka on kyllä muodollisesti pascalia tai objectpascalia, mutta "built with C/C -mindset".

Kas kun siinä missä objectpascalissa luodaan esim. TStringlist -objekti, niin C -koodaaja tekee saman käsittämättömällä pointterisekamelskalla, jonka toimintatavasta on koodia lukemalla äärimmäisen vaikea ottaa mitään selvää.

Mutta C onkin "Write Only" -ohjelmointikieli. Tästä todisteena esim. tunnettu International Obfuscated C Code Contest -kilpailu.
4247
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

"Niin, että... mikä siinä on, onko mutexien oikea käyttö noin vaikeaa ?"

Mikähän siinä on, että onko vaikeaa käyttää valmista tuotetta eikä mitään kehitysversioita?

"Missä linux -jakelussa olisi kunnolla toimiva versio Ekiga:sta ?"

Valmiissa käyttöjärjestelmässä. Esim. Debian 7, Ubuntu 12.04 LTS.

"No, ehkä se C tai C -kielellä tosiaan on noin vaikeaa."

Ei ole. Sinulle on vaikeata käsittää, että kehitysversioiden tarkoitus löytää bugeja.

"Mikähän siinä on, että linuxkoodajille ei Free Pascal kelpaa, vaan pitää väen väkisin koodata C tai C -kielillä."

Standardoidut kielet, laadukkaammat työkalut, taaksepäinyhteensopivuus, parempi suorituskyky.

C tai C eivät ole erityisen vaikeita.

Äänestä

Ota väliaikaisesti jokin muu VOIP ohjelma käyttöön kunnes virheet on korjattu. Jitsi on kokeilemisen arvoinen. Puhelun voi myös suojata ZRTP tekniikalla.

Äänestä
  • No Google :aakin voi käyttää. Ei tarvitse mitään ohjelman asennusta...

    Äänestä

Asenna Windows, niin ei tarvii arvuutella näillä palstoilla. Ikävyyksiä saa kyllä tälläkin tavalla.

Äänestä

Kommentoi aloitusta


C_llä koodattuSekoaa kirjoitti:

Missä linux -jakelussa olisi kunnolla toimiva versio Ekiga:sta ?

Itselläni on kokemusta Fedora 18:n Ekiga -versiosta. Kuuluu sarjaan "joten kuten toimii, jonkun aikaa", sen jälkeen kaatuu virheeseen. Parhaimmillaan sillä voi puhua tunninkin VoIP -puhelun mutta sitten koko ohjelma kaatui virhetilanteeseen.

Jos ohjelman käynnistää komentoriviltä, näkyy tällaista:

$ LANG=POSIX ekiga

(ekiga:1783): libnotify-WARNING **: Failed to connect to proxy
osutils.cxx(2294) PTLib Possible deadlock in read/write mutex 0x7f1188008830 :
thread-id=139713004828416 (0x7f117805f700), readers=0, writers=1
thread-id=139714017330944 (0x7f11b45f8700), readers=1, writers=0

assert.cxx(112) PWLib Assertion fail: Invalid array element, file /usr/include/ptlib/array.h, line 1063, Error=107
Assertion fail: Invalid array element, file /usr/include/ptlib/array.h, line 1063, Error=107

bort, ore dump, gnore? osutils.cxx(2294) PTLib Possible deadlock in read/write mutex 0x7f1188008830 :
thread-id=139712885749504 (0x7f1170ecf700), readers=0, writers=2
thread-id=139714015999744 (0x7f11b44b3700), readers=1, writers=0
thread-id=139714017330944 (0x7f11b45f8700), readers=1, writers=0

a

Aborting.

$

Niin, että... mikä siinä on, onko mutexien oikea käyttö noin vaikeaa ?

No, ehkä se C tai C -kielellä tosiaan on noin vaikeaa.

Vastaavan Windows -ohjelman olisin koodannut Delphillä, ja siinä TCriticalsection -luokka ei ole osaavalle mitenkään vaikea käytettävä.

Critical section siis on muuten kuten Mutex, mutta ei toimi prosessirajan yli. Mutta eri säikeiden välillä toki toimii ok, kunhan ne ovat samassa prosessissa. En näe mitään syytä, miksi VoIP -puheluohjelma pitäisi jakaa useampaan prosessiin, vaan 1 prosessi, useita säikeitä on ihan ok toimintamalli.

Mikähän siinä on, että linuxkoodajille ei Free Pascal kelpaa, vaan pitää väen väkisin koodata C tai C -kielillä, ja seurauksena on yleensä laatuongelmia, kun käytettävä ohjelmointikieli on niin vaikea, että koodaaja keskityy ohjelmointikielen syntaksiin eikä ratkaistavaan ongelmaan.

Onhan tuo Ekiga toki avointa lähdekoodia, vielä kun jostain löytäisi C to Pascal tai C to Objectpascal -transkooderin.

Tosin, sitten riesana olisi lähdekoodi, joka on kyllä muodollisesti pascalia tai objectpascalia, mutta "built with C/C -mindset".

Kas kun siinä missä objectpascalissa luodaan esim. TStringlist -objekti, niin C -koodaaja tekee saman käsittämättömällä pointterisekamelskalla, jonka toimintatavasta on koodia lukemalla äärimmäisen vaikea ottaa mitään selvää.

Mutta C onkin "Write Only" -ohjelmointikieli. Tästä todisteena esim. tunnettu International Obfuscated C Code Contest -kilpailu.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu