llnl / llnl/UnifyFS

Double finalization when using application interface in test programs

Open
#809 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
122
Forks
34
PR merge metrics
No merged PRs in 30d

Description

### Describe the problem you're observing
When using the application interface, I got a unmount error at the end of execution.
it seems that the unifyfs_finalize() is called twice. See logs below.

### Describe how to reproduce the problem
With the -a flag, test_fini() will report a unmount error
`mpirun -n 1 write-static -n 1 -b 1048576 -f test -r -a --verbose`

### Include any warning or errors or releveant debugging data
```bash
DEBUG: finished stat
I/O pattern: N-to-1
2024-03-07T11:35:21 tid=884873 @ unifyfs_finalize() [unifyfs_api.c:295] syncing data
I/O block size: 1024.00 KiB
2024-03-07T11:35:21 tid=884873 @ unifyfs_finalize() [unifyfs_api.c:303] calling unmount
I/O request size: 1024.00 KiB
2024-03-07T11:35:21 tid=884873 @ invoke_client_unmount_rpc() [margo_client.c:391] invoking the unmount rpc function in client
Number of processes: 1
Each process wrote: 1.00 MiB
Total data written: 1.00 MiB
File create time: 0.005440 sec
Maximum write time: 0.001199 sec
Global write time: 0.001199 sec
Maximum sync time: 0.050524 sec
Global sync time: 0.050524 sec
File laminate time: 0.000000 sec
Full write time: 0.057638 sec
File stat time: 0.000421 sec
Aggregate write bandwidth: 834.028 MiB/s
Effective write bandwidth: 834.028 MiB/s

2024-03-07T11:39:39 tid=884943 @ get_page_size() [../../common/src/unifyfs_logio.c:83] returning page size 4096 B
2024-03-07T11:39:39 tid=884943 @ unifyfs_finalize() [unifyfs_api.c:295] syncing data
2024-03-07T11:39:39 tid=884943 @ unifyfs_finalize() [unifyfs_api.c:303] calling unmount
2024-03-07T11:39:39 tid=884943 @ unifyfs_finalize() [unifyfs_api.c:306] client unmount rpc failed
2024-03-07T11:39:39 tid=884943 @ get_page_size() [../../common/src/unifyfs_logio.c:83] returning page size 4096 B
UNIFYFS ERROR: unifyfs_unmount() failed with 'Failure'
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the provided mpirun command and inspect unifyfs_api.c around unifyfs_finalize(), along with the test_fini() path in write-static. Trace why the application interface reaches finalization twice; done means the command completes without a second unmount attempt or the reported unmount error.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.