Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tpm2-tools fail to connect to tpm2-abrmd; error message Failed to create connection with service: Timeout was reached #422

Closed
blaufish opened this issue Apr 9, 2018 · 10 comments

Comments

@blaufish
Copy link

blaufish commented Apr 9, 2018

I fail to get tpm2-abrmd connectivity from tpm2-tools.

  • Target system is Ubuntu Linux latest stable (4.13.0-38-generic #43~16.04.1-Ubuntu) running under VMWare Fusion
  • (very old version of tpm2-tools from ubuntu apt install tested OK previously.)
  • Source code revision is head of tpm2-tss, tpm2-abrmd, tpm2-tools as of now.
tpm2_pcrlist 

** (process:8120): WARNING **: Failed to create connection with service: Timeout was reached
ERROR: tcti init allocation routine failed for library: "tabrmd" options: "(null)"
ERROR: Could not load tcti, got: "tabrmd"

User tss have no more success;

$ sudo -u tss tpm2_pcrlist 

** (process:8128): WARNING **: Failed to create connection with service: Timeout was reached
ERROR: tcti init allocation routine failed for library: "tabrmd" options: "(null)"

Problem persists regardless if abrmd is started from systemd or if started from console with debug

sudo -u tss G_MESSAGES_DEBUG=all tpm2-abrmd
** INFO: tabrmd startup
** INFO: logging to stdout
** (tpm2-abrmd:2060): DEBUG: tcti_conf_parse
** (tpm2-abrmd:2060): DEBUG: tcti_conf_parse: combined conf is null
** (tpm2-abrmd:2060): DEBUG: tcti_dynamic_set_property: TctiDynamic 0xc8d800 set filename: libtss2-tcti-device.so
** (tpm2-abrmd:2060): DEBUG: tcti_dynamic_set_property: TctiDynamic 0xc8d800 PROP_CONF_STR set to: (null)
** INFO: entering g_main_loop
** INFO: init_thread_func start
** (tpm2-abrmd:2060): DEBUG: random_class_init
** (tpm2-abrmd:2060): DEBUG: opening entropy source: /dev/urandom
** (tpm2-abrmd:2060): DEBUG: reading from entropy source: /dev/urandom
** (tpm2-abrmd:2060): DEBUG: seeding rand with -2303404397750689299
** (tpm2-abrmd:2060): DEBUG: connection_manager_set_property: 0xc80700
** (tpm2-abrmd:2060): DEBUG:   max_connections: 0x1b
** (tpm2-abrmd:2060): DEBUG: ConnectionManager: 0xc80700
** (tpm2-abrmd:2060): DEBUG: IpcFrontendDbus set bus_name: com.intel.tss2.Tabrmd
** (tpm2-abrmd:2060): DEBUG: ipc_frontend_connect: 0x7f8744002060
** (tpm2-abrmd:2060): DEBUG: tcti_initialize: 0xc8d800
** (tpm2-abrmd:2060): DEBUG: tcti_dynamic_initialize: TctiDynamic 0xc8d800
** (tpm2-abrmd:2060): DEBUG: tcti_util_discover_info
** (tpm2-abrmd:2060): DEBUG: tcti_util_dynamic_init
** (tpm2-abrmd:2060): DEBUG: sapi_context_init w/ Tcti: 0xc8d800
** (tpm2-abrmd:2060): DEBUG: tcti_peek_context: 0xc8d800
** (tpm2-abrmd:2060): DEBUG: Allocating 0x1048 bytes for SAPI context
** (tpm2-abrmd:2060): DEBUG: access_broker_set_property: 0x7f874400f030
** (tpm2-abrmd:2060): DEBUG:   sapi_context: 0x7f874400dec0
** (tpm2-abrmd:2060): DEBUG: access_broker_set_property: 0x7f874400f030
** (tpm2-abrmd:2060): DEBUG:   tcti: 0xc8d800
** (tpm2-abrmd:2060): DEBUG: created AccessBroker: 0x7f874400f030
** (tpm2-abrmd:2060): DEBUG: access_broker_init_tpm: 0x7f874400f030
** (tpm2-abrmd:2060): DEBUG: access_broker_get_tpm_properties_fixed
** INFO: on_bus_acquired: com.intel.tss2.Tabrmd
** INFO: on_name_acquired: com.intel.tss2.Tabrmd
** (tpm2-abrmd:2060): DEBUG: Got proxy object for DBus daemon.

Complete build instruction executed,

mkdir gits
cd gits/
git clone https://github.com/tpm2-software/tpm2-tss.git
git clone https://github.com/tpm2-software/tpm2-abrmd.git
git clone https://github.com/tpm2-software/tpm2-tools.git
cd tpm2-tss/
./bootstrap
make
sudo make install
sudo ldconfig
cd ..
cd tpm2-abrmd
sudo useradd --system --user-group tss
./bootstrap
./configure --with-dbuspolicydir=/etc/dbus-1/system.d --with-udevrulesdir=/etc/udev/rules.d/ --with-systemdsystemunitdir=/lib/systemd/system/ --with-systemdpresetdir=/lib/systemd/system-preset/
make
sudo make install
sudo mv /usr/local/share/dbus-1/system-services/com.intel.tss2.Tabrmd.service /usr/share/dbus-1/system-services/
cd dist
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo mkdir -p /var/lib/tpm
sudo userdel tss
sudo groupadd tss && sudo useradd -M -d /var/lib/tpm -s /bin/false -g tss tss
sudo pkill -HUP dbus-daemon
sudo chown tss:tss /dev/tpm0
cd ../..
cd tpm2-tools
./bootstrap
./configure
make
sudo make install
@martinezjavier
Copy link
Contributor

@blaufish can you please give it another try with current tpm2-tss master?

@flihp fixed a possible infinite loop in the device TCTI in commit tpm2-software/tpm2-tss@097cae6, that just landed yesterday.

That may explain your D-BUS connection time out.

@flihp
Copy link
Contributor

flihp commented Apr 10, 2018

Spot on @martinezjavier, the behavior seen by @blaufish is exactly how I stumbled across this. Just replied on the mailing list too.

@blaufish
Copy link
Author

blaufish commented Apr 11, 2018

The fix made it emit error immediately:

tpm2_pcrlist 

** (process:1766): WARNING **: Failed to create connection with service: GDBus.Error:com.intel.tss2.Tabrmd.Error.Internal: Failed to get client PID
ERROR: tcti init allocation routine failed for library: "tabrmd" options: "(null)"
ERROR: Could not load tcti, got: "tabrmd"

The git pull moved tpm2-tss from caff754..d497224 master and the following rebuild command was performed:

./bootstrap && make clean && make && sudo make install && sudo ldconfig && sudo shutdown -r now

EDIT

  • systemctl stop tpm2-abrmd.service
  • sudo -u tss G_MESSAGES_DEBUG=all tpm2-abrmd
  • tpm2_pcrlist (fails with sys:Response is malformed)
    I will update and rebuild tpm-abrmd, tpm-tools etc so there isn't some stale files from the old tss compile causing the new problems.
tpm2_pcrlist 
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist
$ sudo -u tss G_MESSAGES_DEBUG=all tpm2-abrmd
** INFO: tabrmd startup
** INFO: logging to stdout
** (tpm2-abrmd:2242): DEBUG: tcti_conf_parse
** (tpm2-abrmd:2242): DEBUG: tcti_conf_parse: combined conf is null
** (tpm2-abrmd:2242): DEBUG: tcti_dynamic_set_property: TctiDynamic 0xda1800 set filename: libtss2-tcti-device.so
** (tpm2-abrmd:2242): DEBUG: tcti_dynamic_set_property: TctiDynamic 0xda1800 PROP_CONF_STR set to: (null)
** INFO: entering g_main_loop
** INFO: init_thread_func start
** (tpm2-abrmd:2242): DEBUG: random_class_init
** (tpm2-abrmd:2242): DEBUG: opening entropy source: /dev/urandom
** (tpm2-abrmd:2242): DEBUG: reading from entropy source: /dev/urandom
** (tpm2-abrmd:2242): DEBUG: seeding rand with -6636868312879020060
** (tpm2-abrmd:2242): DEBUG: connection_manager_set_property: 0xd94700
** (tpm2-abrmd:2242): DEBUG:   max_connections: 0x1b
** (tpm2-abrmd:2242): DEBUG: ConnectionManager: 0xd94700
** (tpm2-abrmd:2242): DEBUG: IpcFrontendDbus set bus_name: com.intel.tss2.Tabrmd
** (tpm2-abrmd:2242): DEBUG: ipc_frontend_connect: 0x7fd844002060
** (tpm2-abrmd:2242): DEBUG: tcti_initialize: 0xda1800
** (tpm2-abrmd:2242): DEBUG: tcti_dynamic_initialize: TctiDynamic 0xda1800
** (tpm2-abrmd:2242): DEBUG: tcti_util_discover_info
** (tpm2-abrmd:2242): DEBUG: tcti_util_dynamic_init
** (tpm2-abrmd:2242): DEBUG: sapi_context_init w/ Tcti: 0xda1800
** (tpm2-abrmd:2242): DEBUG: tcti_peek_context: 0xda1800
** (tpm2-abrmd:2242): DEBUG: Allocating 0x1048 bytes for SAPI context
** (tpm2-abrmd:2242): DEBUG: access_broker_set_property: 0x7fd84400f030
** (tpm2-abrmd:2242): DEBUG:   sapi_context: 0x7fd84400dec0
** (tpm2-abrmd:2242): DEBUG: access_broker_set_property: 0x7fd84400f030
** (tpm2-abrmd:2242): DEBUG:   tcti: 0xda1800
** (tpm2-abrmd:2242): DEBUG: created AccessBroker: 0x7fd84400f030
** (tpm2-abrmd:2242): DEBUG: access_broker_init_tpm: 0x7fd84400f030
** INFO: on_bus_acquired: com.intel.tss2.Tabrmd
** INFO: on_name_acquired: com.intel.tss2.Tabrmd
** (tpm2-abrmd:2242): DEBUG: Got proxy object for DBus daemon.
** (tpm2-abrmd:2242): DEBUG: access_broker_get_tpm_properties_fixed
** (tpm2-abrmd:2242): DEBUG: command_attrs_class_init
** (tpm2-abrmd:2242): DEBUG: created CommandAttrs: 0x7fd844003440
** (tpm2-abrmd:2242): DEBUG: GetCapabilty for 0x1000 commands
** (tpm2-abrmd:2242): DEBUG: got attributes for 0x6d commands
** (tpm2-abrmd:2242): DEBUG: command_source_class_init
** (tpm2-abrmd:2242): DEBUG: command_source_set_properties: 0xda2770
** (tpm2-abrmd:2242): DEBUG:   command_attrs: 0x7fd844003440
** (tpm2-abrmd:2242): DEBUG: command_source_set_properties: 0xda2770
** (tpm2-abrmd:2242): DEBUG: created command source: 0xda2770
** (tpm2-abrmd:2242): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:2242): DEBUG: session_list_init
** (tpm2-abrmd:2242): DEBUG: session_list_set_property: 0x7fd844002800 max-per-connection: 4
** (tpm2-abrmd:2242): DEBUG: resource_manager_set_property: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG:   in_queue: 0x7fd844001280
** (tpm2-abrmd:2242): DEBUG: resource_manager_set_property: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG:   access_broker: 0x7fd84400f030
** (tpm2-abrmd:2242): DEBUG: resource_manager_set_property: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG: created ResourceManager: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG: response_sink_set_property
** (tpm2-abrmd:2242): DEBUG:   setting PROP_IN_QUEUE
** (tpm2-abrmd:2242): DEBUG: created response source: 0x7fd8440034a0
** (tpm2-abrmd:2242): DEBUG: source_add_sink
** (tpm2-abrmd:2242): DEBUG: command_soruce_add_sink: CommandSource: 0xda2770 , Sink: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG: command_source_set_properties: 0xda2770
** (tpm2-abrmd:2242): DEBUG:   sink: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG: source_add_sink
** (tpm2-abrmd:2242): DEBUG: resource_manager_add_sink: ResourceManager: 0x7fd844002850, Sink: 0x7fd8440034a0
** (tpm2-abrmd:2242): DEBUG: resource_manager_set_property: 0x7fd844002850
** (tpm2-abrmd:2242): DEBUG:   sink: 0x7fd8440034a0
** INFO: init_thread_func done
** (tpm2-abrmd:2242): DEBUG: response_sink_thread blocking on input queue: 0x7fd8440013a0
** (tpm2-abrmd:2242): DEBUG: message_queue_dequeue 0x7fd8440013a0
** (tpm2-abrmd:2242): DEBUG: resource_manager_thread start
** (tpm2-abrmd:2242): DEBUG: message_queue_dequeue 0x7fd844001280
** (tpm2-abrmd:2242): DEBUG: random_get_bytes: 0xda2d50
** (tpm2-abrmd:2242): DEBUG: Creating connection with id: 0xe023547aa3240ab3
** (tpm2-abrmd:2242): DEBUG: handle_map_new with handle_type 0x80, max_entries: 0x1b
** (tpm2-abrmd:2242): DEBUG: handle_map_init
** (tpm2-abrmd:2242): DEBUG: handle_map_set_property: 0x7fd82c004d80 max-entries: 27
** (tpm2-abrmd:2242): DEBUG: connection_class_init
** (tpm2-abrmd:2242): DEBUG: connection_set_property
** (tpm2-abrmd:2242): DEBUG: Connection 0x7fd82c0058c0 set id to 0xe023547aa3240ab3
** (tpm2-abrmd:2242): DEBUG: connection_set_property
** (tpm2-abrmd:2242): DEBUG: Connection 0x7fd82c0058c0 set socket to da7c40
** (tpm2-abrmd:2242): DEBUG: connection_set_property
** (tpm2-abrmd:2242): DEBUG: Connection 0x7fd82c0058c0 set trans_handel_map to 0x7fd82c004d80
** (tpm2-abrmd:2242): DEBUG: Created connection with client FD: 9 and id: 0xe023547aa3240ab3
** INFO: command_source_on_new_connection: adding new connection: 0x7fd82c0058c0
** (tpm2-abrmd:2242): DEBUG: command_source_on_input_ready: GInputStream: 0x7fd83c001b30, CommandSource: 0xda2770
** (tpm2-abrmd:2242): DEBUG: connection_manager_lookup_socket for socket: 0x7fd83c001b30, connection: 0x7fd82c0058c0
** (tpm2-abrmd:2242): DEBUG: reading 10 bytes socket 0x7fd84a1395a0, to 0x7fd824001300
** (tpm2-abrmd:2242): DEBUG: successfully read 10 bytes
** (tpm2-abrmd:2242): DEBUG:     80 01 00 00 00 16 00 00 01 7a
** (tpm2-abrmd:2242): DEBUG: reading 12 bytes socket 0x7fd84a1395a0, to 0x7fd82400130a
** (tpm2-abrmd:2242): DEBUG: successfully read 12 bytes
** (tpm2-abrmd:2242): DEBUG:     00 00 00 05 00 00 00 00 00 00 00 01
** (tpm2-abrmd:2242): DEBUG: read_tpm_buffer_alloc: read TPM buffer to 0x7fd824001300 of size: 22
** (tpm2-abrmd:2242): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:2242): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:2242): DEBUG: sink_enqueue
** (tpm2-abrmd:2242): DEBUG: resource_manager_enqueue: ResourceManager: 0x7fd844002850 obj: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: message_queue_enqueue 0x7fd844001280 : message 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG:   got obj: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: resource_manager_thread: message_queue_dequeue got obj: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:2242): DEBUG: session_list_init
** (tpm2-abrmd:2242): DEBUG: session_list_set_property: 0x7fd844002e30 max-per-connection: 4
** (tpm2-abrmd:2242): DEBUG: resource_manager_process_tpm2_command: resmgr: 0x7fd844002850, cmd: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: Tpm2Command: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:2242): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:2242): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:2242): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:2242): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:2242): DEBUG:   nv:           clear
** (tpm2-abrmd:2242): DEBUG:   extensive:    clear
** (tpm2-abrmd:2242): DEBUG:   flushed:      clear
** (tpm2-abrmd:2242): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:2242): DEBUG:   rHandle:      clear
** (tpm2-abrmd:2242): DEBUG:   V:            clear
** (tpm2-abrmd:2242): DEBUG:   Res:          0x0
** (tpm2-abrmd:2242): DEBUG: tpm2_command_get_handle_count
** (tpm2-abrmd:2242): DEBUG: processing TPM2_CC_GetCapability
** (tpm2-abrmd:2242): DEBUG: processing TPM2_CC_GetCapability with cap: 0x5 prop: 0x0 prop_count: 0x1
** (tpm2-abrmd:2242): DEBUG: access_broker_send_command: AccessBroker: 0x7fd84400f030 Tpm2Command: 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: access_broker_send_command: AccessBroker: 0x7fd84400f030 Tpm2Response: 0x7fd844006440 RC: 0x0
** (tpm2-abrmd:2242): DEBUG: Tpm2Response: 0x7fd844006440
** (tpm2-abrmd:2242): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:2242): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:2242): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:2242): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:2242): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:2242): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:2242): DEBUG:   nv:           clear
** (tpm2-abrmd:2242): DEBUG:   extensive:    clear
** (tpm2-abrmd:2242): DEBUG:   flushed:      clear
** (tpm2-abrmd:2242): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:2242): DEBUG:   rHandle:      clear
** (tpm2-abrmd:2242): DEBUG:   V:            clear
** (tpm2-abrmd:2242): DEBUG:   Res:          0x0
** (tpm2-abrmd:2242): DEBUG: resource_manager_create_context_mapping
** (tpm2-abrmd:2242): DEBUG: tpm2_response_has_handle
** (tpm2-abrmd:2242): DEBUG: response 0x7fd844006440 has no handles
** (tpm2-abrmd:2242): DEBUG: sink_enqueue
** (tpm2-abrmd:2242): DEBUG: response_sink_enqueue:
** (tpm2-abrmd:2242): DEBUG: message_queue_enqueue 0x7fd8440013a0 : message 0x7fd844006440
** (tpm2-abrmd:2242): DEBUG:   got obj: 0x7fd844006440
** (tpm2-abrmd:2242): DEBUG: response_sink_thread got obj: 0x7fd844006440
** (tpm2-abrmd:2242): DEBUG: response_sink_thread got response: 0x7fd844006440 size 43
** (tpm2-abrmd:2242): DEBUG:   writing 0x2b bytes
** (tpm2-abrmd:2242): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:2242): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:2242): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:2242): DEBUG: writing 43 bytes starting at 0x7fd830001a60 to socket 0x7fd84a1395a0
** (tpm2-abrmd:2242): DEBUG: wrote 43 bytes to ostream 0x7fd83c001830
** (tpm2-abrmd:2242): DEBUG: returning 43
** (tpm2-abrmd:2242): DEBUG: response_sink_thread blocking on input queue: 0x7fd8440013a0
** (tpm2-abrmd:2242): DEBUG: message_queue_dequeue 0x7fd8440013a0
** (tpm2-abrmd:2242): DEBUG: tpm2_response_dispose: Tpm2Response: 0x7fd844006440
** (tpm2-abrmd:2242): DEBUG: tpm2_response_finalize
** (tpm2-abrmd:2242): DEBUG: flushsave_context for 0 entries
** (tpm2-abrmd:2242): DEBUG: post_process_loaded_sessions
** (tpm2-abrmd:2242): DEBUG: unreffing session_list_tmp
** (tpm2-abrmd:2242): DEBUG: session_list_dispose: SessionList: 0x7fd844002e30 with 0 entries
** (tpm2-abrmd:2242): DEBUG: session_list_finalize: SessionList: 0x7fd844002e30 with 0 entries
** (tpm2-abrmd:2242): DEBUG: tpm2_command_dispose: Tpm2Command 0x7fd844006a80
** (tpm2-abrmd:2242): DEBUG: tpm2_command_finalize
** (tpm2-abrmd:2242): DEBUG: message_queue_dequeue 0x7fd844001280
** (tpm2-abrmd:2242): DEBUG: command_source_on_input_ready: GInputStream: 0x7fd83c001b30, CommandSource: 0xda2770
** (tpm2-abrmd:2242): DEBUG: connection_manager_lookup_socket for socket: 0x7fd83c001b30, connection: 0x7fd82c0058c0
** (tpm2-abrmd:2242): DEBUG: reading 10 bytes socket 0x7fd84a1395a0, to 0x7fd824001300
** (tpm2-abrmd:2242): DEBUG: read produced EOF
** (tpm2-abrmd:2242): DEBUG: read_tpm_buffer_alloc: err_out freeing buffer at 0x7fd824001300
** (tpm2-abrmd:2242): DEBUG: removing connection 0x7fd82c0058c0 from connection_manager 0xd94700
** (tpm2-abrmd:2242): DEBUG: connection_manager 0xd94700 removing Connection 0x7fd82c0058c0
** INFO: resource_manager_on_connection_removed: flushing session contexts associated with connection 0x7fd82c0058c0
** (tpm2-abrmd:2242): DEBUG: resource_manager_on_connection_removed done
** (tpm2-abrmd:2242): DEBUG: command_source_on_input_ready: unref Connection: 0x7fd82c0058c0
** (tpm2-abrmd:2242): DEBUG: handle_map_finalize
** (tpm2-abrmd:2242): DEBUG: command_source_on_input_ready: reomvingunref GCancellable: 0xda3900

EDIT

$ cd gits/tpm2-abrmd
$ git pull
...
   4c3f5ec..ccc6319  master     -> origin/master
...
./bootstrap && ./configure --with-dbuspolicydir=/etc/dbus-1/system.d --with-udevrulesdir=/etc/udev/rules.d/ --with-systemdsystemunitdir=/lib/systemd/system/ --with-systemdpresetdir=/lib/systemd/system-preset/ && make clean && make && sudo make install && sudo mv /usr/local/share/dbus-1/system-services/com.intel.tss2.Tabrmd.service /usr/share/dbus-1/system-services/

EDIT

cd ../tpm2-tools
git pull
Already up-to-date.
./bootstrap && ./configure && make clean && make && sudo make install

@blaufish
Copy link
Author

Current status with everything rebuilt from their respective heads:

$ tpm2_pcrlist 
** (process:1837): WARNING **: Failed to create connection with service: GDBus.Error:com.intel.tss2.Tabrmd.Error.Internal: Failed to get client PID
ERROR: tcti init allocation routine failed for library: "tabrmd" options: "(null)"
ERROR: Could not load tcti, got: "tabrmd"

Running with tss on commandline instead:

$ systemctl stop tpm2-abrmd.service 
$ tpm2_pcrlist 
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist

Running TSS from command line:

sudo -u tss G_MESSAGES_DEBUG=all tpm2-abrmd
[sudo] password for vmware-tpm: 
** INFO: tabrmd startup
** INFO: logging to stdout
** (tpm2-abrmd:1962): DEBUG: tcti_conf_parse
** (tpm2-abrmd:1962): DEBUG: tcti_conf_parse: combined conf is null
** (tpm2-abrmd:1962): DEBUG: tcti_dynamic_set_property: TctiDynamic 0x151b800 set filename: libtss2-tcti-device.so
** (tpm2-abrmd:1962): DEBUG: tcti_dynamic_set_property: TctiDynamic 0x151b800 PROP_CONF_STR set to: (null)
** INFO: entering g_main_loop
** INFO: init_thread_func start
** (tpm2-abrmd:1962): DEBUG: random_class_init
** (tpm2-abrmd:1962): DEBUG: opening entropy source: /dev/urandom
** (tpm2-abrmd:1962): DEBUG: reading from entropy source: /dev/urandom
** (tpm2-abrmd:1962): DEBUG: seeding rand with -7082454215261981934
** (tpm2-abrmd:1962): DEBUG: connection_manager_set_property: 0x150e700
** (tpm2-abrmd:1962): DEBUG:   max_connections: 0x1b
** (tpm2-abrmd:1962): DEBUG: ConnectionManager: 0x150e700
** (tpm2-abrmd:1962): DEBUG: IpcFrontendDbus set bus_name: com.intel.tss2.Tabrmd
** (tpm2-abrmd:1962): DEBUG: ipc_frontend_connect: 0x7f26ac002060
** (tpm2-abrmd:1962): DEBUG: tcti_initialize: 0x151b800
** (tpm2-abrmd:1962): DEBUG: tcti_dynamic_initialize: TctiDynamic 0x151b800
** (tpm2-abrmd:1962): DEBUG: tcti_util_discover_info
** INFO: on_bus_acquired: com.intel.tss2.Tabrmd
** INFO: on_name_acquired: com.intel.tss2.Tabrmd
** (tpm2-abrmd:1962): DEBUG: Got proxy object for DBus daemon.
** (tpm2-abrmd:1962): DEBUG: tcti_util_dynamic_init
** (tpm2-abrmd:1962): DEBUG: sapi_context_init w/ Tcti: 0x151b800
** (tpm2-abrmd:1962): DEBUG: tcti_peek_context: 0x151b800
** (tpm2-abrmd:1962): DEBUG: Allocating 0x1048 bytes for SAPI context
** (tpm2-abrmd:1962): DEBUG: access_broker_set_property: 0x7f26ac009b40
** (tpm2-abrmd:1962): DEBUG:   sapi_context: 0x7f26ac00dc60
** (tpm2-abrmd:1962): DEBUG: access_broker_set_property: 0x7f26ac009b40
** (tpm2-abrmd:1962): DEBUG:   tcti: 0x151b800
** (tpm2-abrmd:1962): DEBUG: created AccessBroker: 0x7f26ac009b40
** (tpm2-abrmd:1962): DEBUG: access_broker_init_tpm: 0x7f26ac009b40
** (tpm2-abrmd:1962): DEBUG: access_broker_get_tpm_properties_fixed
** (tpm2-abrmd:1962): DEBUG: command_attrs_class_init
** (tpm2-abrmd:1962): DEBUG: created CommandAttrs: 0x7f26ac003440
** (tpm2-abrmd:1962): DEBUG: GetCapabilty for 0x1000 commands
** (tpm2-abrmd:1962): DEBUG: got attributes for 0x6d commands
** (tpm2-abrmd:1962): DEBUG: command_source_class_init
** (tpm2-abrmd:1962): DEBUG: command_source_set_properties: 0x151c770
** (tpm2-abrmd:1962): DEBUG:   command_attrs: 0x7f26ac003440
** (tpm2-abrmd:1962): DEBUG: command_source_set_properties: 0x151c770
** (tpm2-abrmd:1962): DEBUG: created command source: 0x151c770
** (tpm2-abrmd:1962): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:1962): DEBUG: session_list_init
** (tpm2-abrmd:1962): DEBUG: session_list_set_property: 0x7f26ac002800 max-per-connection: 4
** (tpm2-abrmd:1962): DEBUG: resource_manager_set_property: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG:   in_queue: 0x7f26ac001280
** (tpm2-abrmd:1962): DEBUG: resource_manager_set_property: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG:   access_broker: 0x7f26ac009b40
** (tpm2-abrmd:1962): DEBUG: resource_manager_set_property: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG: created ResourceManager: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG: response_sink_set_property
** (tpm2-abrmd:1962): DEBUG:   setting PROP_IN_QUEUE
** (tpm2-abrmd:1962): DEBUG: created response source: 0x7f26ac0034a0
** (tpm2-abrmd:1962): DEBUG: source_add_sink
** (tpm2-abrmd:1962): DEBUG: command_source_add_sink: CommandSource: 0x151c770 , Sink: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG: command_source_set_properties: 0x151c770
** (tpm2-abrmd:1962): DEBUG:   sink: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG: source_add_sink
** (tpm2-abrmd:1962): DEBUG: resource_manager_add_sink: ResourceManager: 0x7f26ac002850, Sink: 0x7f26ac0034a0
** (tpm2-abrmd:1962): DEBUG: resource_manager_set_property: 0x7f26ac002850
** (tpm2-abrmd:1962): DEBUG:   sink: 0x7f26ac0034a0
** INFO: init_thread_func done
** (tpm2-abrmd:1962): DEBUG: response_sink_thread blocking on input queue: 0x7f26ac0013a0
** (tpm2-abrmd:1962): DEBUG: message_queue_dequeue 0x7f26ac0013a0
** (tpm2-abrmd:1962): DEBUG: resource_manager_thread start
** (tpm2-abrmd:1962): DEBUG: message_queue_dequeue 0x7f26ac001280
** (tpm2-abrmd:1962): DEBUG: random_get_bytes: 0x151cf50
** (tpm2-abrmd:1962): DEBUG: Creating connection with id: 0x57163375aae7f676
** (tpm2-abrmd:1962): DEBUG: handle_map_new with handle_type 0x80, max_entries: 0x1b
** (tpm2-abrmd:1962): DEBUG: handle_map_init
** (tpm2-abrmd:1962): DEBUG: handle_map_set_property: 0x7f26a0004d80 max-entries: 27
** (tpm2-abrmd:1962): DEBUG: connection_class_init
** (tpm2-abrmd:1962): DEBUG: connection_set_property
** (tpm2-abrmd:1962): DEBUG: Connection 0x7f26a00058c0 set id to 0x57163375aae7f676
** (tpm2-abrmd:1962): DEBUG: connection_set_property
** (tpm2-abrmd:1962): DEBUG: Connection 0x7f26a00058c0 set socket to 1521c40
** (tpm2-abrmd:1962): DEBUG: connection_set_property
** (tpm2-abrmd:1962): DEBUG: Connection 0x7f26a00058c0 set transient_handle_map to 0x7f26a0004d80
** (tpm2-abrmd:1962): DEBUG: Created connection with client FD: 9 and id: 0x57163375aae7f676
** INFO: command_source_on_new_connection: adding new connection: 0x7f26a00058c0
** (tpm2-abrmd:1962): DEBUG: command_source_on_input_ready: GInputStream: 0x7f26a4001b30, CommandSource: 0x151c770
** (tpm2-abrmd:1962): DEBUG: connection_manager_lookup_socket for socket: 0x7f26a4001b30, connection: 0x7f26a00058c0
** (tpm2-abrmd:1962): DEBUG: reading 10 bytes socket 0x7f26b50515a0, to 0x7f268c001300
** (tpm2-abrmd:1962): DEBUG: successfully read 10 bytes
** (tpm2-abrmd:1962): DEBUG:     80 01 00 00 00 16 00 00 01 7a
** (tpm2-abrmd:1962): DEBUG: reading 12 bytes socket 0x7f26b50515a0, to 0x7f268c00130a
** (tpm2-abrmd:1962): DEBUG: successfully read 12 bytes
** (tpm2-abrmd:1962): DEBUG:     00 00 00 05 00 00 00 00 00 00 00 01
** (tpm2-abrmd:1962): DEBUG: read_tpm_buffer_alloc: read TPM buffer to 0x7f268c001300 of size: 22
** (tpm2-abrmd:1962): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:1962): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:1962): DEBUG: sink_enqueue
** (tpm2-abrmd:1962): DEBUG: resource_manager_enqueue: ResourceManager: 0x7f26ac002850 obj: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: message_queue_enqueue 0x7f26ac001280 : message 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG:   got obj: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: resource_manager_thread: message_queue_dequeue got obj: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:1962): DEBUG: session_list_init
** (tpm2-abrmd:1962): DEBUG: session_list_set_property: 0x7f26ac002e30 max-per-connection: 4
** (tpm2-abrmd:1962): DEBUG: resource_manager_process_tpm2_command: resmgr: 0x7f26ac002850, cmd: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: Tpm2Command: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:1962): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:1962): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:1962): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:1962): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:1962): DEBUG:   nv:           clear
** (tpm2-abrmd:1962): DEBUG:   extensive:    clear
** (tpm2-abrmd:1962): DEBUG:   flushed:      clear
** (tpm2-abrmd:1962): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:1962): DEBUG:   rHandle:      clear
** (tpm2-abrmd:1962): DEBUG:   V:            clear
** (tpm2-abrmd:1962): DEBUG:   Res:          0x0
** (tpm2-abrmd:1962): DEBUG: tpm2_command_get_handle_count
** (tpm2-abrmd:1962): DEBUG: processing TPM2_CC_GetCapability
** (tpm2-abrmd:1962): DEBUG: processing TPM2_CC_GetCapability with cap: 0x5 prop: 0x0 prop_count: 0x1
** (tpm2-abrmd:1962): DEBUG: access_broker_send_command: AccessBroker: 0x7f26ac009b40 Tpm2Command: 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: access_broker_send_command: AccessBroker: 0x7f26ac009b40 Tpm2Response: 0x7f26ac006440 RC: 0x0
** (tpm2-abrmd:1962): DEBUG: Tpm2Response: 0x7f26ac006440
** (tpm2-abrmd:1962): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:1962): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:1962): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:1962): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:1962): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:1962): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:1962): DEBUG:   nv:           clear
** (tpm2-abrmd:1962): DEBUG:   extensive:    clear
** (tpm2-abrmd:1962): DEBUG:   flushed:      clear
** (tpm2-abrmd:1962): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:1962): DEBUG:   rHandle:      clear
** (tpm2-abrmd:1962): DEBUG:   V:            clear
** (tpm2-abrmd:1962): DEBUG:   Res:          0x0
** (tpm2-abrmd:1962): DEBUG: resource_manager_create_context_mapping
** (tpm2-abrmd:1962): DEBUG: tpm2_response_has_handle
** (tpm2-abrmd:1962): DEBUG: response 0x7f26ac006440 has no handles
** (tpm2-abrmd:1962): DEBUG: sink_enqueue
** (tpm2-abrmd:1962): DEBUG: response_sink_enqueue:
** (tpm2-abrmd:1962): DEBUG: message_queue_enqueue 0x7f26ac0013a0 : message 0x7f26ac006440
** (tpm2-abrmd:1962): DEBUG:   got obj: 0x7f26ac006440
** (tpm2-abrmd:1962): DEBUG: response_sink_thread got obj: 0x7f26ac006440
** (tpm2-abrmd:1962): DEBUG: response_sink_thread got response: 0x7f26ac006440 size 43
** (tpm2-abrmd:1962): DEBUG:   writing 0x2b bytes
** (tpm2-abrmd:1962): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:1962): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:1962): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:1962): DEBUG: writing 43 bytes starting at 0x7f2694002000 to socket 0x7f26b50515a0
** (tpm2-abrmd:1962): DEBUG: wrote 43 bytes to ostream 0x7f26a4001830
** (tpm2-abrmd:1962): DEBUG: returning 43
** (tpm2-abrmd:1962): DEBUG: response_sink_thread blocking on input queue: 0x7f26ac0013a0
** (tpm2-abrmd:1962): DEBUG: message_queue_dequeue 0x7f26ac0013a0
** (tpm2-abrmd:1962): DEBUG: tpm2_response_dispose: Tpm2Response: 0x7f26ac006440
** (tpm2-abrmd:1962): DEBUG: tpm2_response_finalize
** (tpm2-abrmd:1962): DEBUG: flushsave_context for 0 entries
** (tpm2-abrmd:1962): DEBUG: post_process_loaded_sessions
** (tpm2-abrmd:1962): DEBUG: unreffing session_list_tmp
** (tpm2-abrmd:1962): DEBUG: session_list_dispose: SessionList: 0x7f26ac002e30 with 0 entries
** (tpm2-abrmd:1962): DEBUG: session_list_finalize: SessionList: 0x7f26ac002e30 with 0 entries
** (tpm2-abrmd:1962): DEBUG: tpm2_command_dispose: Tpm2Command 0x7f26ac006a80
** (tpm2-abrmd:1962): DEBUG: tpm2_command_finalize
** (tpm2-abrmd:1962): DEBUG: message_queue_dequeue 0x7f26ac001280
** (tpm2-abrmd:1962): DEBUG: command_source_on_input_ready: GInputStream: 0x7f26a4001b30, CommandSource: 0x151c770
** (tpm2-abrmd:1962): DEBUG: connection_manager_lookup_socket for socket: 0x7f26a4001b30, connection: 0x7f26a00058c0
** (tpm2-abrmd:1962): DEBUG: reading 10 bytes socket 0x7f26b50515a0, to 0x7f268c001300
** (tpm2-abrmd:1962): DEBUG: read produced EOF
** (tpm2-abrmd:1962): DEBUG: read_tpm_buffer_alloc: err_out freeing buffer at 0x7f268c001300
** (tpm2-abrmd:1962): DEBUG: removing connection 0x7f26a00058c0 from connection_manager 0x150e700
** (tpm2-abrmd:1962): DEBUG: connection_manager 0x150e700 removing Connection 0x7f26a00058c0
** INFO: resource_manager_on_connection_removed: flushing session contexts associated with connection 0x7f26a00058c0
** (tpm2-abrmd:1962): DEBUG: resource_manager_on_connection_removed done
** (tpm2-abrmd:1962): DEBUG: command_source_on_input_ready: unref Connection: 0x7f26a00058c0
** (tpm2-abrmd:1962): DEBUG: handle_map_finalize
** (tpm2-abrmd:1962): DEBUG: command_source_on_input_ready: reomvingunref GCancellable: 0x151b300

@flihp
Copy link
Contributor

flihp commented Apr 25, 2018

@blaufish : We've been slogging through a bunch of bugs in the last ~2 weeks. Wondering if this is still an issue?

@blaufish
Copy link
Author

@flihp I can still reproduce this on vmware fusion after trying git pull followed by bootstap configure make clean make sudo install on all three packages. This is on a VMWare Fusion trial license expires in less than 7 days. It isn't critical to me to resolve the VMWare issue due to hardware test boxing now being available, but if you have any diagnostic commands you would like executed, let me know.

sudo -u tss tpm2_pcrlist -T device
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist
tpm2_pcrlist 
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist
sudo -u tss tpm2_pcrlist -T device
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist
sudo -u tss G_MESSAGES_DEBUG=all tpm2-abrmd
** INFO: tabrmd startup
** INFO: logging to stdout
** (tpm2-abrmd:1994): DEBUG: tcti_conf_parse
** (tpm2-abrmd:1994): DEBUG: tcti_conf_parse: combined conf is null
** (tpm2-abrmd:1994): DEBUG: tcti_dynamic_set_property: TctiDynamic 0x1a98800 set filename: libtss2-tcti-device.so
** (tpm2-abrmd:1994): DEBUG: tcti_dynamic_set_property: TctiDynamic 0x1a98800 PROP_CONF_STR set to: (null)
** INFO: entering g_main_loop
** INFO: init_thread_func start
** (tpm2-abrmd:1994): DEBUG: random_class_init
** (tpm2-abrmd:1994): DEBUG: opening entropy source: /dev/urandom
** (tpm2-abrmd:1994): DEBUG: reading from entropy source: /dev/urandom
** (tpm2-abrmd:1994): DEBUG: seeding rand with -3628117160497058370
** (tpm2-abrmd:1994): DEBUG: connection_manager_set_property: 0x1a8b700
** (tpm2-abrmd:1994): DEBUG:   max_connections: 0x1b
** (tpm2-abrmd:1994): DEBUG: ConnectionManager: 0x1a8b700
** (tpm2-abrmd:1994): DEBUG: IpcFrontendDbus set bus_name: com.intel.tss2.Tabrmd
** (tpm2-abrmd:1994): DEBUG: ipc_frontend_connect: 0x7fd860002060
** (tpm2-abrmd:1994): DEBUG: tcti_initialize: 0x1a98800
** (tpm2-abrmd:1994): DEBUG: tcti_dynamic_initialize: TctiDynamic 0x1a98800
** (tpm2-abrmd:1994): DEBUG: tcti_util_discover_info
** (tpm2-abrmd:1994): DEBUG: tcti_util_dynamic_init
** (tpm2-abrmd:1994): DEBUG: sapi_context_init w/ Tcti: 0x1a98800
** (tpm2-abrmd:1994): DEBUG: tcti_peek_context: 0x1a98800
** (tpm2-abrmd:1994): DEBUG: Allocating 0x1048 bytes for SAPI context
** (tpm2-abrmd:1994): DEBUG: access_broker_set_property: 0x7fd86000f030
** (tpm2-abrmd:1994): DEBUG:   sapi_context: 0x7fd86000dec0
** (tpm2-abrmd:1994): DEBUG: access_broker_set_property: 0x7fd86000f030
** (tpm2-abrmd:1994): DEBUG:   tcti: 0x1a98800
** (tpm2-abrmd:1994): DEBUG: created AccessBroker: 0x7fd86000f030
** (tpm2-abrmd:1994): DEBUG: access_broker_init_tpm: 0x7fd86000f030
** (tpm2-abrmd:1994): DEBUG: access_broker_get_tpm_properties_fixed
** INFO: on_bus_acquired: com.intel.tss2.Tabrmd
** INFO: on_name_acquired: com.intel.tss2.Tabrmd
** (tpm2-abrmd:1994): DEBUG: Got proxy object for DBus daemon.
** (tpm2-abrmd:1994): DEBUG: command_attrs_class_init
** (tpm2-abrmd:1994): DEBUG: created CommandAttrs: 0x7fd860003440
** (tpm2-abrmd:1994): DEBUG: GetCapabilty for 0x1000 commands
** (tpm2-abrmd:1994): DEBUG: got attributes for 0x6d commands
** (tpm2-abrmd:1994): DEBUG: command_source_class_init
** (tpm2-abrmd:1994): DEBUG: command_source_set_properties: 0x1a99770
** (tpm2-abrmd:1994): DEBUG:   command_attrs: 0x7fd860003440
** (tpm2-abrmd:1994): DEBUG: command_source_set_properties: 0x1a99770
** (tpm2-abrmd:1994): DEBUG: created command source: 0x1a99770
** (tpm2-abrmd:1994): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:1994): DEBUG: session_list_init
** (tpm2-abrmd:1994): DEBUG: session_list_set_property: 0x7fd860002800 max-per-connection: 4
** (tpm2-abrmd:1994): DEBUG: resource_manager_set_property: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG:   in_queue: 0x7fd860001280
** (tpm2-abrmd:1994): DEBUG: resource_manager_set_property: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG:   access_broker: 0x7fd86000f030
** (tpm2-abrmd:1994): DEBUG: resource_manager_set_property: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG: created ResourceManager: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG: response_sink_set_property
** (tpm2-abrmd:1994): DEBUG:   setting PROP_IN_QUEUE
** (tpm2-abrmd:1994): DEBUG: created response source: 0x7fd8600034a0
** (tpm2-abrmd:1994): DEBUG: source_add_sink
** (tpm2-abrmd:1994): DEBUG: command_source_add_sink: CommandSource: 0x1a99770 , Sink: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG: command_source_set_properties: 0x1a99770
** (tpm2-abrmd:1994): DEBUG:   sink: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG: source_add_sink
** (tpm2-abrmd:1994): DEBUG: resource_manager_add_sink: ResourceManager: 0x7fd860002850, Sink: 0x7fd8600034a0
** (tpm2-abrmd:1994): DEBUG: resource_manager_set_property: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG:   sink: 0x7fd8600034a0
** INFO: init_thread_func done
** (tpm2-abrmd:1994): DEBUG: response_sink_thread blocking on input queue: 0x7fd8600013a0
** (tpm2-abrmd:1994): DEBUG: message_queue_dequeue 0x7fd8600013a0
** (tpm2-abrmd:1994): DEBUG: resource_manager_thread start
** (tpm2-abrmd:1994): DEBUG: message_queue_dequeue 0x7fd860001280
** (tpm2-abrmd:1994): DEBUG: random_get_bytes: 0x1a99f50
** (tpm2-abrmd:1994): DEBUG: Creating connection with id: 0x6dc4d9f360b530b2
** (tpm2-abrmd:1994): DEBUG: handle_map_new with handle_type 0x80, max_entries: 0x1b
** (tpm2-abrmd:1994): DEBUG: handle_map_init
** (tpm2-abrmd:1994): DEBUG: handle_map_set_property: 0x7fd848004d80 max-entries: 27
** (tpm2-abrmd:1994): DEBUG: connection_class_init
** (tpm2-abrmd:1994): DEBUG: connection_set_property
** (tpm2-abrmd:1994): DEBUG: Connection 0x7fd8480058c0 set id to 0x6dc4d9f360b530b2
** (tpm2-abrmd:1994): DEBUG: connection_set_property
** (tpm2-abrmd:1994): DEBUG: Connection 0x7fd8480058c0 set socket to 1a9ec40
** (tpm2-abrmd:1994): DEBUG: connection_set_property
** (tpm2-abrmd:1994): DEBUG: Connection 0x7fd8480058c0 set transient_handle_map to 0x7fd848004d80
** (tpm2-abrmd:1994): DEBUG: Created connection with client FD: 9 and id: 0x6dc4d9f360b530b2
** INFO: command_source_on_new_connection: adding new connection: 0x7fd8480058c0
** (tpm2-abrmd:1994): DEBUG: command_source_on_input_ready: GInputStream: 0x7fd858001b30, CommandSource: 0x1a99770
** (tpm2-abrmd:1994): DEBUG: connection_manager_lookup_socket for socket: 0x7fd858001b30, connection: 0x7fd8480058c0
** (tpm2-abrmd:1994): DEBUG: reading 10 bytes socket 0x7fd865a565a0, to 0x7fd840001300
** (tpm2-abrmd:1994): DEBUG: successfully read 10 bytes
** (tpm2-abrmd:1994): DEBUG:     80 01 00 00 00 16 00 00 01 7a
** (tpm2-abrmd:1994): DEBUG: reading 12 bytes socket 0x7fd865a565a0, to 0x7fd84000130a
** (tpm2-abrmd:1994): DEBUG: successfully read 12 bytes
** (tpm2-abrmd:1994): DEBUG:     00 00 00 05 00 00 00 00 00 00 00 01
** (tpm2-abrmd:1994): DEBUG: read_tpm_buffer_alloc: read TPM buffer to 0x7fd840001300 of size: 22
** (tpm2-abrmd:1994): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:1994): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:1994): DEBUG: sink_enqueue
** (tpm2-abrmd:1994): DEBUG: resource_manager_enqueue: ResourceManager: 0x7fd860002850 obj: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: message_queue_enqueue 0x7fd860001280 : message 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG:   got obj: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: resource_manager_thread: message_queue_dequeue got obj: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: session_list_new with max-per-connection: 0x4
** (tpm2-abrmd:1994): DEBUG: session_list_init
** (tpm2-abrmd:1994): DEBUG: session_list_set_property: 0x7fd860002e30 max-per-connection: 4
** (tpm2-abrmd:1994): DEBUG: resource_manager_process_tpm2_command: resmgr: 0x7fd860002850, cmd: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: Tpm2Command: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG:     80 01 00 00 00 16 00 00 01 7a 00 00 00 05 00 00
** (tpm2-abrmd:1994): DEBUG:     00 00 00 00 00 01
** (tpm2-abrmd:1994): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:1994): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:1994): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:1994): DEBUG:   nv:           clear
** (tpm2-abrmd:1994): DEBUG:   extensive:    clear
** (tpm2-abrmd:1994): DEBUG:   flushed:      clear
** (tpm2-abrmd:1994): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:1994): DEBUG:   rHandle:      clear
** (tpm2-abrmd:1994): DEBUG:   V:            clear
** (tpm2-abrmd:1994): DEBUG:   Res:          0x0
** (tpm2-abrmd:1994): DEBUG: tpm2_command_get_handle_count
** (tpm2-abrmd:1994): DEBUG: processing TPM2_CC_GetCapability
** (tpm2-abrmd:1994): DEBUG: processing TPM2_CC_GetCapability with cap: 0x5 prop: 0x0 prop_count: 0x1
** (tpm2-abrmd:1994): DEBUG: access_broker_send_command: AccessBroker: 0x7fd86000f030 Tpm2Command: 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: access_broker_send_command: AccessBroker: 0x7fd86000f030 Tpm2Response: 0x7fd860006440 RC: 0x0
** (tpm2-abrmd:1994): DEBUG: Tpm2Response: 0x7fd860006440
** (tpm2-abrmd:1994): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:1994): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:1994): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:1994): DEBUG: TPMA_CC: 0x0000017a
** (tpm2-abrmd:1994): DEBUG:   commandIndex: 0x17a
** (tpm2-abrmd:1994): DEBUG:   reserved1:    0x0
** (tpm2-abrmd:1994): DEBUG:   nv:           clear
** (tpm2-abrmd:1994): DEBUG:   extensive:    clear
** (tpm2-abrmd:1994): DEBUG:   flushed:      clear
** (tpm2-abrmd:1994): DEBUG:   cHandles:     0x0
** (tpm2-abrmd:1994): DEBUG:   rHandle:      clear
** (tpm2-abrmd:1994): DEBUG:   V:            clear
** (tpm2-abrmd:1994): DEBUG:   Res:          0x0
** (tpm2-abrmd:1994): DEBUG: resource_manager_create_context_mapping
** (tpm2-abrmd:1994): DEBUG: tpm2_response_has_handle
** (tpm2-abrmd:1994): DEBUG: response 0x7fd860006440 has no handles
** (tpm2-abrmd:1994): DEBUG: sink_enqueue
** (tpm2-abrmd:1994): DEBUG: response_sink_enqueue:
** (tpm2-abrmd:1994): DEBUG: message_queue_enqueue 0x7fd8600013a0 : message 0x7fd860006440
** (tpm2-abrmd:1994): DEBUG:   got obj: 0x7fd860006440
** (tpm2-abrmd:1994): DEBUG: response_sink_thread got obj: 0x7fd860006440
** (tpm2-abrmd:1994): DEBUG: response_sink_thread got response: 0x7fd860006440 size 43
** (tpm2-abrmd:1994): DEBUG:   writing 0x2b bytes
** (tpm2-abrmd:1994): DEBUG:     80 01 00 00 00 2b 00 00 00 00 00 00 00 00 05 00
** (tpm2-abrmd:1994): DEBUG:     00 00 04 00 04 03 ff ff ff 00 0b 03 ff ff ff 00
** (tpm2-abrmd:1994): DEBUG:     0c 03 ff ff ff 00 0d 03 ff ff ff
** (tpm2-abrmd:1994): DEBUG: writing 43 bytes starting at 0x7fd84c001a60 to socket 0x7fd865a565a0
** (tpm2-abrmd:1994): DEBUG: wrote 43 bytes to ostream 0x7fd858001830
** (tpm2-abrmd:1994): DEBUG: returning 43
** (tpm2-abrmd:1994): DEBUG: response_sink_thread blocking on input queue: 0x7fd8600013a0
** (tpm2-abrmd:1994): DEBUG: message_queue_dequeue 0x7fd8600013a0
** (tpm2-abrmd:1994): DEBUG: tpm2_response_dispose: Tpm2Response: 0x7fd860006440
** (tpm2-abrmd:1994): DEBUG: tpm2_response_finalize
** (tpm2-abrmd:1994): DEBUG: flushsave_context for 0 entries
** (tpm2-abrmd:1994): DEBUG: post_process_loaded_sessions
** (tpm2-abrmd:1994): DEBUG: unreffing session_list_tmp
** (tpm2-abrmd:1994): DEBUG: session_list_dispose: SessionList: 0x7fd860002e30 with 0 entries
** (tpm2-abrmd:1994): DEBUG: session_list_finalize: SessionList: 0x7fd860002e30 with 0 entries
** (tpm2-abrmd:1994): DEBUG: tpm2_command_dispose: Tpm2Command 0x7fd860006a80
** (tpm2-abrmd:1994): DEBUG: tpm2_command_finalize
** (tpm2-abrmd:1994): DEBUG: message_queue_dequeue 0x7fd860001280
** (tpm2-abrmd:1994): DEBUG: command_source_on_input_ready: GInputStream: 0x7fd858001b30, CommandSource: 0x1a99770
** (tpm2-abrmd:1994): DEBUG: connection_manager_lookup_socket for socket: 0x7fd858001b30, connection: 0x7fd8480058c0
** (tpm2-abrmd:1994): DEBUG: reading 10 bytes socket 0x7fd865a565a0, to 0x7fd840001300
** (tpm2-abrmd:1994): DEBUG: read produced EOF
** (tpm2-abrmd:1994): DEBUG: read_tpm_buffer_alloc: err_out freeing buffer at 0x7fd840001300
** (tpm2-abrmd:1994): DEBUG: removing connection 0x7fd8480058c0 from connection_manager 0x1a8b700
** (tpm2-abrmd:1994): DEBUG: connection_manager 0x1a8b700 removing Connection 0x7fd8480058c0
** INFO: resource_manager_on_connection_removed: flushing session contexts associated with connection 0x7fd8480058c0
** (tpm2-abrmd:1994): DEBUG: resource_manager_on_connection_removed done
** (tpm2-abrmd:1994): DEBUG: command_source_on_input_ready: unref Connection: 0x7fd8480058c0
** (tpm2-abrmd:1994): DEBUG: handle_map_finalize
** (tpm2-abrmd:1994): DEBUG: command_source_on_input_ready: reomvingunref GCancellable: 0x1a98300
^C** INFO: handling signal
** INFO: main_loop_quit
** INFO: g_main_loop_run done, cleaning up
** (tpm2-abrmd:1994): DEBUG: ipc_frontend_disconnect: 0x7fd860002060
** (tpm2-abrmd:1994): DEBUG: command_attrs_finalize: 0x7fd860003440
** (tpm2-abrmd:1994): DEBUG: resource_manager_cancel: enqueuing ControlMessage: 0x7fd848001460
** (tpm2-abrmd:1994): DEBUG: message_queue_enqueue 0x7fd860001280 : message 0x7fd848001460
** (tpm2-abrmd:1994): DEBUG:   got obj: 0x7fd848001460
** (tpm2-abrmd:1994): DEBUG: resource_manager_thread: message_queue_dequeue got obj: 0x7fd848001460
** (tpm2-abrmd:1994): DEBUG: resource_manager_dispose: 0x7fd860002850
** (tpm2-abrmd:1994): DEBUG: session_list_dispose: SessionList: 0x7fd860002800 with 0 entries
** (tpm2-abrmd:1994): DEBUG: session_list_finalize: SessionList: 0x7fd860002800 with 0 entries

(tpm2-abrmd:1994): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** (tpm2-abrmd:1994): DEBUG: response_sink_cancel enqueuing ControlMessage: 0x1a950a0
** (tpm2-abrmd:1994): DEBUG: message_queue_enqueue 0x7fd8600013a0 : message 0x1a950a0
** (tpm2-abrmd:1994): DEBUG:   got obj: 0x1a950a0

@flihp
Copy link
Contributor

flihp commented Apr 27, 2018

If you're running the tpm2_listpcrs using the device tcti then it's talking straight to /dev/tpm0 and the tabrmd isn't involved. Is the tabrmd running when you're executing the tpm2_listpcrs? If so it could be getting in your way. Also are you able to run tpm2_listpcrs against the simulator? I think you may be the first to run this code against the vmware virtual TPM2 device (no clue what code they're running). Additionally you can dial up the debug data from the tool by setting the environment variable TSS2_LOG=all+TRACE. This will dump the binary buffers which may help shed some light on this issue.

@blaufish
Copy link
Author

blaufish commented Apr 30, 2018

Yes, I also concluded the current problem wasn't a tpm2-abrmd problem after succeeding to reproduce problem without abrmd. (I tested without tpm2-abrmd to try to better pinpoint source of error)

Installation appears sound:

  • tpm-server + tpm2-abrmd + tpm2_pcrlist test OK, no errors.
  • ./configure --enable-unit --with-simulatorbin=/home/vmware-tpm/ibmtpm974/src/tpm_server and make check make check test OK, no errors.

tpm2 tools fails against the virtual TPM still, the response failing un-marshalling is:

debug:tcti:src/tss2-tcti/tcti-device.c:183:tcti_device_receive() Response Received (size=43): 
	80010000002b0000
	0000000000000500
	000004000403ffff
	ff000b03ffffff00
	0c03ffffff000d03
	ffffff 

From:

sudo -u tss TSS2_LOG=all+TRACE tpm2_pcrlist -T device
trace:marshal:src/tss2-mu/base-types.c:196:Tss2_MU_TPM2_ST_Marshal() offset non-NULL, initial value: 0 
debug:marshal:src/tss2-mu/base-types.c:196:Tss2_MU_TPM2_ST_Marshal() Marshalling TPM2_ST from 0x7ffd8a621f6c to buffer 0x557f7c628a88 at index 0x0 
debug:marshal:src/tss2-mu/base-types.c:196:Tss2_MU_TPM2_ST_Marshal() offset parameter non-NULL, updated to 2 
trace:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset non-NULL, initial value: 10 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() Marshalling UINT32 from 0x7ffd8a621fdc to buffer 0x557f7c628a88 at index 0xa 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset parameter non-NULL, updated to 14 
trace:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset non-NULL, initial value: 14 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() Marshalling UINT32 from 0x7ffd8a621fdc to buffer 0x557f7c628a88 at index 0xe 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset parameter non-NULL, updated to 18 
trace:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset non-NULL, initial value: 18 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() Marshalling UINT32 from 0x7ffd8a621fdc to buffer 0x557f7c628a88 at index 0x12 
debug:marshal:src/tss2-mu/base-types.c:190:Tss2_MU_UINT32_Marshal() offset parameter non-NULL, updated to 22 
debug:tcti:src/tss2-tcti/tcti-device.c:97:tcti_device_transmit() sending 22 byte command buffer: (size=22): 
	8001000000160000
	017a000000050000
	000000000001 
debug:tcti:src/util/io.c:94:write_all() writing 22 bytes starting at 0x557f7c628a88 to fd 3 
debug:tcti:src/util/io.c:99:write_all() wrote 22 bytes to fd 3 
debug:tcti:src/tss2-tcti/tcti-device.c:183:tcti_device_receive() Response Received (size=43): 
	80010000002b0000
	0000000000000500
	000004000403ffff
	ff000b03ffffff00
	0c03ffffff000d03
	ffffff 
trace:tcti:src/tss2-tcti/tcti-common.c:123:header_unmarshal() Parsing header from buffer: 0x557f7c628a88 
trace:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset non-NULL, initial value: 0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() Unmarshaling TPM2_ST from 0x557f7c628a88 to buffer 0x557f7c61cefc at index 0x0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset parameter non-NULL, updated to 2 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 2 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x557f7c61cf00 at index 0x2 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 6 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 6 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x557f7c61cf04 at index 0x6 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 10 
trace:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset non-NULL, initial value: 0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() Unmarshaling TPM2_ST from 0x557f7c628a88 to buffer 0x557f7c628a54 at index 0x0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset parameter non-NULL, updated to 2 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 2 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x557f7c628a56 at index 0x2 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 6 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 6 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x557f7c628a5a at index 0x6 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 10 
trace:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset non-NULL, initial value: 0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() Unmarshaling TPM2_ST from 0x557f7c628a88 to buffer 0x7ffd8a62203e at index 0x0 
debug:marshal:src/tss2-mu/base-types.c:197:Tss2_MU_TPM2_ST_Unmarshal() offset parameter non-NULL, updated to 2 
trace:marshal:src/tss2-mu/base-types.c:187:Tss2_MU_UINT8_Unmarshal() offset non-NULL, initial value: 10 
debug:marshal:src/tss2-mu/base-types.c:187:Tss2_MU_UINT8_Unmarshal() Unmarshaling UINT8 from 0x557f7c628a88 to buffer 0x7ffd8a6220b7 at index 0xa 
debug:marshal:src/tss2-mu/base-types.c:187:Tss2_MU_UINT8_Unmarshal() offset parameter non-NULL, updated to 11 
debug:marshal:src/tss2-mu/tpms-types.c:1278:Tss2_MU_TPMS_CAPABILITY_DATA_Unmarshal() Unmarshaling TPMS_CAPABILITY_DATA from 0x557f7bbb62f4 to buffer 0x557f7c628a88 at index 0xb 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 11 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x557f7bbb62f4 at index 0xb 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 15 
trace:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() offset non-NULL, initial value: 15 
debug:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() Unmarshaling TPML_PCR_SELECTION from 0x557f7c628a88 to buffer 0x557f7bbb62f8 at index 0xf 
trace:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset non-NULL, initial value: 15 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() Unmarshaling UINT32 from 0x557f7c628a88 to buffer 0x7ffd8a621bfc at index 0xf 
debug:marshal:src/tss2-mu/base-types.c:191:Tss2_MU_UINT32_Unmarshal() offset parameter non-NULL, updated to 19 
WARNING:marshal:src/tss2-mu/tpml-types.c:197:Tss2_MU_TPML_PCR_SELECTION_Unmarshal() count too big 
ERROR: Tss2_Sys_GetCapability(0x80011) - sys:Response is malformed
ERROR: Unable to run tpm2_pcrlist

@flihp
Copy link
Contributor

flihp commented Apr 30, 2018

Very interesting. So the conclusion then is that the vmware "virtual TPM2" is producing malformed data or do you think that the tpm2_pcrlist has a bug? If the issue is in the vmware code please close this issue since we can't fix that. If it's a problem with the tools you should probably open an issue over @ https://github.com/tpm2-software/tpm2-tools/issues

@blaufish
Copy link
Author

@flihp thanks I'll do that. I am very unsure if this is a VMWare error or a tpm2-tools error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants