Skip to content

Commit 7b368f2

Browse files
committed
debug
1 parent 6094e39 commit 7b368f2

5 files changed

Lines changed: 128 additions & 4 deletions

File tree

src/nautilus-server/Cargo.lock

Lines changed: 60 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/nautilus-server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ serde_repr = "0.1"
1616

1717
tokio = { version = "1.43.0", features = ["full"] }
1818
tracing = "0.1"
19+
tracing-subscriber = { version = "0.3", features = ["fmt"] }
1920
axum = { version = "0.7", features = ["macros"] }
2021
rand = "0.8.5"
2122
reqwest = { version = "0.11", features = ["json"] }

src/nautilus-server/src/apps/dataset-marketplace/TESTING.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,52 @@ ps aux | grep socat
915915
sh expose_enclave.sh
916916
```
917917

918+
### Port 3001 không hoạt động (Admin endpoints)
919+
920+
Port 3001 là admin server chỉ accessible từ EC2 localhost. Nếu `curl http://localhost:3001/ping` không hoạt động:
921+
922+
```bash
923+
# 1. Kiểm tra socat đang forward port 3001
924+
ps aux | grep "socat.*3001"
925+
926+
# Nếu không có, chạy lại expose_enclave.sh
927+
sh expose_enclave.sh
928+
929+
# 2. Kiểm tra enclave console logs
930+
ENCLAVE_ID=$(nitro-cli describe-enclaves | jq -r ".[0].EnclaveID")
931+
nitro-cli console --enclave-id $ENCLAVE_ID
932+
933+
# 3. Nếu không thấy log "Host-only init server listening on 0.0.0.0:3001"
934+
# → Server có thể crash trước khi bind port 3001
935+
# → Rebuild enclave với code mới nhất có tracing
936+
937+
# 4. Kiểm tra memory đủ cho enclave
938+
nitro-cli describe-enclaves | jq '.[0].MemoryMiB'
939+
# Nên >= 1024 MiB
940+
941+
# 5. Terminate và restart enclave
942+
nitro-cli terminate-enclave --enclave-id $ENCLAVE_ID
943+
make run
944+
sh expose_enclave.sh
945+
```
946+
947+
### Không thấy logs từ enclave
948+
949+
Nếu enclave chạy nhưng không thấy logs:
950+
951+
```bash
952+
# Chạy debug mode để xem console output
953+
nitro-cli terminate-enclave --all
954+
make run-debug
955+
956+
# Logs sẽ hiện trực tiếp trong terminal
957+
# Tìm các dòng:
958+
# - "Starting nautilus-server..."
959+
# - "Attempting to spawn host init server on port 3001..."
960+
# - "Host-only init server listening on 0.0.0.0:3001"
961+
# - "listening on 0.0.0.0:3000"
962+
```
963+
918964
### Seal key load failed
919965

920966
```bash

src/nautilus-server/src/apps/dataset-marketplace/mod.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,8 @@ pub async fn ping() -> Json<PingResponse> {
615615

616616
/// Spawn admin server on localhost:3001 for key management and access control
617617
pub async fn spawn_host_init_server(state: Arc<AppState>) -> Result<(), EnclaveError> {
618+
info!("Attempting to spawn host init server on port 3001...");
619+
618620
let host_app = Router::new()
619621
.route("/ping", get(ping))
620622
// Seal key management
@@ -629,21 +631,28 @@ pub async fn spawn_host_init_server(state: Arc<AppState>) -> Result<(), EnclaveE
629631
.route("/admin/cache/clear", post(clear_cache))
630632
.with_state(state);
631633

634+
info!("Router configured, binding to 0.0.0.0:3001...");
635+
632636
let host_listener = TcpListener::bind("0.0.0.0:3001")
633637
.await
634-
.map_err(|e| EnclaveError::GenericError(format!("Failed to bind host init server: {e}")))?;
638+
.map_err(|e| {
639+
tracing::error!("Failed to bind host init server to port 3001: {}", e);
640+
EnclaveError::GenericError(format!("Failed to bind host init server: {e}"))
641+
})?;
635642

636643
info!(
637644
"Host-only init server listening on {}",
638645
host_listener.local_addr().unwrap()
639646
);
640647

641648
tokio::spawn(async move {
642-
axum::serve(host_listener, host_app.into_make_service())
643-
.await
644-
.expect("Host init server failed");
649+
info!("Spawning host init server task...");
650+
if let Err(e) = axum::serve(host_listener, host_app.into_make_service()).await {
651+
tracing::error!("Host init server failed: {}", e);
652+
}
645653
});
646654

655+
info!("Host init server spawned successfully");
647656
Ok(())
648657
}
649658

src/nautilus-server/src/main.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ use tracing::info;
1313

1414
#[tokio::main]
1515
async fn main() -> Result<()> {
16+
// Initialize tracing subscriber for logging
17+
tracing_subscriber::fmt()
18+
.with_max_level(tracing::Level::INFO)
19+
.with_target(false)
20+
.init();
21+
22+
info!("Starting nautilus-server...");
23+
1624
let eph_kp = Ed25519KeyPair::generate(&mut rand::thread_rng());
1725

1826
// This API_KEY value can be stored with secret-manager. To do that, follow the prompt `sh configure_enclave.sh`

0 commit comments

Comments
 (0)