longcongduoi / wvstreams

Automatically exported from code.google.com/p/wvstreams
0 stars 0 forks source link

{make,get,set}context are not available on every architecture #26

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
[forwarded from http://bugs.debian.org/521473]

On platforms where {make,get,set}context functions are not defined,
dependant programs can't be run properly:

  wvdial: utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion
  `getcontext(&get_stack_return) == 0' failed
  Aborted.

Original issue reported on code.google.com by dktrkr...@gmail.com on 13 Nov 2009 at 7:13

GoogleCodeExporter commented 8 years ago
I port the wvdial 1.61 with lib wvstreams 4.6.1 on a ARM Linux Flatform 
(S3C2440). 
There is the same error message appeared

Original comment by sehi...@gmail.com on 16 Jan 2010 at 11:06

GoogleCodeExporter commented 8 years ago
[root@ZhiyuanOpenCentre /]# wvdialconf /tmp/test.conf
Editing `/tmp/test.conf'.

Scanning your serial ports for a modem.

WvModem<*1>: Cannot set information for serial port.
ttySAC0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttySAC0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttySAC0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot set information for serial port.
ttySAC1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttySAC1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttySAC1<*1>: ATQ0 V1 E1 -- OK
ttySAC1<*1>: ATQ0 V1 E1 Z -- OK
ttySAC1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttySAC1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttySAC1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttySAC1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttySAC1<*1>: Modem Identifier: ATI -- AnyDATA CDMA DTGS800-6025
ttySAC1<*1>: Speed 230400: AT -- Speed 230400: AT -- Speed 230400: AT -- Max spe
ed is 115200; that should be safe.
ttySAC1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot set information for serial port.
ttySAC2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttySAC2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttySAC2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

Found a modem on /dev/ttySAC1.
/tmp/test.conf<Warn>: Can't open '/tmp/test.conf' for reading: No such file or 
directory
/tmp/test.conf<Warn>: ...starting with blank configuration.
Modem configuration written to /tmp/test.conf.

*** WARNING!  Line "ttySAC1"
   in /etc/ppp/options may conflict with wvdial!

*** WARNING!  Line "115200"
   in /etc/ppp/options may conflict with wvdial!

*** WARNING!  Line "connect /etc/ppp/cdma-connect"
   in /etc/ppp/options may conflict with wvdial!

ttySAC1<Info>: Speed 115200; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
[root@ZhiyuanOpenCentre /]#

[root@ZhiyuanOpenCentre /]# wvdial
--> WvDial: Internet dialer version 1.61
--> Cannot set information for serial port.
--> Initializing modem.
--> Sending: AT
AT
OK
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
wvdial: utils/wvtask.cc:202: WvTaskMan::WvTaskMan(): Assertion `getcontext(&get_
stack_return) == 0' failed.
Aborted
[root@ZhiyuanOpenCentre /]#
[root@ZhiyuanOpenCentre /]# uname -a
Linux ZhiyuanOpenCentre 2.6.29-ZhiyuanOpenCenter #5 Sat Jan 9 22:39:53 CST 2010
armv4tl unknown
[root@ZhiyuanOpenCentre /]# dmesg | head
Linux version 2.6.29-ZhiyuanOpenCenter (arm@localhost.localdomain) (gcc version 
4.3.2 (Sourcery G++ Lite 2008q3-72) ) #5 Sat Jan 9 22:39:53 CST 2010
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: ZhiyuanOpenCenter ZhiYuan2440 development board Memory policy: ECC 
disabled, Data cache writeback
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c0391d60, node_mem_map c03c7000
  Normal zone: 128 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 16256 pages, LIFO batch:3
[root@ZhiyuanOpenCentre /]#

Original comment by sehi...@gmail.com on 16 Jan 2010 at 12:43

GoogleCodeExporter commented 8 years ago
When running wvdial on a beagleboard (rev c4 running ubuntu & xfce4 with Kernel
2.6.32.7-x7.0) after using wvdialconf to detect the correct settings for the 
Huawei
E220 USB 3G modem, I also get this error.

------------------------ begin -------------------------

--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
wvdial: utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion `getcontext(&get_
stack_return) == 0' failed.
Aborted

------------------------ End --------------------------

I look forward to seeing this issue fixed soon as my project is now going to 
require
the use of extra hardware resulting in greater power consumption untill the 
issue is
resolved.

Original comment by remee...@gmail.com on 12 Feb 2010 at 10:59

GoogleCodeExporter commented 8 years ago
Confirmed on an ARMv5 Marvell Kirkwood running Debian Squeeze.  Big problem.

Original comment by rjek.ph...@gmail.com on 3 Mar 2010 at 5:57

GoogleCodeExporter commented 8 years ago
I also get the same issue using armv4t

root@mini2440:~# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
wvdial: utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion
`getcontext(&get_stack_return) == 0' failed.
Aborted

Original comment by brendon....@gmail.com on 1 Apr 2010 at 2:34

GoogleCodeExporter commented 8 years ago
ARM devices are on the rise, specially for mobile solutions, and this is a big
setback. Unfortunately it's hard to assess how badly these functions are needed 
by
wvstreams... can't it do its job without them?

Original comment by fheinz@gmail.com on 30 Apr 2010 at 7:26

GoogleCodeExporter commented 8 years ago
Confirmed on an ARMv5 Marvell Kirkwood (Dockstar) running Arch Linux :-(

Original comment by thomas.o...@gmail.com on 6 May 2010 at 7:15

GoogleCodeExporter commented 8 years ago
I can confirm this problem is also on the Technologics TS-7500 running Debian 
Lenny
on a Verizon/Novatel USB760.

Original comment by russnel...@gmail.com on 17 May 2010 at 4:28

GoogleCodeExporter commented 8 years ago
Same problem here, but I had to make it work so I adapted a patch that I found 
around
to the latest 4.6.1 release. Maybe the patch is just a workaround and is not 
good for
upstream integration, but it seems to work on my arm target.

Original comment by silvan.c...@mambasoft.it on 17 May 2010 at 6:22

Attachments:

GoogleCodeExporter commented 8 years ago
Same problem with ARMEL CPU running Debian Lenny on a OLICARD 100 3g modem

Original comment by diego.gi...@gmail.com on 7 Jun 2010 at 10:29

GoogleCodeExporter commented 8 years ago
will the patch be merged with the next version 1.62 ?

Original comment by tomschur...@gmail.com on 25 Nov 2010 at 2:49

GoogleCodeExporter commented 8 years ago
I am new to ARM platform and working on Technologics TS-7500 and trying to 
setup up MTS Blaze USB. I am stuck at the point where wvdial reports:

wvdial: utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion
  `getcontext(&get_stack_return) == 0' failed
  Aborted.

Can any body help me to apply the patch provided above?

Original comment by sai.boor...@gmail.com on 6 Dec 2010 at 9:42

GoogleCodeExporter commented 8 years ago
I am working on ARM platform, please find my platform details:

ts7500:/usr/lib# uname -a
Linux ts7500 2.6.24.4 #1 Thu Aug 5 09:30:24 MST 2010 armv4l GNU/Linux

Could any body please provide me wvstreams.4.6 library complied to this arm 
platform?

I am new to embedded environment, so still fixing the issues with toolchain?

Original comment by sai.boor...@gmail.com on 6 Dec 2010 at 1:52

GoogleCodeExporter commented 8 years ago
I have Gentoo Linux on Seagate Dockstar (Marvell ARM). I have this 
`getcontext(&get_stack_return) == 0' failed problem also. I'm trying to 
manually patch my files, the above file gives too many errors.

Original comment by sami.haa...@gmail.com on 2 Feb 2011 at 4:16

GoogleCodeExporter commented 8 years ago
Same problem on Debian 5.0 on armv5tel

Original comment by wenzhi.l...@gmail.com on 12 May 2011 at 12:28

GoogleCodeExporter commented 8 years ago
Is there any progress on this? The patch above doesn't apply well. I found a 
patch for ulibc [1] which I used to build on Debian squeeze. It compiles and 
wvdialconf works. wvdial segfaults after the modem is initialized though...

[1] 
http://repository.timesys.com/buildsources/w/wvstreams/wvstreams-4.6.1/wvstreams
-4.6.1-uclibc_compat.patch

Original comment by blaic...@gmail.com on 17 May 2011 at 12:43

GoogleCodeExporter commented 8 years ago
hi,

I would like to know if this bug are fix?
Because i need to connect a S3C2440(arm cpu) to the internet using a pen3G.

tks

Original comment by luisclsa...@gmail.com on 13 Jul 2011 at 10:28

GoogleCodeExporter commented 8 years ago
The patch I sent here was just a workaround and mostly worked for me (on ARM 
with glibc) but after a period I successfully switched to using NetworkManager 
+ ModemManager (0.8.2) and it worked with no pain. Hoping to help.

Original comment by silvan.c...@mambasoft.it on 13 Jul 2011 at 10:43

GoogleCodeExporter commented 8 years ago
Hi;
I now that networkmanager solve the problem.
But my system run without xserver and install xserver only for networkmanager 
is not the solutions that i'm looking for.

Original comment by luisclsa...@gmail.com on 18 Jul 2011 at 10:40

GoogleCodeExporter commented 8 years ago
Sorry, I don't want to be off-topic anymore, but I just find it worth to say 
that NetworkManager itself isn't a gui application and has no x server releated 
dependencies.

Original comment by silvan.c...@mambasoft.it on 18 Jul 2011 at 5:07

GoogleCodeExporter commented 8 years ago
ohh, I did not know that is possible to configure networkmanager without gui.
I will try that, tks for the tip

Original comment by luisclsa...@gmail.com on 18 Jul 2011 at 5:19

GoogleCodeExporter commented 8 years ago
Hi,sir
Can you give me a hand?
I got the same error on s3c6410 platform.
I also patch "wvstreams-4.6.1-arm_replace_getcontext.patch"
However,I can't make it with commandline""patch -Np0 
<../wvstreams-4.6.1-arm_replace_getcontext.patch

the errors are as follows:
patching file include/wvtask.h
Hunk #1 FAILED at 50.
Hunk #2 FAILED at 91.
2 out of 2 hunks FAILED -- saving rejects to file include/wvtask.h.rej
patching file utils/wvtask.cc
Reversed (or previously applied) patch detected!  Skipping patch.
5 out of 5 hunks ignored -- saving rejects to file utils/wvtask.cc.rej
patching file uniconf/unifastregetgen.cc
Hunk #1 FAILED at 54.
Hunk #2 FAILED at 93.
2 out of 2 hunks FAILED -- saving rejects to file uniconf/unifastregetgen.cc.rej
patching file utils/wvcrash.cc
Reversed (or previously applied) patch detected!  Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file utils/wvcrash.cc.rej
patching file uniconf/uniconfkey.cc
Hunk #1 FAILED at 324.
1 out of 1 hunk FAILED -- saving rejects to file uniconf/uniconfkey.cc.rej

If I ignored the error, I also fail to comiple with gcc-4.5.1

the errors are as follows:
utils/wvtask.cc:59:20: error: conflicting declaration '__jmp_buf_tag 
WvTaskMan::stackmaster_task [1]'
./include/wvtask.h:97:23: error: 'WvTaskMan::stackmaster_task' has a previous 
declaration as 'ucontext_t WvTaskMan::stackmaster_task'
utils/wvtask.cc:59:20: error: declaration of 'ucontext_t 
WvTaskMan::stackmaster_task' outside of class is not definition
utils/wvtask.cc:59:49: error: conflicting declaration '__jmp_buf_tag 
WvTaskMan::get_stack_return [1]'
./include/wvtask.h:100:23: error: 'WvTaskMan::get_stack_return' has a previous 
declaration as 'ucontext_t WvTaskMan::get_stack_return'
utils/wvtask.cc:59:49: error: declaration of 'ucontext_t 
WvTaskMan::get_stack_return' outside of class is not definition
utils/wvtask.cc:60:16: error: conflicting declaration '__jmp_buf_tag 
WvTaskMan::toplevel [1]'
./include/wvtask.h:103:23: error: 'WvTaskMan::toplevel' has a previous 
declaration as 'ucontext_t WvTaskMan::toplevel'
utils/wvtask.cc:60:16: error: declaration of 'ucontext_t WvTaskMan::toplevel' 
outside of class is not definition
utils/wvtask.cc: In static member function 'static void 
WvTaskMan::get_stack(WvTask&, size_t)':
utils/wvtask.cc:356:17: error: 'PROT_READ' was not declared in this scope
utils/wvtask.cc:356:29: error: 'PROT_WRITE' was not declared in this scope
utils/wvtask.cc:358:17: error: 'MAP_PRIVATE' was not declared in this scope
utils/wvtask.cc:358:31: error: 'MAP_ANONYMOUS' was not declared in this scope
utils/wvtask.cc:362:22: error: 'mmap' was not declared in this scope
utils/wvtask.cc: In static member function 'static size_t 
WvTaskMan::current_stacksize_limit()':
utils/wvtask.cc:552:23: error: aggregate 
'WvTaskMan::current_stacksize_limit()::rlimit rl' has incomplete type and 
cannot be defined
utils/wvtask.cc:553:23: error: 'RLIMIT_STACK' was not declared in this scope
utils/wvtask.cc:553:40: error: 'getrlimit' was not declared in this scope
utils/wvtask.cc:560:1: warning: control reaches end of non-void function
make: *** [utils/wvtask.o] Error 1

Original comment by ad...@acsip.com.tw on 20 Mar 2012 at 10:51

GoogleCodeExporter commented 8 years ago
not available on every architecture

I'm afraid I can't: my solution was to make do without wxdial and friends.

Original comment by fheinz@gmail.com on 22 Mar 2012 at 5:14

GoogleCodeExporter commented 8 years ago
Comment number 9..Thanks your patch worked.

It took some manual work to be done but basically it's okay, I'll modify the 
patch and re-upload.

Original comment by marwan.y...@gmail.com on 24 Jun 2012 at 2:19

GoogleCodeExporter commented 8 years ago
I got the same error as comment 22. Does this patch need to be applied on top 
of an other patch? 

Original comment by joeyjp...@gmail.com on 14 Dec 2012 at 2:28