资源在执行sqoop命令时暂时不可用futex

m3eecexj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(437)

我有一个sqoop命令,它使用hcatalog参数将数据从oracle导入hiveorc表。

sqoop import -D oraoop.disabled=true -D mapred.child.java.opts="\-Djava.security.egd=file:/dev/../dev/urandom" --connect 'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbs-dev-v.com)(PORT=1533))(CONNECT_DATA=(SERVICE_NAME=SDADCOM)(Server=Dedicated)))' --username phani --password pass --query "select ITEM_ID,ROLLUP_ITEM_ID,CPI_FORMAT1,CPI_FORMAT2,CPI_FORMAT3,CA_SNO_VALID_CNTRL,CUSTOM_SERIAL_FLAG,INVENTORY_ITEM_STATUS_CODE,LAST_DOS,ESN_CAPABILITY,ROLLUP_FLAG,PRODUCT_FAMILY,PRODUCT_SUB_GROUP,ERP_ITEM_TYPE,MFG_PRODUCT_CONFIG,MFG_SERIAL_FLAG,CA_CONFIG_VALID_CNTRL,CA_INS_VALID_CNTRL,ENABLED_FLAG,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,IB_PRODUCT_TYPE,USER_ITEM_TYPE,ITEM_CREATION_DATE,BASE_PRODUCT_ID,PRD_CATEGORY,TECHNOLOGY_GROUP,BUSINESS_UNIT,CA_DUPL_VALID_CNTRL,SKU_LIST_PRICE,SERV_FEE_VALUE_DOLLAR_AMT,MAX_SERIALIZED_CHILD,PHYSICAL_SN_LOCATION,CPI_LINK,TOTAL_INSTANCES,TOTAL_INSTANCES_ON_CONTRACT,GP_EXCLUSION,LAST_DOA,LAST_DOR from XXCCS_SCDC_PRODUCT_PROFILE where \$CONDITIONS" --split-by ITEM_ID  --incremental lastmodified --check-column ITEM_ID -m 4 --hcatalog-home /opt/mapr/hive/hive-1.2/hcatalog --hcatalog-database installbase --hcatalog-table XXCCS_SCDC_PRODUCT_PROFILE --null-string '\\N'  --null-non-string '\\N' --boundary-query 'select (select min(ITEM_ID) from XXCCS_SCDC_PRODUCT_PROFILE) as minid ,(select max(ITEM_ID) from XXCCS_SCDC_PRODUCT_PROFILE) as maxid from dual' --hcatalog-storage-stanza 'stored as orc' --verbose

在执行命令时,我得到以下异常

16/10/06 04:26:20 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
        at com.mapr.fs.MapRFileSystem.makeAbsolute(MapRFileSystem.java:1812)
        at com.mapr.fs.MapRFileSystem.getMapRFileStatus(MapRFileSystem.java:1380)
        at com.mapr.fs.MapRFileSystem.getFileStatus(MapRFileSystem.java:1035)
        at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1460)
        at org.apache.sqoop.tool.ImportTool.initIncrementalConstraints(ImportTool.java:320)
        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:488)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:606)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

为了理解这个异常,我试着调整代码和配置,但是一切看起来都很好。为了从内核级别了解在打开与该命令相关的文件时出现的任何问题,我对sqoop命令做了一个介绍。
从strace输出中,我发现有一些资源在很长时间内无法使用。我无法完全理解输出。有人能帮我找到资源吗。
输出:

1783  stat("/opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/org/apache/hadoop/util/ShutdownHookManager$HookEntry.class", 0x7fe6fe8465b0) = -1 ENOENT (No such file or directory)
1783  lseek(93, 470334, SEEK_SET)       = 470334
1783  read(93, "PK\3\4\24\0\10\0\10\0\240\254\350H\0\0\0\0\0\0\0\0\0\0\0\0:\0\0\0", 30) = 30
1783  lseek(93, 470422, SEEK_SET)       = 470422
1783  read(93, "\235\222\337k\323P\24\307\2777I\233\266fv\316\375\250Z\267\316NmS0\240\342\313\234\10C\261"..., 535) = 535
1783  stat("/opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  stat("/opt/mapr/hadoop/hadoop-2.7.0/share/hadoop/hdfs/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  stat("/opt/mapr/sqoop/sqoop-1.4.6/conf/org/apache/sqoop/tool/ImportTool$1.class",  <unfinished ...>
1806  futex(0x7fe6f80bd254, FUTEX_WAIT_PRIVATE, 529, NULL <unfinished ...>
1783  <... stat resumed> 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  stat("/users/phodisvc/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  stat("/opt/mapr/hbase/hbase-0.98.12/conf/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  stat("/opt/mapr/hbase/hbase-0.98.12/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1808  <... futex resumed> )             = -1 ETIMEDOUT (Connection timed out)
1808  futex(0x7fe6f80c9f28, FUTEX_WAKE_PRIVATE, 1) = 0
1808  futex(0x7fe6f80c9f54, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1475851368, 803245000}, ffffffff <unfinished ...>
1783  stat("/users/phodisvc/hive/hddev-c01-edge-01/conf/org/apache/sqoop/tool/ImportTool$1.class", 0x7fe6fe8463f0) = -1 ENOENT (No such file or directory)
1783  lseek(490, 863529, SEEK_SET)      = 863529
1783  read(490, "PK\3\4\n\0\0\10\10\0\364\2=HV\366~\5\17\2\0\0\227\3\0\0(\0\0\0", 30) = 30
1783  lseek(490, 863599, SEEK_SET)      = 863599
1783  read(490, "\235\223\337N\23A\24\306\277i\227n[\27\273\"jA\24\204\25ZT6\30\257\324\30\rB\322\330"..., 527) = 527
1783  write(2, "16/10/07 07:42:48 DEBUG manager."..., 266) = 266
1783  write(2, "16/10/07 07:42:48 ERROR sqoop.Sq"..., 97) = 97
1783  lseek(3, 27907755, SEEK_SET)      = 27907755
1783  read(3, "PK\3\4\n\0\0\0\0\0[\226\222Cq\300q\301\273\2\0\0\273\2\0\0,\0\0\0", 30) = 30
1783  lseek(3, 27907829, SEEK_SET)      = 27907829
1783  read(3, "\312\376\272\276\0\0\0003\0!\1\0\6<init>\1\0\4Code\1\0\fInn"..., 699) = 699
1783  lseek(3, 27906474, SEEK_SET)      = 27906474
1783  read(3, "PK\3\4\n\0\0\0\0\0[\226\222CA\333\243\260\354\1\0\0\354\1\0\0-\0\0\0", 30) = 30
1783  lseek(3, 27906549, SEEK_SET)      = 27906549
1783  read(3, "\312\376\272\276\0\0\0003\0\31\1\0\3()V\1\0\6<init>\1\0\4Code"..., 492) = 492
1783  lseek(3, 59447367, SEEK_SET)      = 59447367
1783  read(3, "PK\3\4\n\0\0\0\0\0`\226\222C\224Mp\244\1\7\0\0\1\7\0\0&\0\0\0", 30) = 30
1783  lseek(3, 59447435, SEEK_SET)      = 59447435
1783  read(3, "\312\376\272\276\0\0\0003\0T\1\0\3()I\1\0\3()V\1\0\3()Z\1\0&("..., 1793) = 1793
1783  write(2, "java.lang.NullPointerException", 30) = 30
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat com.mapr.fs.MapRFileSystem.m"..., 69) = 69
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat com.mapr.fs.MapRFileSystem.g"..., 74) = 74
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat com.mapr.fs.MapRFileSystem.g"..., 70) = 70
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.hadoop.fs.FileSys"..., 64) = 64
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.tool.Import"..., 84) = 84
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.tool.Import"..., 69) = 69
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.tool.Import"..., 61) = 61
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.Sqoop.run(S"..., 46) = 46
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.hadoop.util.ToolR"..., 61) = 61
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.Sqoop.runSq"..., 51) = 51
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.Sqoop.runTo"..., 50) = 50
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.Sqoop.runTo"..., 50) = 50
1783  write(2, "\n", 1)                 = 1
1783  write(2, "\tat org.apache.sqoop.Sqoop.main("..., 47) = 47
1783  write(2, "\n", 1)                 = 1
1783  lseek(3, 59446352, SEEK_SET)      = 59446352
1783  read(3, "PK\3\4\n\0\0\0\0\0`\226\222C\203\312C\246\256\3\0\0\256\3\0\0+\0\0\0", 30) = 30
1783  lseek(3, 59446425, SEEK_SET)      = 59446425
1783  read(3, "\312\376\272\276\0\0\0003\0,\1\0\3()I\1\0\5()TK;\1\0&(Ljav"..., 942) = 942
1783  lseek(3, 59443805, SEEK_SET)      = 59443805
1783  read(3, "PK\3\4\n\0\0\0\0\0`\226\222C\372\241\273{\236\t\0\0\236\t\0\0007\0\0\0", 30) = 30
1783  lseek(3, 59443890, SEEK_SET)      = 59443890
1783  read(3, "\312\376\272\276\0\0\0003\0e\1\0\3()I\1\0\3()V\1\0\3()Z\1\0\5("..., 2462) = 2462
1783  mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fe6d7d03000
1783  clone(child_stack=0x7fe6d7e02ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fe6d7e039d0, tls=0x7fe6d7e03700, child_tidptr=0x7fe6d7e039d0) = 1862
1862  set_robust_list(0x7fe6d7e039e0, 24) = 0
1783  futex(0x7fe6f8024b54, FUTEX_WAIT_PRIVATE, 271, NULL <unfinished ...>
1862  gettid()                          = 1862
1862  rt_sigprocmask(SIG_BLOCK, NULL, [QUIT], 8) = 0
1862  rt_sigprocmask(SIG_UNBLOCK, [HUP INT ILL BUS FPE SEGV USR2 TERM], NULL, 8) = 0
1862  rt_sigprocmask(SIG_BLOCK, [QUIT], NULL, 8) = 0
1862  futex(0x7fe6f8024b54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8024b50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1783  <... futex resumed> )             = 0
1862  futex(0x7fe6fa0bc654, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
1783  futex(0x7fe6f8024b28, FUTEX_WAKE_PRIVATE, 1) = 0
1783  futex(0x7fe6fa0bc654, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6fa0bc650, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1862  <... futex resumed> )             = 0
1862  futex(0x7fe6fa0bc628, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1783  mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0 <unfinished ...>
1862  <... futex resumed> )             = 0
1783  <... mmap resumed> )              = 0x7fe6d7c02000
1862  sched_getaffinity(1862, 32,  <unfinished ...>
1783  clone( <unfinished ...>
1862  <... sched_getaffinity resumed> {fff, 0, 0, 0}) = 32
1862  sched_getaffinity(1862, 32, {fff, 0, 0, 0}) = 32
1783  <... clone resumed> child_stack=0x7fe6d7d01ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fe6d7d029d0, tls=0x7fe6d7d02700, child_tidptr=0x7fe6d7d029d0) = 1863
1863  set_robust_list(0x7fe6d7d029e0, 24 <unfinished ...>
1862  mmap(0x7fe6d7d03000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0 <unfinished ...>
1863  <... set_robust_list resumed> )   = 0
1863  gettid( <unfinished ...>
1862  <... mmap resumed> )              = 0x7fe6d7d03000
1783  futex(0x7fe6f8024b54, FUTEX_WAIT_PRIVATE, 273, NULL <unfinished ...>
1863  <... gettid resumed> )            = 1863
1863  rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
1862  mprotect(0x7fe6d7d03000, 12288, PROT_NONE <unfinished ...>
1863  <... rt_sigprocmask resumed> [QUIT], 8) = 0
1863  rt_sigprocmask(SIG_UNBLOCK, [HUP INT ILL BUS FPE SEGV USR2 TERM],  <unfinished ...>
1862  <... mprotect resumed> )          = 0
1863  <... rt_sigprocmask resumed> NULL, 8) = 0
1863  rt_sigprocmask(SIG_BLOCK, [QUIT], NULL, 8) = 0
1863  futex(0x7fe6f8024b54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8024b50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1783  <... futex resumed> )             = 0
1863  futex(0x7fe6fa0bdf54, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
1862  futex(0x7fe6f8091e54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8091e50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1783  futex(0x7fe6f8024b28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1862  <... futex resumed> )             = 1
1800  <... futex resumed> )             = 0
1783  <... futex resumed> )             = 0
1800  futex(0x7fe6f8091e28, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1862  futex(0x7fe6f8091e28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1800  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)
1862  <... futex resumed> )             = 0
1800  futex(0x7fe6f8091e28, FUTEX_WAKE_PRIVATE, 1) = 0
1783  futex(0x7fe6fa0bdf54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6fa0bdf50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1800  mprotect(0x7fe6ff8e1000, 4096, PROT_READ <unfinished ...>
1783  <... futex resumed> )             = 1
1863  <... futex resumed> )             = 0
1863  futex(0x7fe6fa0bdf28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1800  <... mprotect resumed> )          = 0
1783  futex(0x7fe6f8024b54, FUTEX_WAIT_PRIVATE, 275, NULL <unfinished ...>
1862  --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7fe6ff8e1e80} ---
1863  <... futex resumed> )             = 0
1800  mprotect(0x7fe6ff8e1000, 4096, PROT_READ|PROT_WRITE <unfinished ...>
1862  futex(0x7fe6fa0bc854, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
1800  <... mprotect resumed> )          = 0
1863  sched_getaffinity(1863, 32,  <unfinished ...>
1800  futex(0x7fe6fa0bc854, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6fa0bc850, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1863  <... sched_getaffinity resumed> {fff, 0, 0, 0}) = 32
1862  <... futex resumed> )             = 0
1800  <... futex resumed> )             = 1
1863  sched_getaffinity(1863, 32,  <unfinished ...>
1800  mprotect(0x7fe6ff8e2000, 4096, PROT_NONE <unfinished ...>
1863  <... sched_getaffinity resumed> {fff, 0, 0, 0}) = 32
1862  futex(0x7fe6fa0bc828, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1863  mmap(0x7fe6d7c02000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0 <unfinished ...>
1800  <... mprotect resumed> )          = 0
1862  <... futex resumed> )             = 0
1863  <... mmap resumed> )              = 0x7fe6d7c02000
1863  mprotect(0x7fe6d7c02000, 12288, PROT_NONE) = 0
1863  futex(0x7fe6fa0bdf54, FUTEX_WAIT_PRIVATE, 3, NULL <unfinished ...>
1862  rt_sigreturn( <unfinished ...>
1800  sched_yield( <unfinished ...>
1862  <... rt_sigreturn resumed> )      = 140630106709632
1800  <... sched_yield resumed> )       = 0
1862  futex(0x7fe6fa0bc654, FUTEX_WAIT_PRIVATE, 3, NULL <unfinished ...>
1800  sched_yield()                     = 0
1800  futex(0x7fe6fa0bc654, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6fa0bc650, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1800  futex(0x7fe6f8091e54, FUTEX_WAIT_PRIVATE, 5, NULL <unfinished ...>
1862  <... futex resumed> )             = 0
1862  futex(0x7fe6fa0bc628, FUTEX_WAKE_PRIVATE, 1) = 0
1862  futex(0x7fe6f8024b54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8024b50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1783  <... futex resumed> )             = 0
1862  futex(0x7fe6fa0bc654, FUTEX_WAIT_PRIVATE, 5, NULL <unfinished ...>
1783  futex(0x7fe6f8024b28, FUTEX_WAKE_PRIVATE, 1) = 0
1783  futex(0x7fe6f8091e54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8091e50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1800  <... futex resumed> )             = 0
1783  futex(0x7fe6f8024b54, FUTEX_WAIT_PRIVATE, 277, NULL <unfinished ...>
1800  futex(0x7fe6f8091e28, FUTEX_WAKE_PRIVATE, 1) = 0
1800  futex(0x7fe6f803c954, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f803c950, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1788  <... futex resumed> )             = 0
1800  futex(0x7fe6f803c928, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1788  futex(0x7fe6f803c928, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1800  <... futex resumed> )             = 0
1788  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)
1800  futex(0x7fe6f8091e54, FUTEX_WAIT_PRIVATE, 7, NULL <unfinished ...>
1788  futex(0x7fe6f803c928, FUTEX_WAKE_PRIVATE, 1) = 0
1788  futex(0x7fe6f803aa54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f803aa50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1787  <... futex resumed> )             = 0
1787  futex(0x7fe6f803aa28, FUTEX_WAKE_PRIVATE, 1) = 0
1787  futex(0x7fe6f8048154, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8048150, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1797  <... futex resumed> )             = 0
1787  <... futex resumed> )             = 1
1797  futex(0x7fe6f8048128, FUTEX_WAKE_PRIVATE, 1) = 0
1797  futex(0x7fe6f8040654, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8040650, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1793  <... futex resumed> )             = 0
1793  futex(0x7fe6f8040628, FUTEX_WAKE_PRIVATE, 1) = 0
1793  futex(0x7fe6f8046354, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8046350, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1796  <... futex resumed> )             = 0
1793  <... futex resumed> )             = 1
1796  futex(0x7fe6f8046328, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1793  futex(0x7fe6f8046328, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1796  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)
1793  <... futex resumed> )             = 0
1796  futex(0x7fe6f8046328, FUTEX_WAKE_PRIVATE, 1) = 0
1796  futex(0x7fe6f804bf54, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f804bf50, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1799  <... futex resumed> )             = 0
1799  futex(0x7fe6f804bf28, FUTEX_WAKE_PRIVATE, 1) = 0
1799  futex(0x7fe6f8044454, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8044450, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1795  <... futex resumed> )             = 0
1795  futex(0x7fe6f8044428, FUTEX_WAKE_PRIVATE, 1) = 0
1795  futex(0x7fe6f8042554, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8042550, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1794  <... futex resumed> )             = 0
1794  futex(0x7fe6f8042528, FUTEX_WAKE_PRIVATE, 1) = 0
1794  futex(0x7fe6f803e754, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f803e750, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
1792  <... futex resumed> )             = 0
1792  futex(0x7fe6f803e728, FUTEX_WAKE_PRIVATE, 1) = 0
1792  futex(0x7fe6f804a054, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f804a050, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1798  <... futex resumed> )             = 0
1792  <... futex resumed> )             = 1
1798  futex(0x7fe6f804a028, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1792  futex(0x7fe6f804a028, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1798  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)
1792  <... futex resumed> )             = 0
1798  futex(0x7fe6f804a028, FUTEX_WAKE_PRIVATE, 1) = 0
1799  futex(0x7fe6f804bf54, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1798  futex(0x7fe6f804a054, FUTEX_WAIT_PRIVATE, 13, NULL <unfinished ...>
1797  futex(0x7fe6f8044454, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fe6f8044450, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
1796  futex(0x7fe6f8046354, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1795  futex(0x7fe6f8044454, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1794  futex(0x7fe6f8042554, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1793  futex(0x7fe6f8040654, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1792  futex(0x7fe6f803e754, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1788  futex(0x7fe6f803c954, FUTEX_WAIT_PRIVATE, 11, NULL <unfinished ...>
1787  futex(0x7fe6f803aa54, FUTEX_WAIT_PRIVATE, 13, NULL <unfinished ...>
1795  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)

抱歉输出太长。如果需要任何其他信息,请告诉我。

pxq42qpu

pxq42qpu1#

我写了一个简短的strace备忘单,解释如何使用 strace 关于打电话给 futex 你可能想看看。
这个 futex 系统调用用于实现同步原语,如互斥、信号量、读写器锁等;它表示您可能正在跟踪等待释放锁的程序的主线程。
我建议重新运行你的 strace 命令 -f 跟踪子进程。即使应用程序没有显式地创建额外的线程,java虚拟机也有可能在内部创建额外的线程。

相关问题