Closed aspell-helper closed 7 years ago
Raúl linuxcart\@sf commented on 2006-12-13 15:47:48 UTC
Logged In: YES user_id=1667631 Originator: YES
Altought it's specified on other bug reports, I'm using the spanish dictionary and libaspell version 0.60.4 on Debian testing.
Kevin Atkinson kevina\@sf updated the issue on 2006-12-13 22:52:35 UTC
Kevin Atkinson kevina\@sf commented on 2006-12-13 22:52:35 UTC
Logged In: YES user_id=6591 Originator: NO
I really can't say much based on the info you gave me.
I could be a bug in Aspell, or it could be the kword is using Aspell incorrectly. Or maybe memory is being corrupted. In order to really fix it I need an independent test case that doesn't involve kword.
One thing you could try is to use aspell-0.60.5-pre1 available and see if it ftp://alpha.gnu.org/gnu/aspell/aspell-0.60.5-pre1.tar.gz. If it doesn't than recompile Aspell with debug output enabled so I can get a more informative backtrace.
Agustin Martin Domingo agmartin\@sf commented on 2006-12-14 11:48:01 UTC
Logged In: YES user_id=368139 Originator: NO
Hi, Kevin
This seems caused by already fixed "[1565738] possibly buggy aspell -m option"
$ echo table | aspell -m -a -dspanish @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.4) & table 26 0: tablea, tablee, tableo, tableé, tableó, tabule, tabulé, tabla, tabalea, tabalee, tabaleo, tabaleé, tabaleó, tabelle, tablao, tabula, tabulo, tabuló, tale, atable, talle, bable, cable, dable, hable, sable, tablar-^L^F+e
Installing your patch and rebuilding aspell,
$ echo table | aspell -m -a -dspanish
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.4)
& table 26 0: tablea, tablee, tableo, tableé, tableó, tabule, tabulé, tabla,
tabalea, tabalee, tabaleo, tabaleé, tabaleó, tabelle, tablao, tabula,
tabulo, tabuló, tale, atable, talle, bable, cable, dable, hable, sable,
tablar-ar+e
as expected.
[Note: #1565738 = https://sourceforge.net/p/aspell/bugs/194/ = #382]
Kevin Atkinson kevina\@sf commented on 2006-12-15 06:27:28 UTC
Logged In: YES user_id=6591 Originator: NO
Well, I'm not sire of those bugs are related.
So, does aspell no longer crash with kword when you apply the patch?
Kevin Atkinson kevina\@sf commented on 2006-12-15 06:33:51 UTC
Logged In: YES user_id=6591 Originator: NO
Sorry Didn't release it was a different person.
Anyway, if you or linuxcart can verify one way or another I would appreciate it.
Agustin Martin Domingo agmartin\@sf commented on 2006-12-15 20:01:31 UTC
Logged In: YES user_id=368139 Originator: NO
I was so convinced that this was the reason that I even did not verify the bug against the original aspell, just after the patched one.
And indeed kword seems to work well with the patched aspell, but now I am trying it also with the non patched one and I cannot reproduce the problem, so I am now not convinced that this is the problem.
linuxcart, could you finally build aspell package and try it?
Raúl linuxcart\@sf commented on 2006-12-17 00:24:05 UTC
Logged In: YES user_id=1667631 Originator: YES
I haven't been unable to build the deb package for the aspell-0.60.5-pre1 the patch for the Makefile has changed a lot, I need more time supposing I will be able to build it.
BTW kword uses libaspell, not command line aspell.
I'll try harder to build the package and then I'll tell you.
I don't want to be pushy, but kevina, maybe you could do some comments in the kde http://bugs.kde.org/show_bug.cgi?id=125487 so, kde developers could give you further info.
Thanks for your help.
Kevin Atkinson kevina\@sf commented on 2006-12-17 05:11:04 UTC
Logged In: YES user_id=6591 Originator: NO
I don't want to be pushy, but kevina, maybe you could do some comments in the kde http://bugs.kde.org/show_bug.cgi?id=125487 so, kde developers could give you further info.
I really don't have the time to do this, sorry. Especially since the bug isn't even confirmed yet.
Raúl linuxcart\@sf commented on 2006-12-18 13:24:39 UTC
Logged In: YES user_id=1667631 Originator: YES
Using the self build package aspell_0.60.4-3reallysarge4.1_i386.deb and libaspell15_0.60.4-3reallysarge4.1_i386.deb repeats the error with a slight modification. Look this backtrace.
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1504388768 (LWP 21909)] [KCrash handler] #6 0xa598ac38 in (anonymous namespace)::Working::try_one_edit_word () from /usr/lib/libaspell.so.15 #7 0xa598af88 in (anonymous namespace)::Working::get_suggestions () from /usr/lib/libaspell.so.15 #8 0xa598b53a in (anonymous namespace)::SuggestImpl::suggest () from /usr/lib/libaspell.so.15 #9 0xa599e0d4 in aspeller::SpellerImpl::suggest () from /usr/lib/libaspell.so.15 #10 0xa59d4a3e in aspell_speller_suggest () from /usr/lib/libaspell.so.15 #11 0xa62cc036 in ASpellDict::suggest (this=0x813daa0, word=@0xafd60814) at /home/ana/Debian/kdelibs/kdelibs-3.5.5a.dfsg.1/./kspell2/plugins/aspell/kspell_aspelldict.cpp:70 #12 0xa5a6dc9c in KSpell2::DefaultDictionary::suggest (this=0x81405c8, word=@0xafd60814) at /home/ana/Debian/kdelibs/kdelibs-3.5.5a.dfsg.1/./kspell2/defaultdictionary.cpp:68 #13 0xa5ef2ac4 in KWView::listOfResultOfCheckWord (this=0x8253128, word=@0xafd60814) at /tmp/buildd/koffice-1.6.1/./kword/KWView.cpp:7441 #14 0xa5f3e513 in TextFramePolicy::createPopup (this=0x835f700, point=@0xafd60958, view=0x8253128) at /tmp/buildd/koffice-1.6.1/./kword/KWFrameView.cpp:446 #15 0xa5ef88b9 in KWFrameView::showPopup (this=0x8361890, point=@0xafd60958, view=0x8253128, popupPoint=@0xafd60978) at /tmp/buildd/koffice-1.6.1/./kword/KWFrameView.cpp:126 #16 0xa5ef89da in KWFrameViewManager::showPopup (this=0x8399228, point=@0xafd60958, view=0x8253128, keyState=0, popupPoint=@0xafd60978) at /tmp/buildd/koffice-1.6.1/./kword/KWFrameViewManager.cpp:393
What I did was installing those packages, making sure that no instance of koffice was running. Run kword and repeated the crash.
I have the impression I tried this before by myself, but since I wasn't sure I tried your package. I think next step is to package 0.60.5pre1 and try to repeat the problem.
Indeed, I didn't received that e-mail agmartin, and yet I have noticed after reporting some bugs to debian I receive some spam with the same subject or maybe RE:subject, so maybe this is related.
Since I'm not very familiarised with aspell I don't understand you last 2 paragraphs, but to avoid noise here maybe we could comment them privately.
Agustin Martin Domingo agmartin\@sf commented on 2006-12-19 11:37:55 UTC
Logged In: YES user_id=368139 Originator: NO
Well I can now reproduce the problem. I was mixing the info from
http://bugs.kde.org/show_bug.cgi?id=125487
together with your file from
https://bugs.kde.org/show_bug.cgi?id=128067
and so, did not previously follow your exact steps. So, three things after looking at the three bugs,
(a) The "-m" problem seems to have nothing to do here. Sorry for the noise, Kevin.
Also, I do not think KDE#125487 and KDE#128067 are the same problem, backtraces do not seem similar
(b) http://bugs.kde.org/show_bug.cgi?id=125487 [KWord always crashes at startup] Looking at this bug report, this seems related to versions mismatches between aspell and dicts of incompatible formats, something completely different. Kevin, you might want to look at it to make sure.
(c) https://bugs.kde.org/show_bug.cgi?id=128067 [kword crash on .odt right click in a certain place.] This is this bug report, which I can reproduce now, in an extremely simple way, just open kword and write whitespace separated "1 2 3". Without clicking move the mouse on the whitespaces until a vertical bar (and not a hand) is shown. Click right mouse button (spellcheck) and crash is ready. Same happens if you try to spellcheck "123" from kword.
*Note that I tried everything with Debian aspell dict packages.*
When doing (c) with the english dict crash does not happen and the upper+lowercase alphabet is suggested as an alternative (why??). I have reproduced the crash with Bulgarian (bg), Catalan (ca), Esperanto (eo), Spanish (es), Faroese (fo), Galician (gl), Russian (ru), Swedish (sv)
I cannot reproduce the problem with French dict (with some strange suggestions) and as mentioned, with english. Unfortunately I could not find a common relation for each set.
Even if they are not installed, kword allows me to select some dicts (!!!). However what appears there is of course imaginary. For info, in case there is something strange being mixed here, these are the imaginary ones: for Dutch (nl) I could not reproduce the problem and, as expected nothing is suggested. I also could not reproduce the problem with Finnish dict (but here N is suggested ??), Italian (suggesting some uppercase letters), Norwegian Bokmal and Nynorsk (suggesting a couple of uppercase letters), Polish (suggests some uppercase letters)
Kevin Atkinson kevina\@sf commented on 2006-12-19 23:10:26 UTC
Logged In: YES user_id=6591 Originator: NO
I just released Aspell 0.60.5. Please verify that you are still having the problem with the latest version. This release fixed a large number of bugs, any one of them could be related to your problem.
Raúl linuxcart\@sf commented on 2007-01-04 14:23:54 UTC
Logged In: YES user_id=1667631 Originator: YES
I get to build a new debian package. I think now it works, so the problem may be solved. Anyway I would like someone else could confirm this.
I.S. islyusar\@sf commented on 2007-01-07 00:24:56 UTC
Logged In: YES user_id=1685415 Originator: NO
Hello,
I used gedit on Ubuntu 6.10 system to view a PHP file containing English and Ukrainian text. I set document language to Ukrainian and tried to check spelling. Gedit crashed. I tried it few times and gedit crashed every time. Also, I tried it with English and Russian languages, but it worked fine.
I have reported that bug using Ubuntu crash report software. You can find the details at http://bugzilla.gnome.org/show_bug.cgi?id=393619. I got an answer from Paolo Maggi (gedit developer) who told me it was aspell bug and directed me to this page.
I hope this report will help you to fix the bug.
Julian Daich jln_d\@sf commented on 2007-01-07 23:18:07 UTC
Logged In: YES user_id=1685993 Originator: NO
I´m using Ubuntu 6.10 and have similar problems while trying to check spelling in Evolution. I have Hebrew, Spanish and English installed. I initially reported the bug at the Evolution Bugzilla http://bugzilla.gnome.org/show_bug.cgi?id=393819 I´m awaiting to the release of the aspell 6.05 dpkg release to test if it can solve the bug. Any way, I´m pasting my bug report if it is useful.
Julian
Distribution: Ubuntu 6.10 (edgy) Gnome Release: 2.16.1 2006-10-02 (Ubuntu) BugBuddy Version: 2.16.0
Memory status: size: 186322944 vsize: 0 resident: 186322944 share: 0 rss: 37982208 rss_rlim: 0 CPU usage: start_time: 1168155582 rtime: 0 utime: 1417 stime: 0 cutime:1307 cstime: 0 timeout: 110 it_real_value: 0 frequency: 0
Backtrace was generated from '/usr/bin/evolution-2.8'
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1233197392 (LWP 4448)]
[New Thread -1353954400 (LWP 5504)]
[New Thread -1345537120 (LWP 5500)]
[New Thread -1287382112 (LWP 5049)]
[New Thread -1304564832 (LWP 5044)]
[New Thread -1296172128 (LWP 5042)]
[New Thread -1278989408 (LWP 4847)]
[New Thread -1270596704 (LWP 4826)]
[New Thread -1262204000 (LWP 4825)]
[New Thread -1253811296 (LWP 4824)]
0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb71316cb in waitpid () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7e3d1b6 in libgnomeui_segv_handle (signum=11) at gnome-ui-init.c:874
#3 0x0805f8e9 in segv_redirect (sig=11) at main.c:426
#4
Thread 10 (Thread -1253811296 (LWP 4824)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x81945e0) at e-msgport.c:643
rfds = {__fds_bits = {0, 128, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194d28) at e-msgport.c:1035
e =
Thread 9 (Thread -1262204000 (LWP 4825)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x81945e0) at e-msgport.c:643
rfds = {__fds_bits = {0, 128, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194d28) at e-msgport.c:1035
e =
Thread 8 (Thread -1270596704 (LWP 4826)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x81945e0) at e-msgport.c:643
rfds = {__fds_bits = {0, 128, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194d28) at e-msgport.c:1035
e =
Thread 7 (Thread -1278989408 (LWP 4847)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x81945e0) at e-msgport.c:643
rfds = {__fds_bits = {0, 128, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194d28) at e-msgport.c:1035
e =
Thread 6 (Thread -1296172128 (LWP 5042)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x81945e0) at e-msgport.c:643
rfds = {__fds_bits = {0, 128, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194d28) at e-msgport.c:1035
e =
Thread 5 (Thread -1304564832 (LWP 5044)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x8193100) at e-msgport.c:643
rfds = {__fds_bits = {-2147483648, 0 <repeats 31 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x81930a0) at e-msgport.c:1035
e =
Thread 4 (Thread -1287382112 (LWP 5049)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7169321 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7224f1c in e_msgport_wait (mp=0x8194278) at e-msgport.c:643
rfds = {__fds_bits = {0, 8, 0 <repeats 30 times>}}
#3 0xb72255e9 in thread_dispatch (din=0x8194bf0) at e-msgport.c:1035
e =
Thread 3 (Thread -1345537120 (LWP 5500)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7166803 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7530813 in g_main_context_iterate (context=0x883ba00, block=1,
dispatch=1, self=0x8862280) at gmain.c:2979
got_ownership =
Thread 2 (Thread -1353954400 (LWP 5504)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7166803 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7530813 in g_main_context_iterate (context=0x883bcc0, block=1,
dispatch=1, self=0x882a6e0) at gmain.c:2979
got_ownership =
Thread 1 (Thread -1233197392 (LWP 4448)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb71316cb in waitpid () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7e3d1b6 in libgnomeui_segv_handle (signum=11) at gnome-ui-init.c:874
estatus = 1073741840
sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
sa_mask = {__val = {3216007228, 3216006988, 16, 0, 3080095892, 144137600,
3216006980, 137399012, 3216007028, 145280312, 0, 134900328, 6017556,
3076337312, 1, 0, 0, 145443680, 0, 83, 5443, 1, 145443680, 145443680,
0, 145280316, 1, 3216006936, 3076248084, 3076335312, 3216007228,
3216006984}}, sa_flags = -1218809975, sa_restorer = 0x8a8cd38}
pid = 0
in_segv = 1
#3 0x0805f8e9 in segv_redirect (sig=11) at main.c:426
No locals.
#4
Tr00peR tr00per87\@sf commented on 2007-02-19 21:57:23 UTC
Logged In: YES user_id=1628166 Originator: NO
I also faced this bug. Here is the whole description with a traceback (similar to this above): http://bugs.kde.org/show_bug.cgi?id=141659
libaspell 0.60.4-4 on Debian testing
Agustin Martin Domingo agmartin\@sf commented on 2007-02-20 15:22:19 UTC
Logged In: YES user_id=368139 Originator: NO
Tried with Debian aspell-0.60.5 Debian package Brian has just uploaded to Debian unstable.
I cannot reproduce this bug at all with this new package, while I can do that with aspell-0.60.4.
So, this seems to work fine with aspell-0.60.5
Kevin, I think you can close this bug report unless others complain.
Kevin Atkinson kevina\@sf updated the issue on 2007-06-10 21:13:20 UTC
Raúl linuxcart\@sf created a bug report on 2006-12-13 15:14:31 UTC (Orig. from https://sourceforge.net/p/aspell/bugs/199)
I was using kword and when I ask it for a spelling suggestion the whole program crashed. kword is using libaspell. As I have been told after placing some bug reports the problem is in libaspell. Please, see this bugs:
http://bugs.kde.org/show_bug.cgi?id=128067 http://bugs.kde.org/show_bug.cgi?id=125487 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376497
Here is a backtrace which I had after the crash.
(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (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 -1501190464 (LWP 17054)] [KCrash handler] #6 0xa5de3a00 in aspeller::VectorHashTable<(anonymous namespace)::ReadOnlyDict::WordLookupParms>::FindIterator::FindIterator () from /usr/lib/libaspell.so.15 #7 0xa5de3b66 in aspeller::VectorHashTable<(anonymous namespace)::ReadOnlyDict::WordLookupParms>::find () from /usr/lib/libaspell.so.15 #8 0xa5ddee53 in (anonymous namespace)::ReadOnlyDict::clean_lookup () from /usr/lib/libaspell.so.15 #9 0xa5de7422 in (anonymous namespace)::Working::try_word_n () from /usr/lib/libaspell.so.15 #10 0xa5de7949 in (anonymous namespace)::Working::try_one_edit_word () from /usr/lib/libaspell.so.15 #11 0xa5deb408 in (anonymous namespace)::Working::get_suggestions () from /usr/lib/libaspell.so.15 #12 0xa5dec2f4 in (anonymous namespace)::SuggestImpl::suggest () from /usr/lib/libaspell.so.15 #13 0xa5dff754 in aspeller::SpellerImpl::suggest () from /usr/lib/libaspell.so.15 #14 0xa5e335b2 in aspell_speller_suggest () from /usr/lib/libaspell.so.15 #15 0xa7f76ee6 in ASpellDict::suggest (this=0x8198ef8, word=@0xaf881e34) at kspell_aspelldict.cpp:70 #16 0xa5ed157c in KSpell2::DefaultDictionary::suggest (this=0x8198ef8, word=@0x8198ef8) at defaultdictionary.cpp:68 #17 0xa63ef8c7 in KWView::listOfResultOfCheckWord () from /usr/lib/libkwordprivate.so.4 #18 0xa63f02b3 in TextFramePolicy::createPopup () from /usr/lib/libkwordprivate.so.4 #19 0xa63db149 in KWFrameView::showPopup () from /usr/lib/libkwordprivate.so.4 #20 0xa63db28a in KWFrameViewManager::showPopup () from /usr/lib/libkwordprivate.so.4 #21 0xa63dc940 in KWCanvas::contentsMousePressEvent () from /usr/lib/libkwordprivate.so.4 #22 0xa6e337ed in QScrollView::viewportMousePressEvent (this=0x83807a0, e=0xaf8826ec) at widgets/qscrollview.cpp:1733 #23 0xa6e36458 in QScrollView::eventFilter (this=0x83807a0, obj=0x8381130, e=0xaf8826ec) at widgets/qscrollview.cpp:1496 #24 0xa63db3e8 in KWCanvas::eventFilter () from /usr/lib/libkwordprivate.so.4 #25 0xa6cfc6b0 in QObject::activate_filters (this=0x8381130, e=0xaf8826ec) at kernel/qobject.cpp:903 #26 0xa6cfc72e in QObject::event (this=0x8381130, e=0xaf8826ec) at kernel/qobject.cpp:735 #27 0xa6d39b9a in QWidget::event (this=0x8381130, e=0xaf8826ec) at kernel/qwidget.cpp:4678 #28 0xa6c9587a in QApplication::internalNotify (this=0xaf882cac, receiver=0x8381130, e=0xaf8826ec) at kernel/qapplication.cpp:2635 #29 0xa6c95dff in QApplication::notify (this=0xaf882cac, receiver=0x8381130, e=0xaf8826ec) at kernel/qapplication.cpp:2421 #30 0xa778a02e in KApplication::notify (this=0xaf882cac, receiver=0x8381130, event=0xaf8826ec) at kapplication.cpp:550 #31 0xa6c2706f in QApplication::sendSpontaneousEvent (receiver=0x8381130, event=0xaf8826ec) at qapplication.h:523 #32 0xa6c227a4 in QETWidget::translateMouseEvent (this=0x8381130, event=0xaf882b28) at kernel/qapplication_x11.cpp:4301 #33 0xa6c20c94 in QApplication::x11ProcessEvent (this=0xaf882cac, event=0xaf882b28) at kernel/qapplication_x11.cpp:3478 #34 0xa6c3a2a2 in QEventLoop::processEvents (this=0x80c6310, flags=4) at kernel/qeventloop_x11.cpp:192 #35 0xa6cae255 in QEventLoop::enterLoop (this=0x80c6310) at kernel/qeventloop.cpp:198 #36 0xa6cae17a in QEventLoop::exec (this=0x80c6310) at kernel/qeventloop.cpp:145 #37 0xa6c9438d in QApplication::exec (this=0xaf882cac) at kernel/qapplication.cpp:2758 #38 0xa7f67fd7 in kdemain () from /usr/lib/libkdeinit_kword.so #39 0x421b6eb0 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6 #40 0x080483d1 in ?? ()