You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unable to run trivial .fbt with test_type='Python' when using path to fbclient.dll of FB-3: either python crashes or get "Exception WindowsError: 'exception: access violation reading 0x00000010' ..." [PYFB53]
#70
0) install FB 2.5 and FB 3.0 on the same Windows host (hereafter: FB 2.5 was installed in C:\1INSTALL\FIREBIRD\fb25sC\ and listening port 3255; FB 3.0 was installed in C:\1INSTALL\FIREBIRD\fb30sS\ and listening port 3333; `PATH` variable contains first folder to FB3: PATH=C:\1INSTALL\FIREBIRD\fb30sS;D:\Python27\;D:\Python27\Scripts;D:\W2K\system32;D:\W2K; . . .)
1) create .fbt file, e.g. `core_4386.fbt`, and save it in the folder %fbt-repo-home%\tests\bugs\
File content:
{
'id': '',
'qmid': None,
'tracker_id': '',
'title': '',
'description': '',
'min_versions': '3.0',
'versions': [
{
'firebird_version': '3.0',
'platform': 'All',
'init_script':
"""
""",
'test_type': 'Python',
'test_script':'''c1=db_conn.cursor()
c1.execute("select sign(current_connection) as att from rdb$database");
printData(c1)
''',
'expected_stdout':
"""
ATT
-----------
1
""",
'substitutions':[('-.*','')]
}
]
}
// check that we indeed have folder to FB 2.5 client at the beginning of PATH list:
C:\FBTESTING\qa\fbt-repo>path
PATH=C:\1INSTALL\FIREBIRD\fb25sC\bin;C:\1INSTALL\FIREBIRD\fb30sS;D:\Python27\;D:\Python27\Scripts;D:\W2K\system32; . . .
// now run test which should check FB-3 instance but do connect using client of 2.5:
C:\FBTESTING\qa\fbt-repo>fbt_run -b C:\1INSTALL\FIREBIRD\fb30sS bugs.core_4386 -o localhost/3333
.
----------------------------------------------------------------------
Ran 1 tests in 0.781s
OK
// now restore PATH to previous value, so the first folder in it will be "C:\1INSTALL\FIREBIRD\fb30sS" -- i.e. to FB3 instance:
C:\FBTESTING\qa\fbt-repo>set path=%pbak%
Last action can finish with either exception followed by "OK"
Exception WindowsError: 'exception: access violation reading 0x00000010' in <bound method PreparedStatement.__del__ of <
fdb.fbcore.PreparedStatement object at 0x02308E90>> ignored
.
----------------------------------------------------------------------
Ran 1 tests in 0.906s
OK
-- or with Windows message about failed process (Python), and in that case test will not run at all.
Sometimes I get only empty output: neither exception from Python nor Windows abend message.
No any rows in firebird.log appear when this fault occur.
Attached files: screenshot and additional dumps that are specified in it.
PS.
`fbtest` was updated 07-JUN-2015, but I saw this error before.
Submitted by: @pavel-zotov
Attachments:
python-crash-screen-when-using-fbclient-of-fb3.png
python-crash-dumps-when-using-fbclient-of-fb3.zip
Steps to reproduce:
0) install FB 2.5 and FB 3.0 on the same Windows host (hereafter: FB 2.5 was installed in C:\1INSTALL\FIREBIRD\fb25sC\ and listening port 3255; FB 3.0 was installed in C:\1INSTALL\FIREBIRD\fb30sS\ and listening port 3333; `PATH` variable contains first folder to FB3: PATH=C:\1INSTALL\FIREBIRD\fb30sS;D:\Python27\;D:\Python27\Scripts;D:\W2K\system32;D:\W2K; . . .)
1) create .fbt file, e.g. `core_4386.fbt`, and save it in the folder %fbt-repo-home%\tests\bugs\
File content:
{
'id': '',
'qmid': None,
'tracker_id': '',
'title': '',
'description': '',
'min_versions': '3.0',
'versions': [
{
'firebird_version': '3.0',
'platform': 'All',
'init_script':
"""
""",
'test_type': 'Python',
'test_script':'''c1=db_conn.cursor()
c1.execute("select sign(current_connection) as att from rdb$database");
printData(c1)
''',
'expected_stdout':
"""
ATT
-----------
1
""",
'substitutions':[('-.*','')]
}
]
}
2) open cmd.exe window and do there:
C:\FBTESTING\qa\fbt-repo>set pbak=%path%
C:\FBTESTING\qa\fbt-repo>set p25=C:\1INSTALL\FIREBIRD\fb25sC\bin
C:\FBTESTING\qa\fbt-repo>set path=%p25%;%pbak%
// check that we indeed have folder to FB 2.5 client at the beginning of PATH list:
C:\FBTESTING\qa\fbt-repo>path
PATH=C:\1INSTALL\FIREBIRD\fb25sC\bin;C:\1INSTALL\FIREBIRD\fb30sS;D:\Python27\;D:\Python27\Scripts;D:\W2K\system32; . . .
// now run test which should check FB-3 instance but do connect using client of 2.5:
C:\FBTESTING\qa\fbt-repo>fbt_run -b C:\1INSTALL\FIREBIRD\fb30sS bugs.core_4386 -o localhost/3333
.
----------------------------------------------------------------------
Ran 1 tests in 0.781s
OK
// now restore PATH to previous value, so the first folder in it will be "C:\1INSTALL\FIREBIRD\fb30sS" -- i.e. to FB3 instance:
C:\FBTESTING\qa\fbt-repo>set path=%pbak%
C:\FBTESTING\qa\fbt-repo>path
PATH=C:\1INSTALL\FIREBIRD\fb30sS;D:\Python27\;D:\Python27\Scripts;D:\W2K\system32;D:\W2K; . . .
// and repeat fbt_run once more:
C:\FBTESTING\qa\fbt-repo>fbt_run -b C:\1INSTALL\FIREBIRD\fb30sS bugs.core_4386 -o localhost/3333
Last action can finish with either exception followed by "OK"
Exception WindowsError: 'exception: access violation reading 0x00000010' in <bound method PreparedStatement.__del__ of <
fdb.fbcore.PreparedStatement object at 0x02308E90>> ignored
.
----------------------------------------------------------------------
Ran 1 tests in 0.906s
OK
-- or with Windows message about failed process (Python), and in that case test will not run at all.
Sometimes I get only empty output: neither exception from Python nor Windows abend message.
No any rows in firebird.log appear when this fault occur.
Attached files: screenshot and additional dumps that are specified in it.
PS.
`fbtest` was updated 07-JUN-2015, but I saw this error before.
Config of FB3:
RemoteServicePort = 3333
AuthServer = Legacy_Auth, Srp, Win_Sspi
UserManager = Legacy_UserManager
AuthClient = Legacy_Auth
WireCrypt = Disabled
SharedCache = true
SharedDatabase = false
ExternalFileAccess = Full
Config of FB 2.5:
RemoteServicePort = 3255
DefaultDbCachePages = 256
ExternalFileAccess = Restrict C:\1INSTALL\FIREBIRD\fb25sC;C:\FBTESTING\qa\fbt-repo\tmp;C:\FBTESTING\OLTP2014
FileSystemCacheThreshold = 65536K
LockHashSlots = 22111
MaxUserTraceLogSize = 99999
The text was updated successfully, but these errors were encountered: