#1
|
|||
|
|||
дебаг
Sergey Anohin написал(а) к All в Feb 19 16:29:49 по местному времени:
Нello! Пересобирал порты, не исключаю возможность глюка памяти. Можно ли однозначно сказать память ли моргнула? uname -ar FreeBSD server.5034.ru 12.0-STABLE FreeBSD 12.0-STABLE r343232 SERVER amd64 kgdb kernel /var/crash/vmcore.last GNU gdb (GDB) 8.2 [GDB v8.2 for FreeBSD] Copyright (C) 2018 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 "x86_64-portbld-freebsd12.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from kernel...Reading symbols from /usr/obj/usr/src/amd64.amd64/sys/SERVER/kernel.debug...done. done. Unread portion of the kernel message buffer: Fatal trap 9: general protection fault while in kernel mode cpuid = 1; apic id = 01 instruction pointer = 0x20:0xffffffff809002e8 stack pointer = 0x28:0xfffffe0000464a70 frame pointer = 0x28:0xfffffe0000464aa0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 12 (irq22: ral0) trap number = 9 panic: general protection fault cpuid = 1 time = 1549457427 KDB: stack backtrace: #0 0xffffffff80c51707 at kdb_backtrace+0x67 #1 0xffffffff80c05883 at vpanic+0x1a3 #2 0xffffffff80c056d3 at panic+0x43 #3 0xffffffff8118a9ff at trap_fatal+0x35f #4 0xffffffff81189e4d at trap+0x6d #5 0xffffffff81165c55 at calltrap+0x8 #6 0xffffffff80900043 at rt2860_intr+0x803 #7 0xffffffff80bc87d9 at ithread_loop+0x169 #8 0xffffffff80bc5943 at fork_exit+0x83 #9 0xffffffff81166c3e at fork_trampoline+0xe Uptime: 9m13s Dumping 833 out of 8077 MB:..2%..12%..22%..31%..41%..52%..62%..71%..81%..91% curthread () at ./machine/pcpu.h:230 230 _asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (OFFSETOFCURTНREAD)); (kgdb) bt #0 curthread () at ./machine/pcpu.h:230 #1 doadump (textdump=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:366 #2 0xffffffff80c0546b in kernreboot (howto=260) at /usr/src/sys/kern/kernshutdown.c:446 #3 0xffffffff80c058e3 in vpanic (fmt=<optimized out>, ap=0xfffffe0000464820) at /usr/src/sys/kern/kern_shutdown.c:872 #4 0xffffffff80c056d3 in panic (fmt=<unavailable>) at /usr/src/sys/kern/kern_shutdown.c:799 #5 0xffffffff8118a9ff in trap_fatal (frame=0xfffffe00004649b0, eva=0) at /usr/src/sys/amd64/amd64/trap.c:929 #6 0xffffffff81189e4d in trap (frame=0xfffffe00004649b0) at /usr/src/sys/amd64/amd64/trap.c:217 #7 <signal handler called> #8 ieee80211ratectl_tx_complete (ni=<optimized out>, status=<optimized out>) at /usr/src/sys/net80211/ieee80211ratectl.h:143 #9 rt2860drain_statsfifo (sc=0xfffffe004ab68000) at /usr/src/sys/dev/ral/rt2860.c:1118 #10 0xffffffff80900043 in rt2860_intr (arg=0xfffffe004ab68000) at /usr/src/sys/dev/ral/rt2860.c:1417 #11 0xffffffff80bc87d9 in intrevent_execute_handlers (p=<optimized out>, ie=<optimized out>) at /usr/src/sys/kern/kernintr.c:1043 #12 ithreadexecute_handlers (p=<optimized out>, ie=<optimized out>) at /usr/src/sys/kern/kernintr.c:1056 #13 ithreadloop (arg=<optimized out>) at /usr/src/sys/kern/kernintr.c:1136 #14 0xffffffff80bc5943 in forkexit (callout=0xffffffff80bc8670 <ithread_loop>, arg=0xfffff80003668aa0, frame=0xfffffe0000464c00) at /usr/src/sys/kern/kernfork.c:1059 #15 <signal handler called> (kgdb) С наилучшими пожеланиями, Sergey Anohin. --- wfido |
#2
|
|||
|
|||
Re: дебаг
Alex Korchmar написал(а) к Sergey Anohin в Feb 19 22:49:00 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Sergey Anohin <Sergey.Anohin@p1.f10.n5034.z2.fidonet.org> wrote: SA> Пересобирал порты, не исключаю возможность глюка памяти. Можно ли однозначно SA> сказать память ли моргнула? вообще-то в бэктрейсе твой ralink. SA> /usr/src/sys/dev/ral/rt2860.c:1417 > Alex --- ifmail v.2.15dev5.4 |
#3
|
|||
|
|||
Re: дебаг
Eugene Grosbein написал(а) к Sergey Anohin в Feb 19 06:13:33 по местному времени:
06 февр. 2019, среда, в 16:29 NOVT, Sergey Anohin написал(а): SA> Пересобирал порты, не исключаю возможность глюка памяти. Можно ли однозначно SA> сказать память ли моргнула? Однозначно скажет тебе только хороший тест памяти. И то эта "однозначность" будет с маленькой погрешностью. Если во время пересборки через ral0 бежал трафик (обновление дерева, вывод процесса по ssh, загрузка дистфайлов etc.), то проблема может быть в сетевой подсистеме и даже в самом драйвере ral(4). SA> FreeBSD server.5034.ru 12.0-STABLE FreeBSD 12.0-STABLE r343232 SERVER amd64 SA> Fatal trap 9: general protection fault while in kernel mode SA> cpuid = 1; apic id = 01 SA> instruction pointer = 0x20:0xffffffff809002e8 SA> stack pointer = 0x28:0xfffffe0000464a70 SA> frame pointer = 0x28:0xfffffe0000464aa0 SA> code segment = base 0x0, limit 0xfffff, type 0x1b SA> = DPL 0, pres 1, long 1, def32 0, gran 1 SA> processor eflags = interrupt enabled, resume, IOPL = 0 SA> current process = 12 (irq22: ral0) SA> trap number = 9 SA> panic: general protection fault SA> cpuid = 1 SA> time = 1549457427 SA> KDB: stack backtrace: SA> #0 0xffffffff80c51707 at kdb_backtrace+0x67 SA> #1 0xffffffff80c05883 at vpanic+0x1a3 SA> #2 0xffffffff80c056d3 at panic+0x43 SA> #3 0xffffffff8118a9ff at trap_fatal+0x35f SA> #4 0xffffffff81189e4d at trap+0x6d SA> #5 0xffffffff81165c55 at calltrap+0x8 SA> #6 0xffffffff80900043 at rt2860_intr+0x803 SA> #7 0xffffffff80bc87d9 at ithread_loop+0x169 SA> #8 0xffffffff80bc5943 at fork_exit+0x83 SA> #9 0xffffffff81166c3e at fork_trampoline+0xe SA> Uptime: 9m13s SA> Dumping 833 out of 8077 MB:..2%..12%..22%..31%..41%..52%..62%..71%..81%..91% SA> curthread () at ./machine/pcpu.h:230 SA> 230 asm("movq %%gs:%P1,%0" : "=r" (td) : "n" SA> (OFFSETOF_CURTНREAD)); SA> (kgdb) bt SA> #0 curthread () at ./machine/pcpu.h:230 SA> #1 doadump (textdump=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:366 SA> #2 0xffffffff80c0546b in kern_reboot (howto=260) at SA> /usr/src/sys/kern/kern_shutdown.c:446 SA> #3 0xffffffff80c058e3 in vpanic (fmt=<optimized out>, ap=0xfffffe0000464820) SA> at /usr/src/sys/kern/kern_shutdown.c:872 SA> #4 0xffffffff80c056d3 in panic (fmt=<unavailable>) at SA> /usr/src/sys/kern/kern_shutdown.c:799 SA> #5 0xffffffff8118a9ff in trap_fatal (frame=0xfffffe00004649b0, eva=0) at SA> /usr/src/sys/amd64/amd64/trap.c:929 SA> #6 0xffffffff81189e4d in trap (frame=0xfffffe00004649b0) at SA> /usr/src/sys/amd64/amd64/trap.c:217 SA> #7 <signal handler called> SA> #8 ieee80211ratectl_txcomplete (ni=<optimized out>, status=<optimized out>) SA> at /usr/src/sys/net80211/ieee80211_ratectl.h:143 SA> #9 rt2860drain_statsfifo (sc=0xfffffe004ab68000) at SA> /usr/src/sys/dev/ral/rt2860.c:1118 SA> #10 0xffffffff80900043 in rt2860_intr (arg=0xfffffe004ab68000) at SA> /usr/src/sys/dev/ral/rt2860.c:1417 SA> #11 0xffffffff80bc87d9 in intrevent_executehandlers (p=<optimized out>, SA> ie=<optimized out>) at /usr/src/sys/kern/kern_intr.c:1043 SA> #12 ithreadexecutehandlers (p=<optimized out>, ie=<optimized out>) at SA> /usr/src/sys/kern/kern_intr.c:1056 SA> #13 ithreadloop (arg=<optimized out>) at /usr/src/sys/kern/kernintr.c:1136 SA> #14 0xffffffff80bc5943 in forkexit (callout=0xffffffff80bc8670 <ithreadloop>, SA> arg=0xfffff80003668aa0, frame=0xfffffe0000464c00) at SA> /usr/src/sys/kern/kern_fork.c:1059 SA> #15 <signal handler called> SA> (kgdb) Покажи: frame 9 p sc p (struct rt2860_softc *)arg Eugene -- What would you do with a brain if you had one? --- slrn/1.0.3 (FreeBSD) |
#4
|
|||
|
|||
Re: дебаг
Eugene Grosbein написал(а) к Sergey Anohin в Feb 19 06:27:00 по местному времени:
07 февр. 2019, четверг, в 06:13 NOVT, Eugene Grosbein написал(а): SA>> /usr/src/sys/amd64/amd64/trap.c:217 SA>> #7 <signal handler called> SA>> #8 ieee80211ratectl_txcomplete (ni=<optimized out>, status=<optimized out>) SA>> at /usr/src/sys/net80211/ieee80211_ratectl.h:143 SA>> #9 rt2860drain_statsfifo (sc=0xfffffe004ab68000) at SA>> /usr/src/sys/dev/ral/rt2860.c:1118 SA>> #10 0xffffffff80900043 in rt2860_intr (arg=0xfffffe004ab68000) at SA>> /usr/src/sys/dev/ral/rt2860.c:1417 SA>> #11 0xffffffff80bc87d9 in intrevent_executehandlers (p=<optimized out>, SA>> ie=<optimized out>) at /usr/src/sys/kern/kern_intr.c:1043 SA>> #12 ithreadexecutehandlers (p=<optimized out>, ie=<optimized out>) at SA>> /usr/src/sys/kern/kern_intr.c:1056 SA>> #13 ithreadloop (arg=<optimized out>) at /usr/src/sys/kern/kernintr.c:1136 SA>> #14 0xffffffff80bc5943 in forkexit (callout=0xffffffff80bc8670 <ithreadloop>, SA>> arg=0xfffff80003668aa0, frame=0xfffffe0000464c00) at SA>> /usr/src/sys/kern/kern_fork.c:1059 SA>> #15 <signal handler called> SA>> (kgdb) EG> Покажи: EG> frame 9 EG> p sc EG> p (struct rt2860_softc *)arg Ещё покажи: frame 9 p *ni p (struct ieee80211vap )(ni->ni_vap) Eugene --- slrn/1.0.3 (FreeBSD) |
#5
|
|||
|
|||
Re: дебаг
Sergey Anohin написал(а) к Eugene Grosbein в Feb 19 15:59:37 по местному времени:
Нello Eugene* *Grosbein EG>> Покажи: EG>> frame 9 EG>> p sc EG>> p (struct rt2860_softc *)arg EG> Ещё покажи: EG> frame 9 EG> p *ni EG> p (struct ieee80211vap )(ni->ni_vap) Соppи, не успел пpочитать мессагу, я навеpно потоpопился и все погpохал, pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня сподвигло это: https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 http://freebsd.1045724.x6.nabble.com...td6294651.html вот пока пеpесобиpается... Bye, Eugene Grosbein, 07 февpаля 19 --- FIPS/IP <build 01.14> |
#6
|
|||
|
|||
Re: дебаг
Sergey Anohin написал(а) к Sergey Anohin в Feb 19 16:02:18 по местному времени:
Нello Sergey* *Anohin EG>>> Покажи: EG>>> frame 9 EG>>> p sc EG>>> p (struct rt2860_softc *)arg EG>> Ещё покажи: EG>> frame 9 EG>> p *ni EG>> p (struct ieee80211vap )(ni->ni_vap) SA> Соppи, не успел пpочитать мессагу, я навеpно потоpопился и все погpохал, SA> pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня SA> сподвигло это: SA> https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 SA> http://freebsd.1045724.x6.nabble.com...RRENT-double-p SA> anic-near- start-of-poudriere-run-td6294651.html SA> вот пока пеpесобиpается... и пока оно умеpло, собиpал сначала -j4 падало в коpку и pебутилось, пpобовал -j2 ===> lib/libypclnt (all) ===> lib/libipt (all) ===> sbin/ipf/ippool (all) ===> sbin/ipfw (all) /usr/src/sbin/ipfw/ipfw2.c:2298:18: error: use of undeclared identifier 'IPFWDYNORPНANED' if (d->state & IPFWDYNORPНANED) ^ /usr/src/sbin/ipfw/ipfw2.c:3345:17: error: use of undeclared identifier 'IPFWRCFLAGDYNAMIC' rt.flags |= IPFWRCFLAGDYNAMIC; ^ 2 errors generated. --- ipfw2.o --- * [ipfw2.o] Error code 1 make[4]: stopped in /usr/src/sbin/ipfw 1 error make[4]: stopped in /usr/src/sbin/ipfw --- allsubdirsbin/ipfw --- * [allsubdirsbin/ipfw] Error code 2 make[3]: stopped in /usr/src/sbin 1 error make[3]: stopped in /usr/src/sbin --- allsubdirsbin --- * [allsubdirsbin] Error code 2 make[2]: stopped in /usr/src A failure has been detected in another branch of the parallel make make[4]: stopped in /usr/src/lib/libipt --- allsubdirlib/libipt --- * [allsubdirlib/libipt] Error code 2 make[3]: stopped in /usr/src/lib 1 error make[3]: stopped in /usr/src/lib --- allsubdirlib --- * [allsubdirlib] Error code 2 make[2]: stopped in /usr/src 2 errors make[2]: stopped in /usr/src --- everything --- * [everything] Error code 2 make[1]: stopped in /usr/src 1 error make[1]: stopped in /usr/src --- buildworld --- * [buildworld] Error code 2 make: stopped in /usr/src 1 error make: stopped in /usr/src 16242.468u 1012.505s 2:48:57.56 170.2% 49207+3497k 416620+1484739io 86454pf+0w И тепеpь попpобую без -j2 Bye, Sergey Anohin, 07 февpаля 19 --- FIPS/IP <build 01.14> |
#7
|
|||
|
|||
Re: дебаг
Eugene Grosbein написал(а) к Sergey Anohin в Feb 19 09:16:14 по местному времени:
07 февр. 2019, четверг, в 16:02 NOVT, Sergey Anohin написал(а): SA>> Соppи, не успел пpочитать мессагу, я навеpно потоpопился и все погpохал, SA>> pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня SA>> сподвигло это: SA>> https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 SA>> http://freebsd.1045724.x6.nabble.com...RRENT-double-p SA>> anic-near- start-of-poudriere-run-td6294651.html SA>> вот пока пеpесобиpается... Ты что, собираешь 13-CURRENT? Зачем тебе оно надо? Я б тебе наоборот рекомендовал вернуться на 11.2. SA> и пока оно умеpло, собиpал сначала -j4 падало в коpку и pебутилось, SA> пpобовал -j2 Если у тебя в 12.0 сломана сетевая подсистема, то лучше во время сборки минимизировать сетевой трафик, в частности перенаправлять вывод команды make в файл: make buildworld >& /var/log/bw.log Eugene -- Как жаль, что не роняли вам на череп утюгов. Скорблю о вас - как мало вы успели. --- slrn/1.0.3 (FreeBSD) |
#8
|
|||
|
|||
Re: дебаг
Sergey Anokhin написал(а) к Eugene Grosbein в Feb 19 12:49:55 по местному времени:
08.02.2019 5:40, Eugene Grosbein пишет: SA>> Соppи, не успел пpочитать мессагу, я навеpно потоpопился и все погpохал, SA>> pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня SA>> сподвигло это: SA>> https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 SA>> http://freebsd.1045724.x6.nabble.com...RRENT-double-p SA>> anic-near- start-of-poudriere-run-td6294651.html SA>> вот пока пеpесобиpается... > Ты что, собираешь 13-CURRENT? Зачем тебе оно надо? Это для примера, ноги поди оттуда же растут. > Я б тебе наоборот рекомендовал вернуться на 11.2. Я уже понял что обновился рановато, надо было пол годика подождать ) пока оно мрет на /usr/src/sbin/ipfw/ipfw2.c:2298:18: error: use of undeclared identifier 'IPFWDYNORPНANED' if (d->state & IPFWDYNORPНANED) ^ /usr/src/sbin/ipfw/ipfw2.c:3345:17: error: use of undeclared identifier 'IPFWRCFLAGDYNAMIC' rt.flags |= IPFWRCFLAGDYNAMIC; ^ 2 errors generated. -+- ipfw2.o --- * [ipfw2.o] Error code 1 Если не получится, так и придется даунгрейд делать... Там придется наоборот сначала мир поставить а потом ядро? SA> и пока оно умеpло, собиpал сначала -j4 падало в коpку и pебутилось, SA> пpобовал -j2 > Если у тебя в 12.0 сломана сетевая подсистема, то лучше во время сборки > минимизировать сетевой трафик, в частности перенаправлять вывод команды > make в файл: make buildworld >& /var/log/bw.log я в скрине запускаю make -s --- Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
#9
|
|||
|
|||
Re: дебаг
Eugene Grosbein написал(а) к Sergey Anokhin в Feb 19 02:11:54 по местному времени:
08 февр. 2019, пятница, в 12:49 NOVT, Sergey Anokhin написал(а): SA>>> Соppи, не успел пpочитать мессагу, я навеpно потоpопился и все SA> погpохал, SA>>> pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня SA>>> сподвигло это: SA>>> https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 SA>>> http://freebsd.1045724.x6.nabble.com...RRENT-double-p SA>>> anic-near- start-of-poudriere-run-td6294651.html SA>>> вот пока пеpесобиpается... >> Ты что, собираешь 13-CURRENT? Зачем тебе оно надо? SA> Это для примера, ноги поди оттуда же растут. Все ноги ростут из CURRENT, это не повод его собирать. >> Я б тебе наоборот рекомендовал вернуться на 11.2. SA> Я уже понял что обновился рановато, надо было пол годика подождать ) SA> пока оно мрет на SA> /usr/src/sbin/ipfw/ipfw2.c:2298:18: error: use of undeclared identifier SA> 'IPFWDYNORPНANED' SA> if (d->state & IPFWDYNORPНANED) SA> ^ SA> /usr/src/sbin/ipfw/ipfw2.c:3345:17: error: use of undeclared identifier SA> 'IPFWRCFLAGDYNAMIC' SA> rt.flags |= IPFWRCFLAGDYNAMIC; SA> ^ SA> 2 errors generated. SA> -+- ipfw2.o --- SA> * [ipfw2.o] Error code 1 Так ты сорцы которой ветки-то выкачал? SA> Если не получится, так и придется даунгрейд делать... SA> Там придется наоборот сначала мир поставить а потом ядро? Всегда надо ставить сначала ядро. Только вот даунгрейд у нас официально не поддерживается и у тебя могут быть большие проблемы с /etc Лучше теперь пробуй stable/12 обновлять и собирать, оно должно собираться. SA>> и пока оно умеpло, собиpал сначала -j4 падало в коpку и pебутилось, SA>> пpобовал -j2 >> Если у тебя в 12.0 сломана сетевая подсистема, то лучше во время сборки >> минимизировать сетевой трафик, в частности перенаправлять вывод команды >> make в файл: make buildworld >& /var/log/bw.log SA> я в скрине запускаю make -s Скрин тебя не спасёт от паники, а make -s от выдачи на экран, лучше без -s делай и в файл перенаправляй, так хоть будет понятней, где ломается сборка в случае чего. Eugene --- slrn/1.0.3 (FreeBSD) |
#10
|
|||
|
|||
Re: дебаг
Sergey Anokhin написал(а) к Eugene Grosbein в Feb 19 00:10:50 по местному времени:
SA>>> pешил обновить соpцы и пеpесобpать миp и ядpо, на эти мысли меня SA>>> сподвигло это: SA>>> https://bugs.freebsd.org/bugzilla/sh....cgi?id=234296 SA>>> http://freebsd.1045724.x6.nabble.com...RRENT-double-p SA>>> anic-near- start-of-poudriere-run-td6294651.html SA>>> вот пока пеpесобиpается... >> Ты что, собираешь 13-CURRENT? Зачем тебе оно надо? SA> Это для примера, ноги поди оттуда же растут. > Все ноги ростут из CURRENT, это не повод его собирать. Я не собираю CURRENT SA> Я уже понял что обновился рановато, надо было пол годика подождать ) SA> пока оно мрет на SA> /usr/src/sbin/ipfw/ipfw2.c:2298:18: error: use of undeclared identifier SA> 'IPFWDYNORPНANED' SA> if (d->state & IPFWDYNORPНANED) SA> ^ SA> /usr/src/sbin/ipfw/ipfw2.c:3345:17: error: use of undeclared identifier SA> 'IPFWRCFLAGDYNAMIC' SA> rt.flags |= IPFWRCFLAGDYNAMIC; SA> ^ SA> 2 errors generated. SA> -+- ipfw2.o --- SA> * [ipfw2.o] Error code 1 > Так ты сорцы которой ветки-то выкачал? 12 STABLE SA> Если не получится, так и придется даунгрейд делать... SA> Там придется наоборот сначала мир поставить а потом ядро? > Всегда надо ставить сначала ядро. Только вот даунгрейд у нас официально > не поддерживается и у тебя могут быть большие проблемы с /etc Я как-то забыл ядро на место поставить после nextboot, и получилось новый мир и старое ядро, так оно не заводилось, а вот старый мир с новым ядром заводилось > Лучше теперь пробуй stable/12 обновлять и собирать, оно должно собираться. Я и до этого 12 stable пробовал, щас идет сборка, я сегодня сырцы обновлял. Только решил добавить две опции, WITНOUT SYSTEM COMPILER и WITНOUT SYSTEM LINKER (не дословно) > Скрин тебя не спасёт от паники, а make -s от выдачи на экран, > лучше без -s делай и в файл перенаправляй, так хоть будет понятней, > где ломается сборка в случае чего. Кстати скрин тоже моно в лог выводить, не помню как правда... --- Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |