AWS Lambdas: “Process exited before completing request”

While testing a React frontend for my SudokuSolver Lambda, I kept getting this error when calling the Lambda using superagent from React:

RequestId: 35934232-xxx Process exited before completing request

Testing from Postman it completed as expected.

This error message means what it says, the Lambda quit before it completed executing.

There are 2 possible paths through my SudokuSolver:

  1. The input puzzle has a single, unique solution
  2. The input has more than one possible solution

If there is more than one solution, the Solver finds the first solution and then exits. Yes, it does a System.exit(). There’s the cause of my problem. I was testing from Postman with a puzzle with a single solution, but the test from my React app only had a couple of values in the grid.

Lessons learned:

  • read and understand what the error message means. Once you understand what it’s telling you, ask how and where this applies to your code
  • when changing variable aspects of your test, don’t change too many at one time. If possible only make one change, so if something is unexpected you’ll know it’s as a result of that change (in my case I changed my test data from Postman to the React app and so wasn’t comparing the results with the same inputs. The issue was unrelated to React or superagent, it was completely related to my test data)

Will the upcoming ‘modular’ Mac Pro be easily expandable?

It’s been rumored for a while now that a new upcoming Mac Pro, likely to be announced at WWDC 2019, will be ‘modular’. The last generation Mac Pro, usually referred to as the ‘trashcan’ because it looks just like a trash can, is anything but modular compared to previous generations.

This is what my 2008 Mac Pro looks like in the inside:

I have a mix of SSDs and HDDs in there, and I boot MacOS, Windows 10, Linux and run Proxmox to virtualize the hardware. I have 2 GPUs, one Mac native AMD and one generic nvidia .

I don’t think ‘modular’ means the same as expandable. My 2008 Mac Pro does everything I need as a daily driver desktop, and if I need it to do something different I can easily pull parts out and put new parts in.

I want the new Mac Pro to be as expandable as this, but I think ‘modular’ more likely refers to an ability to link multiple units together to add capacity and features, but that sounds like an expensive approach, and nowhere near as flexible as the expandability of prior generation Mac Pros. Fingers crossed, I’m looking forward to see what will be announced, but I don’t think the new Mac Pro will be as expandable as the previous generations.

Packet Radio on Debian 9 with Direwolf and ax25

I’ve played around with Packet and Direwolf on the Raspberry Pi quite a bit, but every time I try and getting it working on Linux on a desktop I run into some differences in the config. From past attempts, I followed most of the steps I had followed before here.

The following steps are with a USB Rigblaster Plug n Play, connected to the dataport on my Icom 880h radio .

I installed and compiled Direwolf from source as before, and started it up with:

$ direwolf -t 0 -p
Dire Wolf version 1.5
Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:0,0 (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate.
Ready to accept AGW client application 0 on port 8000 …
Ready to accept KISS TCP client application 0 on port 8001 …
Virtual KISS TNC is available on /dev/pts/1
Created symlink /tmp/kisstnc -> /dev/pts/1

I installed the ax25 apps as in the previous article, and then added 1 line to /etc/ax25/ports:

1    KK6DCT-1    1200    255 2   2m packet

I then started kissattach:

$ sudo kissattach /dev/pts/1 1

/dev/pts/1 is the value from when Direwolf started, and port 1 is the line I added to the ports file.

From here I can connect to the local ag6qo-1 BBS, via the BERR37 node:

axcall 1 ag6qo-1 via berr37