SBCL error with cl-smtp - email

This is a recent error that I can't find any documentation for. It might not be cl-smtp specific, but it occurs each time I attempt to evaluate
(cl-smtp:send-email "localhost" "source#email.com" "test#email.com" "TEST" "Testing email from Common Lisp")
from the REPL. The error output is
debugger invoked on a SB-INT:SIMPLE-PROGRAM-ERROR in thread #<THREAD
"initial thread" RUNNING
{AAE38D1}>:
invalid keyword argument: :SERVE-EVENTS (valid keys are :AUTO-CLOSE, :INPUT,
:OUTPUT, :ELEMENT-TYPE, :EXTERNAL-FORMAT, :BUFFERING, :TIMEOUT).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
(SB-PCL::CHECK-APPLICABLE-KEYWORDS
0
(:AUTO-CLOSE :INPUT :OUTPUT :ELEMENT-TYPE :EXTERNAL-FORMAT :BUFFERING
:TIMEOUT)
-303677905
10)
0] 0
I'm running Debian 6 with postfix and SBCL 1.0.40, and cl-smtp installed via quicklisp. Sending email through the telnet interface with the same source, server, target, subject and body (whether from the same unix user or with root) works fine. This setup also works fine (even from the REPL) on other machines that run the same software stack.
Can anyone see what I'm doing wrong?

That particular error is not coming from cl-smtp. Miscellany googling suggests that it's an internal API mimatch. Looking at the available flags, it seems as if it's a socket error( input, output, buffering, timeout).
SBCL 40 is almost a year old, SBCL 51 is fresh off the presses... I suggest upgrading!

Related

Why is google test EXPECT_EXIT yielding me the wrong error code?

I have a function that returns nothing, but based on various conditions will exit the process by calling exit(1). So I duly added an EXPECT_EXIT to my test program,
EXPECT_EXIT(checkAndExit(), ::testing::ExitedWithCode(1), ".*");
and when I run it I get this:
Result: died but not with expected exit code:
Exited with exit status 23
Which is interesting, because I most definitely exit(1);
This is on ubuntu 16.04. When I run the same code on osx, it works correctly, it returns 1 and the test passes.
I sifted a bit through the google test source code and nothing popped out at me. Any ideas?

repl hangs for ~15 seconds on each error (emacs + cider + boot)

I'm facing a strange behavior whenever I invoke an error in boot-cljs-repl. The repl (actually the entire emacs) hangs for about 15 seconds and after that I see the following error message below the mode-line:
error in process filter: Lisp nesting exceedsmax-lisp-eval-depth'`
An error would e.g be calling (some-nonexisting-function) from the REPL.
Additionally I get an error message inside the REPL itself. Sorry, for posting the whole thing here - I wouldn't know right now which parts are important:
box.webgl> (some-nonexisting-function)
WARNING: Use of undeclared Var box.webgl/some-nonexisting-function at line 1 <cljs repl>
#object[TypeError TypeError: Cannot read property 'call' of undefined]
TypeError: Cannot read property 'call' of undefined
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:1\
:124)
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:9\
:3)
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:1\
4:4)
at http://localhost:3000/main.out/weasel/repl.js:30:465
at http://localhost:3000/main.out/weasel/repl.js:39:4
at cljs.core.MultiFn.call.G__10839__2 (http://localhost:3000/main.out/cljs/core.js:33327:106)
at cljs.core.MultiFn.call.G__10839 [as call] (http://localhost:3000/main.out/cljs/core.js:33594:20\
)
at .<anonymous> (http://localhost:3000/main.out/weasel/repl.js:184:71)
at goog.events.EventTarget.fireListeners (http://localhost:3000/main.out/goog/events/eventtarget.j\
s:284:23)
at Function.goog.events.EventTarget.dispatchEventInternal_ (http://localhost:3000/main.out/goog/ev\
ents/eventtarget.js:381:26)
recently CIDER was changed to automatically supply it's own cider-nrepl and clj-refactor middleware when starting lein, so you can (should) remove these from your ~/.lein/profifiles.clj file if you have them. This will clear up this warning. (remember to update to the latest cider emacs package.
WARNING: CIDER's version (0.12.0-snapshot) does not match
cider-nrepl's version (not installed). Things will break!
This is a problem and hopefully fixing it clears up your other problems. If not, at least solving this is a prerequisite to debugging it properly.

Interpreting the memory address in fortran 90

Is there any way to interpret the hex address directly/indirectly in fortran(90). For instance, some times I get memory segmentation issue followed by Failing at address: 0x1fffffff8. A more complete message is something like this:
[amir-desktop] *** Process received signal ***
[amir-desktop] Signal: Segmentation fault (11)
[amir-desktop] Signal code: Address not mapped (1)
[amir-desktop] Failing at address: 0x1fffffff8
[amir-desktop] [ 0] /lib/libpthread.so.0(+0xf8f0) [0x2af5efcb08f0]
[amir-desktop] [ 1] test.exe(__box_mod_MOD_constructlist+0x35c) [0x44052c]
[amir-desktop] [ 2] test.exe(__box_mod_MOD_box_move+0x72) [0x443372]
[amir-desktop] [ 3] test.exe() [0x44c81b]
[amir-desktop] [ 4] test.exe(main+0x1d) [0x41336d]
[amir-desktop] [ 5] /lib/libc.so.6(__libc_start_main+0xfd) [0x2af5f59a9c8d]
[amir-desktop] [ 6] test.exe() [0x41391d]
Is it possible to realize that this address is related to a specific variable, maybe by a simple print statement. I know that loc function prints an integer regarding the address of the variable (Another question arise if they are convertible to hex type address). I would guess that it might be possible to use debugger for that purpose. I would appreciate if some one can comment on this (and some suggestion) as well.
I am currently using gfortran 4.6. under linux distribution.
Thanks
This line:
[amir-desktop] [ 1] test.exe(__box_mod_MOD_constructlist+0x35c) [0x44052c]
tells you that the error was in the function constructlist in the box_mod module. I would start looking there for any obvious errors first.
Try compiling with the following flags:
gfortran -g -fbacktrace -fbounds-check -Wall test.f90
These will (in order): turn on debugging symbols, print out backtraces, check array bounds and print most warnings about unsafe code during compilation.
If that still doesn't solve your problem, you can use gdb on a core dump. This is a record of the state of your program when it crashed. You'll need to enable core dumps first by running ulimit -c unlimited in your terminal. Next, run your code - you should get an error like Segmentation fault (core dumped) - and it will create a file named core or core.pid, where pid is a number. Finally, you can run gdb like so:
gdb ./test.exe core.pid
It will print a whole bunch of information and then leave you with a (gdb) prompt. Run a stack trace with bt to see what happened when your program crashed. quit will exit gdb.

Windbg - !clrstack

I'm attempting to debug a manual dump file of a 64bit w3wp process with 64bit Windbg (Version 6.10). The dump was taken with taskmgr. I can't get anything from the !clrstack command. Here is what I'm getting:
!loadby sos clr
!runaway
User Mode Time
Thread Time
17:cf4 0 days 5:37:42.455
~17s
ntdll!ZwDelayExecution+0xa:
00000000`776208fa c3 ret
!clrstack
GetFrameContext failed: 1
What is GetFrameContext failed: 1?
Use !dumpstack command instead of !clrstack. It usually works.
Try getting the "native" call stack by doing "k" and see what that gets you. Sometimes, the stack isn't quite right and the !ClrStack extension is pretty sensitive.

slime doesn't work in emacs24

I use emacs24 in archlinux.If i use the slime packages from marmalade.org,then when i use M-x slime the error is:
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "initial thread" RUNNING {AB007A9}>:
Couldn't load
"/home/sinners/.emacs.d/elpa/slime-20100404.1/swank-loader.lisp": file does
not exist.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
but if i use the slime-cvs packages from the offical site,the error is:
Debugger entered: (("Error in timer" slime-attempt-connection (#<process inferior-lisp> nil 2) (void-variable --cl-accu--)))
#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"]((void-variable --cl-accu--))
funcall(#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"] (void-variable --cl-accu--))
slime-timer-call(slime-attempt-connection #<process inferior-lisp> nil 2)
apply(slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2))
byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
timer-event-handler([t 20271 59188 161536 0.3 slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2) nil])
anyone can help me?
Problem with --cl-accu-- variable signs about breakage of emacs cl package in presence of lexical scoping. Try to go to slime.el in your slime distribution, find string
;; lexical-binding: t in the ;; Local Variables: section at the end of the file and change it to ;; lexical-binding: nil. And remove old slime.elc file if you have one.
I had the exact same problem, which was solved by deleting the slime.elc file, that I had compiled earlier using byte-recompile-directory. I didn't try compiling it again.
I'm not sure, but this problem can be due to different versions of SLIME and SWANK. However you should just use pacman to install a lisp implementation ­(I think that SBCL is the most popular implementation on Linux) and then use quicklisp to install everything else.
See this blog post to see how to install SWANK and SLIME with quicklisp.