Anyterm Forum

Anyterm: A Terminal Anywhere

You are not logged in.

Post a reply

Write your message and submit
Options

Click in the dark area of the image to send your post.

Go back

Topic review (newest first)

Nicopilami
2011-08-04 10:04:42

phil wrote:

> why not?

Because you don't need to.

OK... big_smile

phil
2011-08-04 09:52:32

> why not?

Because you don't need to.

Nicopilami
2011-08-04 06:42:53

phil wrote:

# make

Please don't make as root.

jst for my information, why not?

Meteo
2009-01-22 22:00:14

Great smile
rev 4936  works fine on my kernel 2.4, no errors etc.
Thx You Very Much ;]

phil
2009-01-22 18:13:39

svn rev 4936 fixes the problem I mentioned in comment #13.
You should "make clean" after updating.
If this doesn't work, gdb output is probably needed.

phil
2009-01-21 23:39:59

> hack the libpbe common.mk

I meant hack the top-level anyterm common.mk

phil
2009-01-21 23:38:58

You really need to use strace -f else you don't see all the threads, like the one that the clone() call in the middle of that trace created.

Interestingly the SIGRTMIN in there is something that LinuxThreads uses, so that is related.

If you want you could try to hack the libpbe common.mk to add -DSUPPORT_LINUX_2_4 and recompile (make clean first) and see if that improves things.

Meteo
2009-01-21 23:31:10

strace

./anytermd -p 8022 -u nobody -a null -f
Segmentation fault detected; Backtrace:
./anytermd[0x8093c26]
/lib/libpthread.so.0[0x40143806]
/lib/libc.so.6[0x401b28f8]
/lib/libpthread.so.0[0x401422cd]
/lib/libpthread.so.0(pthread_cond_broadcast+0x32)[0x4013d2d2]
./anytermd[0x8079102]
./anytermd[0x807c245]
./anytermd(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvPFvP6DaemoniENS3_5list2INS3_5valueIS6_EENSA_IiEEEEEEvE6invokeENS1_11any_pointerE+0x18)[0x807d22c]
./anytermd[0x8054e36]
./anytermd[0x8078df0]
/lib/libpthread.so.0[0x4013dc51]
/lib/libc.so.6(__clone+0x5a)[0x402447fa]
Segmentation fault

[00:28]<root(pts/13)@beerland>:~# strace -p 21875
Process 21875 attached - interrupt to quit
accept(4, {sa_family=AF_INET, sin_port=htons(1265), sin_addr=inet_addr("192.168.111.250")}, [16]) = 8
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
pipe([9, 10])                           = 0
clone(child_stack=0x80b4ef4, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND) = 21899
write(10, "\1\0\0\0\5\0\0\0008\r\v\10\1\0\0\0\0\0\0\0\1\0\0\0\\*\0"..., 148) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
write(10, "\300X*@\0\0\0\0\24\367\377\277F\215\7\0108\37\v\10\0\0"..., 148) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
<... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [RTMIN])
accept(4, 0xbffff828, [16])             = ? ERESTARTSYS (To be restarted)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 21875 detached

phil
2009-01-21 23:25:53

OK, I've just thought of one reason why it's broken; it really needs to have that SUPPORT_LINUX_2_4 macro defined when it compiles anytermd itself, as well as libpbe.  I'm not sure if that explains the segfault though.  Anyway I'll try and fix that tomorrow (it's late now).

Phil.

phil
2009-01-21 23:11:02

Hmmm.

I think you'll need to run that under gdb and see exactly where it crashes.
Unfortunately gdb is a bit tedious when there are multiple threads.
strace -f might also give some clue what is going on.

Sorry.

Meteo
2009-01-21 22:39:18

xx@beerland:~/a/trunk/libpbe$ fgrep 2_4 *
common.mk:      SUPPORT_LINUX_2_4=1
common.mk:ifdef SUPPORT_LINUX_2_4
common.mk:  COMPILE_FLAGS+=-DSUPPORT_LINUX_2_4

but it's not working stable
./anytermd -p 8022 -c "sudo /usr/local/sbin/anygetty" -u nobody -n --diff -a null -s ISO-8859-2 -f

and after connect i got:
Segmentation fault detected; Backtrace:
./anytermd[0x8093c26]
/lib/libpthread.so.0[0x40143806]
/lib/libc.so.6[0x401b28f8]
./anytermd[0x807e180]
./anytermd[0x805dd8d]
./anytermd[0x807f615]
./anytermd[0x807c22c]
./anytermd(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvPFvP6DaemoniENS3_5list2INS3_5valueIS6_EENSA_IiEEEEEEvE6invokeENS1_11any_pointerE+0x18)[0x807d22c]
./anytermd[0x8054e36]
./anytermd[0x8078df0]
/lib/libpthread.so.0[0x4013dc51]
/lib/libc.so.6(__clone+0x5a)[0x402447fa]
Segmentation fault

phil
2009-01-21 22:05:48

# make

Please don't make as root.

phil
2009-01-21 22:05:08

svn co http://svn.anyterm.org/anyterm/tags/releases/1.1/1.1.28/ anyterm-1.1.28
Checked out revision 4934.

No, you need to do something like

svn co -r 4934 http://svn.anyterm.org/anyterm/trunk

or just do that without the "-r 4934" since that's currently the latest.  What you did got "version 1.1.28 at revision 4934", but "version 1.1.28" hasn't changed (and won't).

grep for 2_4 in libpbe and you should be able to see the new bits.

Meteo
2009-01-21 21:51:01

svn co http://svn.anyterm.org/anyterm/tags/releases/1.1/1.1.28/ anyterm-1.1.28

Checked out revision 4934.

beerland:~/tunnel/anyterm_svn/anyterm-1.1.28/libpbe# make
cd build; make libpbe.a
make[1]: Entering directory `/root/tunnel/anyterm_svn/anyterm-1.1.28/libpbe/build'
g++  -pthread -MM -MT utils.d -MT utils.o  -I../include -o utils.d ../src/utils.cc
g++  -pthread -MM -MT to_ascii_letters.d -MT to_ascii_letters.o  -I../include -o to_ascii_letters.d ../src/to_ascii_letters.cc
g++  -pthread -MM -MT select.d -MT select.o  -I../include -o select.d ../src/select.cc

I don't see -DSUPPORT_LINUX_2_4 :\

phil
2009-01-21 20:31:07

I have committed what should be a fix in svn rev 4934.  This affects libpbe/common.mk and libpbe/include/Futex.hh.  Please try it out if you can.  You'll need to make clean in libpbe.  You should then see -DSUPPORT_LINUX_2_4 being passed as gcc is invoked.

Of course this assumes that you're building on the machine that you want to run the code on, which is true for most but perhaps not all users.

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson