Skype nustojo veikti

D
  • 19 Kov '13

Vakar skype veikė be problemų, šiandien bandžiau paleisti, išmetė, skype netikėtai užsidarė. Pabandžiau paleisti terminale, gavau klaidą:

Segmentavimo klaida (core dumped)

Perrašiau skype - nepadeda, ištryniau .skype katalogą - nepadeda. Kas čia per kas užėjai jai, nebūtu keletas žmonių besinaudojančių tik skype, spjaučiau į ją visai ir galvos nesukčiau...

P.S. Skype naujausia - 4.1.
Tuoj pabandysiu senesnę, 2.2 versiją.

D
  • 19 Kov '13

Sena 2.2 versija veikia be problemų...

R
  • 19 Kov '13

Na veikia pas mane ir ant ubuntu 12.04 ir kitam kompe suse 12.3 be problemu..

D
  • 19 Kov '13

Hm, paleisiu atnaujinimus šianakti ir ryt pabandysiu vėl naują versiją sudiegti.

R
  • 19 Kov '13

Veikia.UBUNTU 12.10 skype4.1.

D
  • 19 Kov '13

Hm, po updeitų skype visai nebeiveikia. Senos versijos neduoda įrašyti (per updeitus ją atnaujino vėl į naujausią), o naujausia metą tą pačia klaida segmentavimo...

Spėčiau jokio plugino ar kokio dalyko pidginui, ar emphaty nėra sukurta, kad per juos be skype programos galėčiau gauti pranešimus iš skype kontaktų?

A
  • 20 Kov '13

@donatas_s rašė:
naujausia metą tą pačia klaida segmentavimo...

Pamėgink paspaminti jų oficialiam forume:
http://community.skype.com/t5/Linux/bd-p/Linux

@donatas_s rašė:
Spėčiau jokio plugino ar kokio dalyko pidginui, ar emphaty nėra sukurta, kad per juos be skype programos galėčiau gauti pranešimus iš skype kontaktų?

Ne, skype naudoja uždara protokolą, todėl atviro kodo bendruomenės rankos surakintos šioje situacijoje.

T
Techtronic
Mindaugas N.
  • 20 Kov '13

Paleiskit skypa per GDB, arba uploadinkit core faila.

Pas mane 4.1.0.20 ir jokiu problemu, neveikia tik tada kai prelinkinu pati binary faila.
Kaip gauti backstrace:

$ seaudit
GLib (gthread-posix.c): Unexpected error from C library during 'pthread_cond_timedwait': Invalid argument.  Aborting.
[1]    25282 abort      seaudit

Kaip matome klaida abort
Kai yra source, tai be problemu pakeiti CFLAGS:

CFLAGS="-march=i686 -pipe -O0 -ggdb"

Aisku skypas nera open sourced, bet vistiek galima gauti backtrace, ir stai kaip tai padaryti:

gdb seaudit
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
For bug reporting instructions, please see:
Reading symbols from /usr/sbin/seaudit...Reading symbols from /usr/lib/debug/usr/sbin/seaudit.debug...done.
done.
gdb$

Dabar rasom gdb komanda "run":

gdb$ run
Starting program: /usr/sbin/seaudit 

[New Thread 0xaba44b40 (LWP 9323)]
GLib (gthread-posix.c): Unexpected error from C library during 'pthread_cond_timedwait': Invalid argument.  Aborting.

Program received signal SIGABRT, Aborted.
--------------------------------------------------------------------------[regs]
  EAX: 0x00000000  EBX: 0x00002462  ECX: 0x00002462  EDX: 0x00000006  o d I t s z a p c 
  ESI: 0xB7D0C761  EDI: 0xB7BB7000  EBP: 0x081A74A8  ESP: 0xBFFFD4D4  EIP: 0xB7FDD430
  CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B
--------------------------------------------------------------------------[code
=> 0xb7fdd430 <__kernel_vsyscall+16>:   pop    ebp
   0xb7fdd431 <__kernel_vsyscall+17>:   pop    edx
   0xb7fdd432 <__kernel_vsyscall+18>:   pop    ecx
   0xb7fdd433 <__kernel_vsyscall+19>:   ret    
   0xb7fdd434:  add    BYTE PTR [esi],ch
   0xb7fdd436:  jae    0xb7fdd4a0
   0xb7fdd438:  jae    0xb7fdd4ae
   0xb7fdd43a:  jb     0xb7fdd4b0
--------------------------------------------------------------------------------
0xb7fdd430 in __kernel_vsyscall ()
gdb$


Sekanti komanda bt full:

gdb$ bt full
#0  0xb7fdd430 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7a4849f in raise () from /lib/libc.so.6
No symbol table info available.
#2  0xb7a49cf6 in abort () from /lib/libc.so.6
No symbol table info available.
#3  0xb7c14644 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4  0xb7c91749 in g_cond_wait_until () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5  0xb7c1679b in g_cond_timed_wait () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#6  0x08069488 in progress_wait (progress=0x8163800) at progress.c:105
        wait_time = {tv_sec = 0x0, tv_usec = 0xc350}
#7  0x0806c4d3 in toplevel_open_log (top=0x8101d08, filename=0x8101ce8 "/var/log/audit/audit.log") at toplevel.c:645
        run = {top = 0x8101d08, file = 0x0, filename = 0x8101ce8 "/var/log/audit/audit.log", log = 0x0, result = 0x0}
        was_monitor_running = 0x0
        w = 0xb7d2f000
#8  0x0806ac5b in delayed_main (data=0xbfffd924) at seaudit.c:374
        dfd = 0xbfffd924
#9  0xb7c455f0 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0xb7c489b5 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0xb7c48d00 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0xb7c49247 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0x4897054f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#14 0x0806adf8 in main (argc=0x1, argv=0xbfffd9e4) at seaudit.c:412
        prefs = 0x8105668
        app = 0x8101ec0
        log = 0x8101ce8 "/var/log/audit/audit.log"
        policy = 0x0
        file_data = {top = 0x8101d08, log_filename = 0x8101ce8 "/var/log/audit/audit.log", policy_path = 0x0}

Turint tokia informacija (backtrace) galima ir apie sprendima galvoti.
Mano atveju problema aiskiai matosi

o Skypas veikia pasalinus ~/.skype ?

D
  • 20 Kov '13

Seną skype turiu aš parsisiuntęs, šiandien jį susidiegiau vėl, vakar pats ten sulydau vakare diegiant. Tai 2.2 versija veikia gerai, o 4.1 ne.

Pašalinus ./skype 4.1 vistiek neveikia.

Tuoj pabandysiu jūsų pasiūlytas komandas.

T
Techtronic
Mindaugas N.
  • 20 Kov '13

As tik parasiau kaip gauti backtrace tam, kad galetumet reportuoti problema Microsoft'ui, nes siame forume kazin ar yra tokiu kurie sugebes suprasti asambleri. Nors greiciausiai ir Ubuntu backtrace bus beverte

T
Techtronic
Mindaugas N.
  • 20 Kov '13

Well, tikrai saunu, ir cia jau kita problema atradai
Anyway, tau reikia ne seaudit o Skype.

D
  • 20 Kov '13
donatas@donatas-Compaq-Presario-CQ60-Notebook-PC:~$ gdb skype
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/skype...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/skype 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x08075f40 in malloc@plt ()
(gdb) bt full
#0  0x08075f40 in malloc@plt ()
No symbol table info available.
#1  0xb410c119 in ?? () from /usr/lib/nvidia-313-updates/libGL.so.1
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Čia per gdb leidžiant skype.

T
Techtronic
Mindaugas N.
  • 20 Kov '13

Jeigu nori spresti seaudit problema, tai gal reiktu sukurti nauja tema, nes as esu issprendes jau ja ir sukuriau patch'a.

Skypo problema greiciausiai del video driveriu ?

D
  • 20 Kov '13

Tu būsi teisus ko gero, vakar įdiegiau nvidia tvarkykles, tuoj mesiu jas lauk ir pasiliksiu tik atviro kodo tvarkykles ir pažiūrėsiu.

D
  • 20 Kov '13

@Techtronic rašė:
Jeigu nori spresti seaudit problema, tai gal reiktu sukurti nauja tema, nes as esu issprendes jau ja ir sukuriau patch'a.

Skypo problema greiciausiai del video driveriu ?

Problema išspresta, grįžau prie atvirojo kodo video tvarkyklių (vaizdo korta nvidia) ir skype veikia puikiai vėl. Ačiū už pagalba.

P.S. Dėl seaudint backtrace perkelsiu į naują temą, jeigu galėsi parašyk sprendimą ten.

T
Techtronic
Mindaugas N.
  • 20 Kov '13

Ok, teks dabar jau perkelti. Saunu kad veikia!

D
  • 20 Kov '13

Šiaip net nebūčiau susiejęs vaizdo plokščių tvarkyklių su skype neveikimu...

T
Techtronic
Mindaugas N.
  • 24 Kov '13

workaround jau yra.

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype

Jeigu taip paleistas skypas veikia, tai galima sukurti skripta pavadinimu skype-workaround:

#!/bin/sh
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/bin/skype $1

Ir pakeisti skype.desktop

[Desktop Entry]
Name=Skype
Comment=Skype Internet Telephony
Exec=skype-workaround %U
Icon=skype.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
MimeType=x-scheme-handler/skype;
X-KDE-Protocols=skype