热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Failedtest'WebSocketclosedwithstatus1009'

Mojoliciousversion:7.46-1Perlversion:5.22Operatin


  • Mojolicious version: 7.46-1

  • Perl version: 5.22

  • Operating system: Windows 7SP1 x64 cygwin
    CYGWIN_NT-6.1 Athenae 2.8.2(0.313/5/3) 2017-07-12 10:58 x86_64 Cygwin

Steps to reproduce the behavior

Tried to install latest Mojolicious version:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
>  cpan -i Mojolicious

CPAN::SQLite not installed, trying to work without

CPAN: Storable loaded ok (v2.53_02)

Reading '/var/cache/CPAN/Metadata'

  Database was generated on Fri, 29 Sep 2017 09:29:02 GMT

Running install for module 'Mojolicious'

CPAN: Digest::SHA loaded ok (v5.96)

CPAN: Compress::Zlib loaded ok (v2.074)

Checksum for /Share/CPAN/sources/authors/id/S/SR/SRI/Mojolicious-7.46.tar.gz ok

CPAN: YAML loaded ok (v1.23)

CPAN: CPAN::Meta::Requirements loaded ok (v2.132)

CPAN: Parse::CPAN::Meta loaded ok (v2.150010)

CPAN: CPAN::Meta loaded ok (v2.150010)

CPAN: Module::CoreList loaded ok (v5.20170715_22)

Configuring S/SR/SRI/Mojolicious-7.46.tar.gz with Makefile.PL

CPAN: CPAN::Reporter loaded ok (v1.2018)

Checking if your kit is complete...

Looks good

Generating a Unix-style Makefile

Writing Makefile for Mojolicious

Writing MYMETA.yml and MYMETA.json

(/usr/bin/perl Makefile.PL exited with 0)

CPAN::Reporter: Makefile.PL result is 'pass', No errors.

  SRI/Mojolicious-7.46.tar.gz

  /usr/bin/perl Makefile.PL -- OK

...

Manifying 3 pod documents

Manifying 118 pod documents

(make.exe -j 6 -j 6 exited with 0)

CPAN::Reporter: make result is 'pass', No errors.

  SRI/Mojolicious-7.46.tar.gz

  make.exe -j 6 -j 6 -- OK

Running make test

PERL_DL_NONLAZY=1 "/usr/bin/perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/*/*.t

...

t/mojolicious/testing_app.t ................ ok

t/mojolicious/tls_lite_app.t ............... skipped: set TEST_TLS to enable this test (developer only!)

t/mojolicious/twinkle_lite_app.t ........... ok

t/mojolicious/types.t ...................... ok

t/mojolicious/upload_lite_app.t ............ ok

t/mojolicious/upload_stream_lite_app.t ..... ok

t/mojolicious/validation_lite_app.t ........ ok

Use of uninitialized value in numeric ge (>=) at /var/cache/CPAN/build/Mojolicious-7.46-0/blib/lib/Mojo/Server/Daemon.pm line 109.

# WebSocket closed with status 1006



#   Failed test 'WebSocket closed with status 1009'

#   at t/mojolicious/websocket_lite_app.t line 163.

Use of uninitialized value $loop in hash element at /var/cache/CPAN/build/Mojolicious-7.46-0/blib/lib/Mojo/UserAgent.pm line 200.

Mojo::Reactor::Poll: I/O watcher failed: Can't call method "remove" on an undefined value at /var/cache/CPAN/build/Mojolicious-7.46-0/blib/lib/Mojo/UserAgent.pm line 276.

# Looks like you failed 1 test of 291.

t/mojolicious/websocket_lite_app.t .........

Dubious, test returned 1 (wstat 256, 0x100)

Failed 1/291 subtests

t/pod.t .................................... skipped: set TEST_POD to enable this test (developer only!)

t/pod_coverage.t ........................... skipped: set TEST_POD to enable this test (developer only!)



Test Summary Report

-------------------

t/mojolicious/websocket_lite_app.t       (Wstat: 256 Tests: 291 Failed: 1)

  Failed test:  56

  Non-zero exit status: 1

Files=93, Tests=10799, 56 wallclock secs ( 0.30 usr  0.20 sys + 35.24 cusr 13.26 csys = 48.99 CPU)

Result: FAIL

Failed 1/93 test programs. 1/10799 subtests failed.

make: *** [Makefile:1403: test_dynamic] Error 255

(make.exe test exited with 512)

CPAN::Reporter: Test result is 'fail', One or more tests failed.


Expected behavior

no errors

Actual behavior

see above under duplicating -- listed most of the output (pertinent, I think)

I went to the line in question and added print code -- lines with [] , package and line# are my output:

1
2
3
4
5
6
7
[Daemon#0112]req=1, mreq=100

ok 54 - WebSocket handshake with /echo

ok 55 - send message

[Daemon#0112]req=∄, mreq=100

Use of uninitialized value in numeric ge (>=) at lib/Mojo/Server/Daemon.pm line 115.

ok 56 - WebSocket closed with status 1009

[Daemon#0112]req=1, mreq=100

The failing test has an "undef" (the '∄' symbol (There does not exist)) for the req number, the
rest have '1'. I kludged in a '1':

1
    $c->{requests} = 1 unless $c->{requests};

and all tests 'pass'.

My perl version info:

perl -V
Summary of my perl5 (revision 5 version 22 subversion 4) configuration:

Platform:
osname=cygwin, osvers=2.8.1(0.31253), archname=cygwin-thread-multi
uname='cygwin_nt-6.3 cygwin 2.8.1(0.31253) 2017-07-03 14:11 x86_64 cygwin '
config_args='-des -Dprefix=/usr -Dmksymlinks -Darchname=x86_64-cygwin-threads -Dlibperl=cygperl5_22.dll -Dcc=gcc -Dld=g++ -Accflags=-ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselOngdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong -D_FORTIFY_SOURCE=2',
optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong'
ccversion='', gccversion='5.4.0', gccosandvers=''
intsize=4, lOngsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_lOnglong=define, lOnglongsize=8, d_lOngdbl=define, lOngdblsize=16, lOngdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
libpth=/usr/lib
libs=-lpthread -lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-lpthread -ldl -lcrypt
libc=/usr/lib/libcygwin.a, so=dll, useshrplib=true, libperl=cygperl5_22.dll
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'

Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_NEW_COPY_ON_WRITE
PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Built under cygwin
Compiled at Jul 15 2017 20:11:53
%ENV:
PERL5LIB=""
PERL5_CPANPLUS_IS_RUNNING="7036"
PERL5_CPAN_IS_RUNNING="7036"
CYGWIN="system nodosfilewarning winsymlinks:native export"
:
/usr/lib/perl5/site_perl/5.22/x86_64-cygwin-threads
/usr/lib/perl5/site_perl/5.22
/usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads
/usr/lib/perl5/vendor_perl/5.22
/usr/lib/perl5/5.22/x86_64-cygwin-threads
/usr/lib/perl5/5.22
.

I didn't know how to examine it further, so am submitting this.

It does happen on repeated builds (for me, anyway), which probably means you won't be able to reproduce it. If you can't -- then just close this for now, as I "kludged around" the problem as shown above...

该提问来源于开源项目:mojolicious/mojo

We do automated testing for Windows, this problem does not show up there. https://ci.appveyor.com/project/kraih/mojo





   



推荐阅读
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了在MySQL8.0中如何查看性能并解析SQL执行顺序。首先介绍了查询性能工具的开启方法,然后详细解析了SQL执行顺序中的每个步骤,包括from、on、join、where、group by、having、select distinct、union、order by和limit。同时还介绍了虚拟表的概念和生成过程。通过本文的解析,读者可以更好地理解MySQL8.0中的性能查看和SQL执行顺序。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
author-avatar
holy190
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有