Hi all:
I'm running GNU Smalltalk 3.2.2_1 on a FreeBSD 8.1-STABLE box, with a view to getting Seaside running with it. I'm following the very basic steps of getting a remotely accessible image running (see http://smalltalk.gnu.org/blog/bonzinip/seaside-development-gnu-smalltalk): gst-remote -I seaside.im --daemon gst-remote --eval '100 factorial' The problem is that I get a segfault for every invocation of the second command, regardless of what the expression to be evaluated is. I'm thinking this might be obscure because I've searched for known bugs/problems with GNU Smalltalk on FreeBSD and found none, then I checked for bugs with 64-bit FreeBSD and found none, but in my case, we are dealing with GNU Smalltalk running on a 64-bit FreeBSD machine hosted on KVM/QEMU. Am I missing something blatantly obvious here? Thanks, -- Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 09/29/2010 11:01 PM, Larry Gadallah wrote:
> Am I missing something blatantly obvious here? If you type make check, does it find any issue? _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
In reply to this post by Larry Gadallah
Actually you dont need
> gst-remote --eval '100 factorial' to make Seaside running :) I use GNU Smalltalk with Seaside on an external hosting (however there is GNU/Linux, not FreeBSD) and it works there quite well. 2010/9/29, Larry Gadallah <[hidden email]>: > Hi all: > > I'm running GNU Smalltalk 3.2.2_1 on a FreeBSD 8.1-STABLE box, with a > view to getting Seaside running with it. > > I'm following the very basic steps of getting a remotely accessible > image running (see > http://smalltalk.gnu.org/blog/bonzinip/seaside-development-gnu-smalltalk): > > gst-remote -I seaside.im --daemon > gst-remote --eval '100 factorial' > > The problem is that I get a segfault for every invocation of the > second command, regardless of what the expression to be evaluated is. > > I'm thinking this might be obscure because I've searched for known > bugs/problems with GNU Smalltalk on FreeBSD and found none, then I > checked for bugs with 64-bit FreeBSD and found none, but in my case, > we are dealing with GNU Smalltalk running on a 64-bit FreeBSD machine > hosted on KVM/QEMU. > > Am I missing something blatantly obvious here? > > Thanks, > > -- > Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com > PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 > > _______________________________________________ > help-smalltalk mailing list > [hidden email] > http://lists.gnu.org/mailman/listinfo/help-smalltalk > _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 09/29/2010 05:20 PM, Dmitry Matveev wrote:
>> gst-remote --eval '100 factorial' As Larry wrote, >> The problem is that I get a segfault for every invocation of the >> second command, regardless of what the expression to be evaluated is. Larry, can you try configuring with "--disable-generational-gc"? Thanks, Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
In reply to this post by Larry Gadallah
On 29 September 2010 09:02, <[hidden email]> wrote:
> > As Larry wrote, > >>> The problem is that I get a segfault for every invocation of the >>> second command, regardless of what the expression to be evaluated is. > > Larry, can you try configuring with "--disable-generational-gc"? > > Thanks, > > Paolo Hi Paolo: I tried rebuilding after reconfiguring as you suggested, but the results are the same. I'll try to get a backtrace. Thanks, -- Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
In reply to this post by Larry Gadallah
Hi Paolo:
On 29 September 2010 09:02, <[hidden email]> wrote: > Message: 7 > Date: Wed, 29 Sep 2010 17:33:39 +0200 > From: Paolo Bonzini <[hidden email]> > Subject: Re: [Help-smalltalk] Noob with obscure problem > To: Dmitry Matveev <[hidden email]> > Cc: help-smalltalk <[hidden email]> > Message-ID: <[hidden email]> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > On 09/29/2010 05:20 PM, Dmitry Matveev wrote: >>> gst-remote --eval '100 factorial' > > As Larry wrote, > >>> The problem is that I get a segfault for every invocation of the >>> second command, regardless of what the expression to be evaluated is. > > Larry, can you try configuring with "--disable-generational-gc"? > > Thanks, > > Paolo As I mentioned earlier, I see no difference in behavior after configuring with '--disable-generational-gc', and here is a stack trace from gdb: [larry@owrlakh] 159% sudo gdb /usr/local/bin/gst-remote gst-remote.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `gst-remote'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libgst.so.8...done. Loaded symbols for /usr/local/lib/libgst.so.8 Reading symbols from /lib/libreadline.so.8...done. Loaded symbols for /lib/libreadline.so.8 Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /usr/local/lib/libgobject-2.0.so.0...done. Loaded symbols for /usr/local/lib/libgobject-2.0.so.0 Reading symbols from /usr/local/lib/libgthread-2.0.so.0...done. Loaded symbols for /usr/local/lib/libgthread-2.0.so.0 Reading symbols from /usr/local/lib/libglib-2.0.so.0...done. Loaded symbols for /usr/local/lib/libglib-2.0.so.0 Reading symbols from /usr/local/lib/libintl.so.9...done. Loaded symbols for /usr/local/lib/libintl.so.9 Reading symbols from /usr/local/lib/libiconv.so.3...done. Loaded symbols for /usr/local/lib/libiconv.so.3 Reading symbols from /usr/local/lib/libpcre.so.0...done. Loaded symbols for /usr/local/lib/libpcre.so.0 Reading symbols from /lib/libthr.so.3...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /lib/libncurses.so.8...done. Loaded symbols for /lib/libncurses.so.8 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x00000000814ac48a in atoi () from /lib/libc.so.7 [New Thread 818021c0 (LWP 100103)] (gdb) bt #0 0x00000000814ac48a in atoi () from /lib/libc.so.7 #1 0x00000000806c1658 in qsort (base_ptr=0x81ae2300 "\020\002Þÿ®\210kâ", total_elems=3, size=176, cmp=0x814ac3a0 <atoi+32>) at qsort.c:243 #2 0x00000000814afa77 in getaddrinfo () from /lib/libc.so.7 #3 0x00000000806d44e8 in gst_smalltalk_args () at src/x86/unix64.S:75 #4 0x00000000806d4446 in ffi_call (cif=0x818f4e88, fn=0x814ae5e0 <getaddrinfo>, rvalue=0x7fffffffe350, avalue=0x7fffffffe2c0) at src/x86/ffi64.c:430 #5 0x00000000806921eb in _gst_invoke_croutine (cFuncOOP=0x82033300, receiver=0x8200cca0, args=0x81b1b3b8) at cint.c:879 #6 0x00000000806a487d in VMpr_CFuncDescriptor_call (id=Variable "id" is not available. ) at prims.def:5952 #7 0x00000000806a6fff in _gst_send_message_internal (sendSelector=Variable "sendSelector" is not available. ) at interp.c:2699 #8 0x00000000806b4d24 in _gst_interpret (processOOP=0x8208c6a0) at vm.def:693 #9 0x00000000806b87c5 in _gst_nvmsg_send (receiver=0x82002000, sendSelector=0x8208c040, args=0x0, sendArgs=0) at interp.c:2271 #10 0x0000000080671f5e in _gst_execute_statements (temps=0x0, statements=Variable "statements" is not available. ) at comp.c:691 #11 0x00000000806658ac in parse_doit (p=0x7fffffffe970, fail_at_eof=false) at gst-parse.c:472 #12 0x0000000080665c63 in parse_chunks (p=0x7fffffffe970) at gst-parse.c:364 #13 0x000000008066603f in _gst_parse_chunks () at gst-parse.c:341 #14 0x000000008066643a in _gst_parse_stream (method=false) at lex.c:1186 #15 0x0000000080693b15 in _gst_process_file (fileName=Variable "fileName" is not available. ) at input.c:846 #16 0x000000008065dd99 in gst_process_file (fileName=Variable "fileName" is not available. ) at gstpub.c:161 #17 0x0000000000401de6 in main (argc=3, argv=0x7fffffffebf0) at gst-tool.c:545 I notice that the remote instance continues to run after this, it seems to be the client instance that crashes. Issuing the command 'gst-remote --kill' also results in a segfault. Thanks, -- Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
> I notice that the remote instance continues to run after this, it
> seems to be the client instance that crashes. Issuing the command > 'gst-remote --kill' also results in a segfault. Yes, --kill is a shortcut for "--eval 'ObjectMemory quit'". Can you try downloading debug info for libc and getting another backtrace? Also, you can try removing all mentions of qsort.c from lib-src/Makefile.am (or, if you don't have automake, lib-src/Makefile.in). Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 1 October 2010 00:31, Paolo Bonzini <[hidden email]> wrote:
>> I notice that the remote instance continues to run after this, it >> seems to be the client instance that crashes. Issuing the command >> 'gst-remote --kill' also results in a segfault. > > Yes, --kill is a shortcut for "--eval 'ObjectMemory quit'". > > Can you try downloading debug info for libc and getting another backtrace? > > Also, you can try removing all mentions of qsort.c from > lib-src/Makefile.am (or, if you don't have automake, > lib-src/Makefile.in). > > Paolo > I haven't been able to confirm debug info for libc yet, but I did try removing qsort.c (and configuring with --disable-generational-gc) from the build and it now seems to function properly: [larry@owrlakh] 268% sudo gst-remote --daemon [larry@owrlakh] 269% gst-remote server started. [larry@owrlakh] 269% sudo gst-remote --pid 9022 [larry@owrlakh] 270% ps auxww | grep gst root 9022 1.0 1.4 813692 14448 ?? Ss 8:03AM 0:00.40 gst-remote --daemon [larry@owrlakh] 271% sudo gst-remote --kill Object: File error: Bad file descriptor SystemExceptions.FileError(Exception)>>pass (ExcHandling.st:385) optimized [] in UndefinedObject>>executeStatements (scripts/Remote.st:244) SystemExceptions.FileError(Exception)>>activateHandler: (ExcHandling.st:516) SystemExceptions.FileError(Exception)>>signal (ExcHandling.st:254) SystemExceptions.FileError class(Exception class)>>signal: (ExcHandling.st:161) File class>>checkError: (File.st:84) optimized [] in Sockets.AbstractSocketImpl>>ensureReadable (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:442) BlockClosure>>ensure: (BlkClosure.st:269) optimized [] in Sockets.AbstractSocketImpl>>ensureReadable (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:428) Sockets.TCPSocketImpl(Sockets.AbstractSocketImpl)>>fileOp:with:ifFail: (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:151) Sockets.TCPSocketImpl(Sockets.AbstractSocketImpl)>>ensureReadable (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:441) Sockets.ServerSocket>>waitForConnection (Sockets.star#VFS.ZipFile/Sockets.st:980) optimized [] in UndefinedObject>>executeStatements (scripts/Remote.st:214) BlockClosure>>repeat (BlkClosure.st:318) optimized [] in UndefinedObject>>executeStatements (scripts/Remote.st:203) BlockClosure>>on:do: (BlkClosure.st:193) optimized [] in UndefinedObject>>executeStatements (scripts/Remote.st:239) [] in Process>>onBlock:at:suspend: (Process.st:392) BlockClosure>>on:do: (BlkClosure.st:193) [] in Process>>onBlock:at:suspend: (Process.st:393) BlockClosure>>ensure: (BlkClosure.st:269) [] in Process>>onBlock:at:suspend: (Process.st:370) [] in BlockClosure>>asContext: (BlkClosure.st:179) BlockContext class>>fromClosure:parent: (BlkContext.st:68) Cheers, -- Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
On Sun, Oct 3, 2010 at 17:07, Larry Gadallah <[hidden email]> wrote:
> I haven't been able to confirm debug info for libc yet, but I did try removing > qsort.c (and configuring with --disable-generational-gc) from the build and it > now seems to function properly: Weird, but easily fixed at least. Can you try without --disable-generational-gc too? > [larry@owrlakh] 271% sudo gst-remote --kill > Object: File error: Bad file descriptor This can still be improved, too. :) Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Hi Paolo:
On 3 October 2010 08:34, Paolo Bonzini <[hidden email]> wrote: > On Sun, Oct 3, 2010 at 17:07, Larry Gadallah <[hidden email]> wrote: >> I haven't been able to confirm debug info for libc yet, but I did try removing >> qsort.c (and configuring with --disable-generational-gc) from the build and it >> now seems to function properly: > > Weird, but easily fixed at least. > > Can you try without --disable-generational-gc too? > >> [larry@owrlakh] 271% sudo gst-remote --kill >> Object: File error: Bad file descriptor > > This can still be improved, too. :) > > Paolo > I did try it, and it also works without the --disable-generational-gc configuration. The problem seems to be related to something in qsort.c? Cheers, -- Larry Gadallah, VE6VQ/W7 lgadallah AT gmail DOT com PGP Sig: 917E DDB7 C911 9EC1 0CD9 C06B 06C4 835F 0BB8 7336 _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
> I did try it, and it also works without the --disable-generational-gc
> configuration. The problem seems to be related to something in > qsort.c? Yes, I'll just remove the file. It's obsolete. Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
On 03/19/2011 08:14 AM, Larry Gadallah wrote:
> > [larry@owrlakh] 236% gst-remote --daemon > gst-remote server started. > > [larry@owrlakh] 237% gst-remote --eval '100 factorial' Perhaps you wanted to eval '100 factorial printNl'? > [larry@owrlakh] 238% gst-remote --kill > Object: File error: Bad file descriptor > SystemExceptions.FileError(Exception)>>pass (ExcHandling.st:385) > optimized [] in UndefinedObject>>executeStatements > (/usr/local/share/smalltalk/scripts/Remote.st:244) > SystemExceptions.FileError(Exception)>>activateHandler: (ExcHandling.st:516) > SystemExceptions.FileError(Exception)>>signal (ExcHandling.st:254) > SystemExceptions.FileError class(Exception class)>>signal: > (ExcHandling.st:161) > File class>>checkError: (File.st:84) > optimized [] in Sockets.AbstractSocketImpl>>ensureReadable > (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:442) > BlockClosure>>ensure: (BlkClosure.st:269) > optimized [] in Sockets.AbstractSocketImpl>>ensureReadable > (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:428) > Sockets.TCPSocketImpl(Sockets.AbstractSocketImpl)>>fileOp:with:ifFail: > (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:151) > Sockets.TCPSocketImpl(Sockets.AbstractSocketImpl)>>ensureReadable > (Sockets.star#VFS.ZipFile/AbstractSocketImpl.st:441) > Sockets.ServerSocket>>waitForConnection > (Sockets.star#VFS.ZipFile/Sockets.st:980) > optimized [] in UndefinedObject>>executeStatements > (/usr/local/share/smalltalk/scripts/Remote.st:214) > BlockClosure>>repeat (BlkClosure.st:318) > optimized [] in UndefinedObject>>executeStatements > (/usr/local/share/smalltalk/scripts/Remote.st:203) > BlockClosure>>on:do: (BlkClosure.st:193) > optimized [] in UndefinedObject>>executeStatements > (/usr/local/share/smalltalk/scripts/Remote.st:239) > [] in Process>>onBlock:at:suspend: (Process.st:389) > BlockClosure>>on:do: (BlkClosure.st:193) > [] in Process>>onBlock:at:suspend: (Process.st:390) > BlockClosure>>ensure: (BlkClosure.st:269) > [] in Process>>onBlock:at:suspend: (Process.st:368) > [] in BlockClosure>>asContext: (BlkClosure.st:179) > BlockContext class>>fromClosure:parent: (BlkContext.st:68) This is http://smalltalk.gnu.org/project/issue/497 I think this is just a race due to the socket being closed on the other side. Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |