So error 31233

Bug 31233 - Обновить до последней версии 3.2.3

Bug 31233
Обновить до последней версии 3.2.3

Summary:

Обновить до последней версии 3.2.3

Status: CLOSED
FIXED

Alias:

None

Product:

Sisyphus

Classification:

Development

Component:

qbittorrent

(show other bugs)

Version:

unstable

Hardware:

all
Linux

Importance:

P3
normal

Assignee:

darktemplar@altlinux.org

QA Contact:

qa-sisyphus

URL:


http://www.qbittorrent.org/

Keywords:

Depends on:



31264

Blocks:


  Show dependency tree

Reported: 2015-08-27 00:05 MSK by Денис Назаров
Modified: 2017-08-23 22:35 MSK
(History)

CC List:

5
users

(show)

See Also:


Attachments
Add an attachment
(proposed patch, testcase, etc.)

Note
You need to
log in
before you can comment on or make changes to this bug.


Параметр сокета SO_ERROR

Когда на сокете происходит ошибка, модуль протокола в ядре, происходящем от Беркли, присваивает переменной so_error для этого сокета одно из стандартных значений Unix Exxx. Это так называемая ошибка, требующая обработки (pending error) для данного сокета. Процесс может быть немедленно оповещен об ошибке одним из двух способов:

1. Если процесс блокируется в вызове функции select (см. раздел 6.3), ожидая готовности данного сокета к чтению или записи, функция select возвращает управление и уведомляет процесс о соответствующем состоянии готовности.

2. Если процесс использует управляемый сигналом ввод-вывод (см. главу 25), для него или для группы таких процессов генерируется сигнал SIGIO.

Процесс может получить значение переменной so_error, указав параметр сокета SO_ERROR. Целое значение, возвращаемое функцией getsockopt, является кодом ошибки, требующей обработки. Затем значение переменной so_error сбрасывается ядром в 0 [128, с. 547].

Если процесс вызывает функцию read и возвращаемых данных нет, а значение so_error ненулевое, то функция read возвращает -1 с errno, которой присвоено значение переменной so_error [128, с. 516]. Это значение so_error затем сбрасывается в 0. Если в очереди для сокета есть данные, эти данные возвращаются функцией read вместо кода ошибки. Если значение so_error ненулевое, то при вызове процессом функции write возвращается -1 с errno, равной значению переменной so_error [128, с. 495], а значение so_error сбрасывается в 0.

ПРИМЕЧАНИЕ

В коде, показанном на с. 495 [128], есть ошибка: so_error не сбрасывается в 0. Она была выявлена в реализации BSD/OS. Всегда, когда для сокета возвращается ошибка, требующая обработки, so_error должна быть сброшена в 0.

Здесь вы впервые встречаетесь с параметром сокета, который можно получить, но нельзя установить.

Данный текст является ознакомительным фрагментом.

Читайте также

Параметр сокета IP_HRDINCL

Параметр сокета IP_HRDINCL
Если этот параметр задан для символьного сокета IP (см. главу 28), нам следует создать наш собственный заголовок IP для всех дейтаграмм, которые мы отправляем через символьный сокет. Обычно ядро создает заголовок IP для дейтаграмм, отправляемых через

Параметр сокета IP_OPTIONS

Параметр сокета IP_OPTIONS
Установка этого параметра позволяет нам задавать параметры IP в заголовке IPv4. Это требует точного знания формата параметров IP в заголовке IP. Мы рассмотрим этот параметр в контексте маршрутизации от отправителя IPv4 в разделе

Параметр сокета IP_RECVDSTADDR

Параметр сокета IP_RECVDSTADDR
Этот параметр сокета заставляет функцию recvmsg возвращать IP-адрес получателя в получаемой дейтаграмме UDP в качестве вспомогательных данных. Пример использования этого параметра мы приводим в разделе

Параметр сокета IP_RECVIF

Параметр сокета IP_RECVIF
Этот параметр сокета заставляет функцию recvmsg возвращать индекс интерфейса, на котором принимается дейтаграмма UDP, в качестве вспомогательных данных. Пример использования этого параметра мы приводим в разделе

Параметр сокета IP_TOS

Параметр сокета IP_TOS
Этот параметр позволяет нам устанавливать поле тип службы (тип сервиса) (TOS, type-of-service) (рис. А.1) в заголовке IP для сокета TCP или UDP. Если мы вызываем для этого сокета функцию getsockopt, возвращается текущее значение, которое будет помещено в поля DSCP и ECN

Параметр сокета IP_TTL

Параметр сокета IP_TTL
С помощью этого параметра мы можем устанавливать и получать заданное по умолчанию значение TTL (time-to-live field — поле времени жизни, рис. А.1), которое система будет использовать для данного сокета. (TTL для многоадресной передачи устанавливается при помощи

7.7. Параметр сокета ICMPv6

7.7. Параметр сокета ICMPv6
Единственный параметр сокета, обрабатываемый ICMPv6, имеет аргумент level, равный

Параметр сокета ICMP6_FILTER

Параметр сокета ICMP6_FILTER
Этот параметр позволяет нам получать и устанавливать структуру icmp6_filter, которая определяет, какие из 256 возможных типов сообщений ICMPv6 передаются для обработки на символьный сокет. Мы обсудим этот параметр в разделе

Параметр сокета IPV6_CHECKSUM

Параметр сокета IPV6_CHECKSUM
Этот параметр сокета задает байтовое смещение поля контрольной суммы внутри данных пользователя. Если значение неотрицательное, ядро, во-первых, вычисляет и хранит контрольную сумму для всех исходящих пакетов и, во-вторых, проверяет полученную

Параметр сокета IPV6_DONTFRAG

Параметр сокета IPV6_DONTFRAG
Установка этого параметра запрещает автоматическое включение заголовка фрагментации для UDP и символьных сокетов. При этом исходящие пакеты, размер которых превышает MTU исходящего интерфейса, просто сбрасываются. Системный вызов ошибку не

Параметр сокета IPV6_NEXTHOP

Параметр сокета IPV6_NEXTHOP
Этот параметр задает адрес следующего транзитного узла для дейтаграммы в виде структуры адреса сокета. Подробнее о нем рассказывается в разделе

Параметр сокета IPV6_PATHMTU

Параметр сокета IPV6_PATHMTU
Этот параметр может быть только получен, но не установлен. При его считывании система возвращает текущее значение маршрутной MTU, определенное соответствующим методом (см. раздел

Параметр сокета IPV6_RECVDSTOPTS

Параметр сокета IPV6_RECVDSTOPTS
Установка этого параметра означает, что любые полученные IPv6-параметры получателя должны быть возвращены в качестве вспомогательных данных функцией recvmsg. По умолчанию параметр отключен. Мы опишем функции, используемые для создания и обработки

Параметр сокета TCP_MAXSEG

Параметр сокета TCP_MAXSEG
Этот параметр сокета позволяет нам получать или устанавливать максимальный размер сегмента (maximum segment size, MSS) для соединения TCP. Возвращаемое значение — это количество данных, которые наш TCP будет отправлять на другой конец соединения. Часто это

Параметр сокета TCP_NODELAY

Параметр сокета TCP_NODELAY
Если этот параметр установлен, он отключает алгоритм Нагла (Nagle algorithm) (см. раздел 19.4 [111] и с. 858–859 [128]). По умолчанию этот алгоритм включен.Назначение алгоритма Нагла — сократить число небольших пакетов в глобальной сети. Согласно этому алгоритму,

Параметр сокета SCTP_ADAPTION_LAYER

Параметр сокета SCTP_ADAPTION_LAYER
При инициализации ассоциации любой собеседник может указать на наличие уровня-адаптора. Это указание должно представлять из себя 32-разрядное беззнаковое целое, которое может использоваться двумя приложениями для координации локального

I’m curious about the behavior of the SO_ERROR socket option used with getsockopt() after a successful socket operation

The Open Group specification:

SO_ERROR
Reports information about error status and clears it. This option shall store an int value.

Usually I see SO_ERROR used after a socket operation returns -1, but what happens if the previous socket operation succeeded (thus not returning -1). Does the getsockopt() call fail? Does it return 0 as the int value?

asked Apr 6, 2015 at 21:24

Joel Cunningham's user avatar

It’s ok for non-blocking connect, see connect(2)

The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or poll(2) for completion by selecting the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here, explaining the reason for the failure).

other is undefined.

answered Apr 16, 2015 at 13:49

origin's user avatar

It’s undefined. You should only call this option when you already know that there has been an error. Not as a means to discover whether there was one.

answered Apr 6, 2015 at 22:15

user207421's user avatar

I’ve learned more about SO_ERROR in Unix Networking Programmig Vol 1, it’s become clear to me. SO_ERROR is used to report asynchronous errors that are the result of events within the network stack and not synchronous errors that are the result of a library call (send/recv/connect). Synchronous results are reported via errno.

Calling getsockopt() with SO_ERROR after a library call returns -1 is incorrect from the POSIX implementation.

Learning of the non-blocking connect result via select is an example of discovering when the asynchronous result is ready (which can then be retrieved via SO_ERROR)

answered Sep 13, 2017 at 16:39

Joel Cunningham's user avatar

Bug #31233 Autoload Interceptor causing unexplained instability
Submitted: 2004-12-21 22:59 UTC Modified: 2005-03-12 01:00 UTC
From: smclean at gmail dot com Assigned:
Status: No Feedback Package: Scripting Engine problem
PHP Version: 5.0.3 OS: Linux
Private report: No CVE-ID: None

 [2004-12-21 22:59 UTC] smclean at gmail dot com

Description:
------------
Under special circumstances the autoload interceptor seems to cause instability. 

All instances of this crash I have been able to reproduce involve triggering the autoload interceptor by unserializing objects of undefined classes, with custom error handling configured.  By either disabling the error handling, the autoload interceptor, or not unserializing the object, the crash is prevented.  I titles this bug 'Autoload interceptor causing ...' because the crash always occurs within the autoload interceptor itself or soon after.

In the given example, the actual crash occurs when attempting to simply cast a GET variable to a bool and print it, but if you change the parameters of the test, the crash can occur in a multitude of other places, including within the autoload interceptor itself (this is the location of the crash when I originally discovered it, but the reproducing scripts I created caused it to crash elsewhere).  

I attempted to generate a gdb backtrace, but unfortunately --enable-debug seemed to prevent the crash from occuring.  I was able to duplicate this bug on three different Linux machines, each running php 5.0.3 on Slackware 10. 


Reproduce code:
---------------
Download the following tarball:

http://pio.longstair.com/misc/crash.tgz

Execute: 

tar zxvf crash.tgz
cd crash-2.0
php runme2.php

Explanation: 

runme2.php loads custom error handling and an autoload interceptor include.  It then attempts to unserialize a serialized undefined object, and print it out.  This succeeds, but the environment becomes unstable, and a simple boolean cast segfaults it.

runme1.php simply generates the serialized object string used in runme2.php


Expected result:
----------------
Normal program termination

Actual result:
--------------
Segmentation Violation

GDB:

Program received signal SIGSEGV, Segmentation fault.
zend_error (type=2056, format=0x21fd3500 <Address 0x21fd3500 out of bounds>)
    at /home/sean/instball/php-5.0.3/Zend/zend.c:985
985                                             if (Z_TYPE_P(retval) == IS_BOOL && Z_LVAL_P(retval) == 0) {


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2005-03-12 01:00 UTC] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

Fixes are available

DB2 Version 9.5 Fix Pack 3b for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 4  for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 4a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

APAR status

  • Closed as program error.

Error description

  • You may observe RUNSTATS with distribution statistics running
    slow on Sun UltraSPARC III, IIIi, III+, and IV systems. The
    problem is related to floating point conversion operations done
    in the algorithm that collects distribution statistics.  It is
    typically observable in tables with a large number of rows, for
    example 10 million rows.   In a DPF (Database Partitioning
    Feature) environment,  RUNSTATS executes on just one database
    partition, and it is the number of rows on that database
    partition that is of consideration.
    

Local fix

  • Use table sampling to reduce the number of rows processed by
    RUNSTATS.
    Reduce the number of columns for which to collect distribution
    statistics, for example, skipping columns with uniformly
    distributed data and/or columns that do not appear frequently in
    equality or range predicates.
    

Problem summary

  • You may observe RUNSTATS with distribution statistics running
    slow on Sun UltraSPARC III, IIIi, III+, and IV systems. The
    problem is related to floating point conversion operations done
    in the algorithm that collects distribution statistics. It is
    typically observable in tables with a large number of rows, for
    example 10 million rows. In a DPF (Database Partitioning
    Feature) environment, RUNSTATS executes on just one database
    partition, and it is the number of rows on that database
    partition that is of consideration
    

Problem conclusion

  • First Fixed in DB2 UDB Version 9.5, FixPak 3
    

Temporary fix

  • Use table sampling to reduce the number of rows processed by
    RUNSTATS.
    Reduce the number of columns for which to collect distribution
    statistics, for example, skipping columns with uniformly
    distributed data and/or columns that do not appear frequently in
    equality or range predicates
    

Comments

  • 
    

APAR Information

  • APAR number

    IZ31233

  • Reported component name

    DB2 EDE SOLARIS

  • Reported component ID

    5724N7602

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-09-04

  • Closed date

    2009-04-16

  • Last modified date

    2009-04-16

  • APAR is sysrouted FROM one or more of the following:

    IZ31182

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    DB2 EDE SOLARIS

  • Fixed component ID

    5724N7602

Applicable component levels

  • R950 PSY

       UP

[{«Line of Business»:{«code»:»LOB10″,»label»:»Data and AI»},»Business Unit»:{«code»:»BU058″,»label»:»IBM Infrastructure w/TPS»},»Product»:{«code»:»SSEPGG»,»label»:»DB2 for Linux- UNIX and Windows»},»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»950″}]

Document Information

Modified date:

04 October 2021

Bug 31233
jsp compile errors with Chinese Characters

Summary:

jsp compile errors with Chinese Characters

Status: RESOLVED
INVALID

Alias:

None

Product:

Tomcat 5

Classification:

Unclassified

Component:

Jasper

(show other bugs)

Version:

5.5.1

Hardware:

All
All

Importance:

P3
major
(vote)

Target Milestone:

Assignee:

Tomcat Developers Mailing List

URL:


Keywords:

Depends on:


Blocks:


Reported: 2004-09-15 04:31 UTC by steve shih
Modified: 2004-11-16 19:05 UTC
(History)

CC List:

0
users


Attachments

a simple jsp which contains a few chinese chars with UTF8 encoded


(373 bytes,
text/html)

2004-09-15 06:50 UTC,

steve shih

Details

another jsp which will cause compile error


(744 bytes,
text/plain)

2004-09-15 10:15 UTC,

steve shih

Details

test jsp on tomcat 5.0


(34.97 KB,
image/jpeg)

2004-09-15 16:06 UTC,

steve shih

Details

test jsp on tomcat 5.5 with default javaEncoding


(179.26 KB,
image/jpeg)

2004-09-15 16:08 UTC,

steve shih

Details

test jsp on tomcat 5.5 with javaEncoding set to ISO-8859-1


(36.17 KB,
image/jpeg)

2004-09-15 16:09 UTC,

steve shih

Details

View All

Add an attachment
(proposed patch, testcase, etc.)

Note
You need to
log in
before you can comment on or make changes to this bug.


#31233

closed


Cleanup/optimization


(fixed)

Reported by: Owned by: Jon Dufresne
Component: Database layer (models, ORM) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Change History (9)

Triage Stage: Unreviewed
Accepted
Owner: changed from nobody to Jon Dufresne
Status: new
assigned
Triage Stage: Accepted
Ready for checkin
Resolution: fixed
Status: assigned
closed

Note: See
TracTickets for help on using
tickets.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Sntp server communication error oki
  • Snowrunner тормозит как исправить
  • Snowrunner ошибка установки
  • Snowrunner ошибка при установке
  • Snowrunner ошибка при запуске приложения 0xc000007b

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии