Q: FreeBSD complains "invalid partition table"—still boots I've recently installed FreeBSD 12.1 on my Dell Precision M4800 with ZFS as the root file system. The operating system is installed on an mSATA SSD, a 2½″-HDD is installed, too. On startup, the system refuses to boot unless I manually choose to boot from the mSATA SSD. Even then, the FreeBSD bootloader complains "invalid partition table" but still boots if I press enter.
How can I make FreeBSD boot normally?
I understand that I didn't provide much information. I'm fairly new to FreeBSD and I have no idea what information is required to resolve this issue. Please tell me what you need and I shall immediately provide you with the required information.
Additional Information
User Alex asked me to report the output of fdisk -l. FreeBSD's fdisk does not support -l, but here is the output anyway:
# fdisk -l
fdisk: illegal option -- l
usage: fdisk [-BIaipqstu] [-b bootcode] [-1234] [disk]
       fdisk -f configfile [-itv] [disk]

Here is the output of gpart list:
# gpart list
Geom name: ada1
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 1000215182
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada1p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 20480
   Mode: r0w0e0
   rawuuid: 4ef0a0fe-67b0-11e5-881a-34e6d760b2c5
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   attrib: bootme
   label: gptboot0
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada1p2
   Mediasize: 34359738368 (32G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   rawuuid: 4f077a7a-67b0-11e5-881a-34e6d760b2c5
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: swap0
   length: 34359738368
   offset: 1048576
   type: freebsd-swap
   index: 2
   end: 67110911
   start: 2048
3. Name: ada1p3
   Mediasize: 477749051392 (445G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   rawuuid: 4f0caac1-67b0-11e5-881a-34e6d760b2c5
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: zfs0
   length: 477749051392
   offset: 34360786944
   type: freebsd-zfs
   index: 3
   end: 1000214527
   start: 67110912
Consumers:
1. Name: ada1
   Mediasize: 512110190592 (477G)
   Sectorsize: 512
   Mode: r2w2e4

Update
Turns out the stricken part was a configuration issue in the BIOS.  After selecting the right boot disk, the computer reaches the "invalid partition table" message without having to manually select a boot device.  However, the question about why the FreeBSD pmbr boot code prints this message remains.

A: Apparently the disk is partioned using the GPT layout, necessary if the system used UEFI to boot. Perhaps FreeBSD first probes for the old-fashioned MS-DOS partitioning layout and fils and prints a message about that, but then continues on to try other layouts and successfully finds the GPT layout and continues to boot.
As far as having to choose the SSD manually, that is probably just a BIOS configuration issue. I suspect the harddisk is connected to the first SATA port and hence becomes the default boot disk. Either fix the BIOS config, or swap the SATA connections so that the SSD is now connected to the first SATA port.

A: I don't see the second disk. This is maybe because it is really not partitioned properly. The boot loader maybe tries to find what it can boot and fails to read one of the disks.
I use gpart show to see what geom has found. It has a nicer output than gpart list. When GEOM has problems detecting the layout, it will also write errors to the log which you can later read with dmesg.
It is also possible that the MBR was written to the first disk and the boot partition is on the second disk. You can avoid this by disabling the disks you don't want to install to in the BIOS or simply unplug them.
The GPT partition scheme does no harm (usually) because it is compatible with MBR. And as far as I understood you were telling that the error message comes later from the boot loader. So you can rule out a BIOS problem here.
