mdbooth / libldm

GNU General Public License v3.0
28 stars 15 forks source link

g_array_unref assertion failure in ldm_add_fd() function #14

Open diwu1989 opened 4 years ago

diwu1989 commented 4 years ago

ldmtool version 0.2.4-2

I'm getting a error when scanning a disk:

Unable to determine sector size of merged.flat. Assuming 512 byte sectors

(ldmtool:31287): GLib-CRITICAL **: g_array_unref: assertion 'array' failed
[
]

The gdb backtrace looks like this:

(gdb) where
#0  0x00007ffff72e8afb in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff72e8c6f in g_log () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff72b546a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff7db2a59 in ldm_add_fd () from /usr/lib/x86_64-linux-gnu/libldm-1.0.so.0
#4  0x00007ffff7db32c0 in ldm_add () from /usr/lib/x86_64-linux-gnu/libldm-1.0.so.0

The full gdebug log looks like this right before the assertion

** (ldmtool:1440): DEBUG: Found new disk group: fcab980b-17ad-41be-90a9-a6d0ae5aabe3
** (ldmtool:1440): DEBUG: Disk: Disk13
  ID: 1228
  GUID: 0198020a-d073-44c8-9979-349b305c1a31
** (ldmtool:1440): DEBUG: Disk Group: sccl2_dept_vg
  ID: 1025
** (ldmtool:1440): DEBUG: Disk: Disk1
  ID: 1027
  GUID: 77f25415-db4b-4224-9f21-0f124cf62dff
** (ldmtool:1440): DEBUG: Disk: Disk12
  ID: 1211
  GUID: bf1cf0d2-b56d-4160-977e-fd75844ddcd9
** (ldmtool:1440): DEBUG: Disk: Disk15
  ID: 1262
  GUID: b0eb6ec0-b88b-448b-bcc2-ff4d6dabfdc2
** (ldmtool:1440): DEBUG: Disk: Disk16
  ID: 1275
  GUID: 5e4c6331-3293-4bda-a202-0ba0e6e12e50
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1141293069631488
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk14
  ID: 1237
  GUID: c53e77f6-a781-42d0-925c-860fd2264ea4
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 5231270166528
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk2
  ID: 1043
  GUID: 7b3a0526-7b6b-478c-922a-e73187fe8e5b
** (ldmtool:1440): DEBUG: Disk: Disk3
  ID: 1045
  GUID: 84fddb45-24c1-475d-af57-a0e98da93214
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 5299989643264
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk7
  ID: 1069
  GUID: 9ff58b79-2fab-4144-aa93-7b29e9ee7846
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1183074511486976
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk10
  ID: 1106
  GUID: f4e75190-bc9a-4098-b854-55665761db31
** (ldmtool:1440): DEBUG: Disk: Disk8
  ID: 1079
  GUID: 82b9abef-f29e-4a41-a525-9f5afc8d9b47
** (ldmtool:1440): DEBUG: Disk: Disk4
  ID: 1047
  GUID: 3a40ec7b-6508-470b-9c22-c3866095ca3f
** (ldmtool:1440): DEBUG: Disk: Disk5
  ID: 1049
  GUID: 25f4a3ec-65d8-4f19-91ad-03a0207f6b5d
** (ldmtool:1440): DEBUG: Disk: Disk6
  ID: 1051
  GUID: b483aab1-df11-44f9-b258-5a6525cd3984
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1172079395209216
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1172079395209216
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1172079395209216
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1172079395209216
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1172079395209216
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk9
  ID: 1081
  GUID: 493b383d-beb9-4438-a6e5-8672bbf38d3a
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1198467674275840
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 1198467674275840
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 4776003633152
  Size: 0
** (ldmtool:1440): DEBUG: Disk: Disk11
  ID: 1198
  GUID: 5ff82640-2ab3-44e0-bd7a-35021fd1f8ab
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 5175435591680
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 5342939316224
  Size: 0
** (ldmtool:1440): DEBUG: Partition: \u0002
  ID: 0
  Parent ID: 0
  Disk ID: 0
  Index: 0
  Start: 0
  Vol Offset: 5450313498624
  Size: 0

(ldmtool:1440): GLib-CRITICAL **: g_array_unref: assertion 'array' failed
rwmjones commented 3 years ago

This is possibly fixed by https://github.com/mdbooth/libldm/commit/a856552670944b4dbb28740aa42e58ffa8434803

Could you try compiling it from git?

It certainly works for me from git, using a pretty new version of glib2.