FS#48390 - [wvdial] Assertion `*current_task->stack_magic == 0x123678' failed
Attached to Project:
Community Packages
Opened by enrico tognoni (enricotognoni) - Tuesday, 01 March 2016, 19:39 GMT
Last edited by Toolybird (Toolybird) - Saturday, 01 April 2023, 01:13 GMT
Opened by enrico tognoni (enricotognoni) - Tuesday, 01 March 2016, 19:39 GMT
Last edited by Toolybird (Toolybird) - Saturday, 01 April 2023, 01:13 GMT
|
Details
Description:
https://forums.mageia.org/en/viewtopic.php?t=5123&p=36360 wvdial: utils/wvtask.cc:304: static int WvTaskMan::yield(int): Assertion `*current_task->stack_magic == 0x123678' failed. Aborted Additional info: * package version(s) * config and/or log files etc. Steps to reproduce: this is a bit complex, if i use a wire usb 3.0 to connect huaweiE353 in usb 3.0 the huawei is recognized as 12d1:1446 and will not work, if i use direct connection without wire it is recognized but getthe stack_magic error, if i open spacefm (automount option) THEN i plug usb modem, then i get correct recognize and correct connection. latest wvstream and wvdial installed |
This task depends upon
wvdial: utils/wvtask.cc:304: static int WvTaskMan::yield(int): Assertion `*current_task->stack_magic == 0x123678' failed.
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
wvdial: utils/wvtask.cc:304: static int WvTaskMan::yield(int): Assertion `*current_task->stack_magic == WVTASK_MAGIC' failed.
Aborted (core dumped)
May 10 17:40:35 hostname systemd[1]: Started Process Core Dump (PID 1522/UID 0).
May 10 17:40:35 hostname systemd-coredump[1525]: Process 1521 (wvdial) of user 0 dumped core.
Stack trace of thread 1521:
#0 0x00007fe1e4872295 raise (libc.so.6)
#1 0x00007fe1e48736da abort (libc.so.6)
#2 0x00007fe1e54e8b42 __assert_fail (libwvbase.so.4.6)
#3 0x00007fe1e54c18c2 _ZN9WvTaskMan5yieldEi (libwvbase.so.4.6)
#4 0x00007fe1e54c1e04 _ZN9WvTaskMan7do_taskEv (libwvbase.so.4.6)
#5 0x00007fe1e54c2015 _ZN9WvTaskMan12_stackmasterEv (libwvbase.so.4.6)
#6 0x00007fe1e54c20b3 _ZN9WvTaskMan11stackmasterEv (libwvbase.so.4.6)
#7 0x00007fe1e54bac37 _ZN8WvStringaSERK12WvFastString (libwvbase.so.4.6)
#8 0x00007fe1e54c1788 _ZN9WvTaskMan3runER6WvTaski (libwvbase.so.4.6)
#9 0x00007fe1e54b617a _ZN6WvCont5_callEPNS_4DataE (libwvbase.so.4.6)
#10 0x00007fe1e54b6329 _ZN6WvContclEPv (libwvbase.so.4.6)
#11 0x00007fe1e54cce9c _ZNSt3tr117_Function_handlerIFPvS1_E6WvContE9_M_invokeERKNS_9_Any_dataES1_ (libwvbase.so.4.6)
#12 0x00007fe1e54c8493 _ZN8WvStream8callbackEv (libwvbase.so.4.6)
#13 0x0000000000406b79 n/a (wvdial)
#14 0x00007fe1e485f741 __libc_start_main (libc.so.6)
#15 0x0000000000405c39 n/a (wvdial)
May 10 17:41:36 hostname systemd[1]: Started Process Core Dump (PID 1559/UID 0).
May 10 17:41:36 hostname systemd-coredump[1560]: Process 1557 (wvdial) of user 0 dumped core.
Stack trace of thread 1557:
#0 0x00007f547323a295 raise (libc.so.6)
#1 0x00007f547323b6da abort (libc.so.6)
#2 0x00007f5473eb0b42 __assert_fail (libwvbase.so.4.6)
#3 0x00007f5473e898c2 _ZN9WvTaskMan5yieldEi (libwvbase.so.4.6)
#4 0x00007f5473e89e04 _ZN9WvTaskMan7do_taskEv (libwvbase.so.4.6)
#5 0x00007f5473e8a015 _ZN9WvTaskMan12_stackmasterEv (libwvbase.so.4.6)
#6 0x00007f5473e8a0b3 _ZN9WvTaskMan11stackmasterEv (libwvbase.so.4.6)
#7 0x000000000000000e n/a (n/a)
EDIT: after a full system upgrade with fixed usb_modeswitch 2.4.0-2, usb_modeswitch now works consistently. However wvdial always fails with the assertion error. In the end I had to abandon wvdial in favour of systemd with pppd.
Basically in linux the stack_magic was overwritten by a "trampoline" function before makecontext was called.
(i believe the file was called "dl-trampoline.h" - can't find that file on my docker in windows btw.)
Beside some other changes I just changed the file wvtask.cc and modified the line "total = 1024" to "total = 1026".
After that it was working without the "stack_magic"-error.
I added an archive with the modified files.
I forgot to add the unchanged files, you still need to fetch the package from svn and copy the fix over it:
https://www.archlinux.org/svn/
Keep in mind that it is just a workaround atm.
Wich means i do not even know if 1026 is enough, or if it might crash later or some other unexpected behaviour could happen.
I'm remembering that i also need to change the wvdial.conf.
Without a change of the "PPPD Path" it points to the wrong pppd path.
PPPD lcp times out, but it's due to my misconfiguration of PPPD I guess.